dnsv3

package
v1.36.11-2026011520535... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_extensions_clusters_dns_v3_dns_cluster_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type DnsCluster

type DnsCluster struct {

	// This value is the cluster’s DNS refresh rate. The value configured must be at least 1ms.
	// If this setting is not specified, the
	// value defaults to 5000ms.
	DnsRefreshRate *durationpb.Duration `protobuf:"bytes,3,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"`
	// This is the cluster’s DNS refresh rate when requests are failing. If this setting is
	// not specified, the failure refresh rate defaults to the DNS refresh rate.
	DnsFailureRefreshRate *DnsCluster_RefreshRate `` /* 128-byte string literal not displayed */
	// Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
	// cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
	// resolution.
	RespectDnsTtl bool `protobuf:"varint,5,opt,name=respect_dns_ttl,json=respectDnsTtl,proto3" json:"respect_dns_ttl,omitempty"`
	// DNS jitter causes the cluster to refresh DNS entries later by a random amount of time to avoid a
	// stampede of DNS requests. This value sets the upper bound (exclusive) for the random amount.
	// There will be no jitter if this value is omitted.
	DnsJitter *durationpb.Duration `protobuf:"bytes,6,opt,name=dns_jitter,json=dnsJitter,proto3" json:"dns_jitter,omitempty"`
	// DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
	// or any other DNS resolver types and the related parameters.
	// For example, an object of
	// :ref:`CaresDnsResolverConfig<envoy_v3_api_msg_extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig>`
	// can be packed into this “typed_dns_resolver_config“. This configuration replaces the
	// :ref:`Cluster.typed_dns_resolver_config<envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`
	// configuration which replaces :ref:`Cluster.dns_resolution_config<envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`.
	// During the transition period when
	// :ref:`DnsCluster.typed_dns_resolver_config<envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.typed_dns_resolver_config>`,
	// :ref:`Cluster.typed_dns_resolver_config<envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`,
	// and :ref:`Cluster.dns_resolution_config<envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
	// exist, Envoy will use
	// :ref:`DnsCluster.typed_dns_resolver_config<envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.typed_dns_resolver_config>`
	// and ignore
	// DNS resolver-related fields in :ref:`Cluster<envoy_v3_api_msg_config.cluster.v3.Cluster>` if the cluster is configured via the
	// :ref:`Cluster.cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` extension point with the
	// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>` extension type.
	// Otherwise, see  :ref:`Cluster.typed_dns_resolver_config<envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
	// [#extension-category: envoy.network.dns_resolver]
	TypedDnsResolverConfig *v3.TypedExtensionConfig `` /* 131-byte string literal not displayed */
	// The DNS IP address resolution policy. If this setting is not specified, the
	// value defaults to
	// :ref:`AUTO<envoy_v3_api_enum_value_extensions.clusters.common.dns.v3.DnsLookupFamily.AUTO>`.
	DnsLookupFamily v31.DnsLookupFamily `` /* 170-byte string literal not displayed */
	// If true, all returned addresses are considered to be associated with a single endpoint,
	// which maps to :ref:`logical DNS discovery <arch_overview_service_discovery_types_logical_dns>`
	// semantics. Otherwise, each address is considered to be a separate endpoint, which maps to
	// :ref:`strict DNS discovery <arch_overview_service_discovery_types_strict_dns>` semantics.
	AllAddressesInSingleEndpoint bool `` /* 152-byte string literal not displayed */
	// contains filtered or unexported fields
}

[#next-free-field: 10]

func (*DnsCluster) ClearDnsFailureRefreshRate

func (x *DnsCluster) ClearDnsFailureRefreshRate()

func (*DnsCluster) ClearDnsJitter

func (x *DnsCluster) ClearDnsJitter()

func (*DnsCluster) ClearDnsRefreshRate

func (x *DnsCluster) ClearDnsRefreshRate()

func (*DnsCluster) ClearTypedDnsResolverConfig

func (x *DnsCluster) ClearTypedDnsResolverConfig()

func (*DnsCluster) GetAllAddressesInSingleEndpoint

func (x *DnsCluster) GetAllAddressesInSingleEndpoint() bool

func (*DnsCluster) GetDnsFailureRefreshRate

func (x *DnsCluster) GetDnsFailureRefreshRate() *DnsCluster_RefreshRate

func (*DnsCluster) GetDnsJitter

func (x *DnsCluster) GetDnsJitter() *durationpb.Duration

func (*DnsCluster) GetDnsLookupFamily

func (x *DnsCluster) GetDnsLookupFamily() v31.DnsLookupFamily

func (*DnsCluster) GetDnsRefreshRate

func (x *DnsCluster) GetDnsRefreshRate() *durationpb.Duration

func (*DnsCluster) GetRespectDnsTtl

func (x *DnsCluster) GetRespectDnsTtl() bool

func (*DnsCluster) GetTypedDnsResolverConfig

func (x *DnsCluster) GetTypedDnsResolverConfig() *v3.TypedExtensionConfig

func (*DnsCluster) HasDnsFailureRefreshRate

func (x *DnsCluster) HasDnsFailureRefreshRate() bool

func (*DnsCluster) HasDnsJitter

func (x *DnsCluster) HasDnsJitter() bool

func (*DnsCluster) HasDnsRefreshRate

func (x *DnsCluster) HasDnsRefreshRate() bool

func (*DnsCluster) HasTypedDnsResolverConfig

func (x *DnsCluster) HasTypedDnsResolverConfig() bool

func (*DnsCluster) ProtoMessage

func (*DnsCluster) ProtoMessage()

func (*DnsCluster) ProtoReflect

func (x *DnsCluster) ProtoReflect() protoreflect.Message

func (*DnsCluster) Reset

func (x *DnsCluster) Reset()

func (*DnsCluster) SetAllAddressesInSingleEndpoint

func (x *DnsCluster) SetAllAddressesInSingleEndpoint(v bool)

func (*DnsCluster) SetDnsFailureRefreshRate

func (x *DnsCluster) SetDnsFailureRefreshRate(v *DnsCluster_RefreshRate)

func (*DnsCluster) SetDnsJitter

func (x *DnsCluster) SetDnsJitter(v *durationpb.Duration)

func (*DnsCluster) SetDnsLookupFamily

func (x *DnsCluster) SetDnsLookupFamily(v v31.DnsLookupFamily)

func (*DnsCluster) SetDnsRefreshRate

func (x *DnsCluster) SetDnsRefreshRate(v *durationpb.Duration)

func (*DnsCluster) SetRespectDnsTtl

func (x *DnsCluster) SetRespectDnsTtl(v bool)

func (*DnsCluster) SetTypedDnsResolverConfig

func (x *DnsCluster) SetTypedDnsResolverConfig(v *v3.TypedExtensionConfig)

func (*DnsCluster) String

func (x *DnsCluster) String() string

type DnsCluster_RefreshRate

type DnsCluster_RefreshRate struct {

	// Specifies the base interval between refreshes. This parameter is required and must be greater
	// than zero and less than
	// :ref:`max_interval <envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.RefreshRate.max_interval>`.
	BaseInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"`
	// Specifies the maximum interval between refreshes. This parameter is optional, but must be
	// greater than or equal to the
	// :ref:`base_interval <envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.RefreshRate.base_interval>`  if set. The default
	// is 10 times the :ref:`base_interval <envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.RefreshRate.base_interval>`.
	MaxInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"`
	// contains filtered or unexported fields
}

func (*DnsCluster_RefreshRate) ClearBaseInterval

func (x *DnsCluster_RefreshRate) ClearBaseInterval()

func (*DnsCluster_RefreshRate) ClearMaxInterval

func (x *DnsCluster_RefreshRate) ClearMaxInterval()

func (*DnsCluster_RefreshRate) GetBaseInterval

func (x *DnsCluster_RefreshRate) GetBaseInterval() *durationpb.Duration

func (*DnsCluster_RefreshRate) GetMaxInterval

func (x *DnsCluster_RefreshRate) GetMaxInterval() *durationpb.Duration

func (*DnsCluster_RefreshRate) HasBaseInterval

func (x *DnsCluster_RefreshRate) HasBaseInterval() bool

func (*DnsCluster_RefreshRate) HasMaxInterval

func (x *DnsCluster_RefreshRate) HasMaxInterval() bool

func (*DnsCluster_RefreshRate) ProtoMessage

func (*DnsCluster_RefreshRate) ProtoMessage()

func (*DnsCluster_RefreshRate) ProtoReflect

func (x *DnsCluster_RefreshRate) ProtoReflect() protoreflect.Message

func (*DnsCluster_RefreshRate) Reset

func (x *DnsCluster_RefreshRate) Reset()

func (*DnsCluster_RefreshRate) SetBaseInterval

func (x *DnsCluster_RefreshRate) SetBaseInterval(v *durationpb.Duration)

func (*DnsCluster_RefreshRate) SetMaxInterval

func (x *DnsCluster_RefreshRate) SetMaxInterval(v *durationpb.Duration)

func (*DnsCluster_RefreshRate) String

func (x *DnsCluster_RefreshRate) String() string

type DnsCluster_RefreshRate_builder

type DnsCluster_RefreshRate_builder struct {

	// Specifies the base interval between refreshes. This parameter is required and must be greater
	// than zero and less than
	// :ref:`max_interval <envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.RefreshRate.max_interval>`.
	BaseInterval *durationpb.Duration
	// Specifies the maximum interval between refreshes. This parameter is optional, but must be
	// greater than or equal to the
	// :ref:`base_interval <envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.RefreshRate.base_interval>`  if set. The default
	// is 10 times the :ref:`base_interval <envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.RefreshRate.base_interval>`.
	MaxInterval *durationpb.Duration
	// contains filtered or unexported fields
}

func (DnsCluster_RefreshRate_builder) Build

type DnsCluster_builder

type DnsCluster_builder struct {

	// This value is the cluster’s DNS refresh rate. The value configured must be at least 1ms.
	// If this setting is not specified, the
	// value defaults to 5000ms.
	DnsRefreshRate *durationpb.Duration
	// This is the cluster’s DNS refresh rate when requests are failing. If this setting is
	// not specified, the failure refresh rate defaults to the DNS refresh rate.
	DnsFailureRefreshRate *DnsCluster_RefreshRate
	// Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
	// cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
	// resolution.
	RespectDnsTtl bool
	// DNS jitter causes the cluster to refresh DNS entries later by a random amount of time to avoid a
	// stampede of DNS requests. This value sets the upper bound (exclusive) for the random amount.
	// There will be no jitter if this value is omitted.
	DnsJitter *durationpb.Duration
	// DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
	// or any other DNS resolver types and the related parameters.
	// For example, an object of
	// :ref:`CaresDnsResolverConfig<envoy_v3_api_msg_extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig>`
	// can be packed into this “typed_dns_resolver_config“. This configuration replaces the
	// :ref:`Cluster.typed_dns_resolver_config<envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`
	// configuration which replaces :ref:`Cluster.dns_resolution_config<envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`.
	// During the transition period when
	// :ref:`DnsCluster.typed_dns_resolver_config<envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.typed_dns_resolver_config>`,
	// :ref:`Cluster.typed_dns_resolver_config<envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`,
	// and :ref:`Cluster.dns_resolution_config<envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
	// exist, Envoy will use
	// :ref:`DnsCluster.typed_dns_resolver_config<envoy_v3_api_field_extensions.clusters.dns.v3.DnsCluster.typed_dns_resolver_config>`
	// and ignore
	// DNS resolver-related fields in :ref:`Cluster<envoy_v3_api_msg_config.cluster.v3.Cluster>` if the cluster is configured via the
	// :ref:`Cluster.cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` extension point with the
	// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>` extension type.
	// Otherwise, see  :ref:`Cluster.typed_dns_resolver_config<envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
	// [#extension-category: envoy.network.dns_resolver]
	TypedDnsResolverConfig *v3.TypedExtensionConfig
	// The DNS IP address resolution policy. If this setting is not specified, the
	// value defaults to
	// :ref:`AUTO<envoy_v3_api_enum_value_extensions.clusters.common.dns.v3.DnsLookupFamily.AUTO>`.
	DnsLookupFamily v31.DnsLookupFamily
	// If true, all returned addresses are considered to be associated with a single endpoint,
	// which maps to :ref:`logical DNS discovery <arch_overview_service_discovery_types_logical_dns>`
	// semantics. Otherwise, each address is considered to be a separate endpoint, which maps to
	// :ref:`strict DNS discovery <arch_overview_service_discovery_types_strict_dns>` semantics.
	AllAddressesInSingleEndpoint bool
	// contains filtered or unexported fields
}

func (DnsCluster_builder) Build

func (b0 DnsCluster_builder) Build() *DnsCluster

Source Files

  • dns_cluster.pb.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL