Class DnsCluster.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DnsClusterOrBuilder, Cloneable
Enclosing class:
DnsCluster

public static final class DnsCluster.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder> implements DnsClusterOrBuilder
 [#next-free-field: 10]
 
Protobuf type envoy.extensions.clusters.dns.v3.DnsCluster
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • clear

      public DnsCluster.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • getDefaultInstanceForType

      public DnsCluster getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public DnsCluster build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public DnsCluster buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      public DnsCluster.Builder clone()
      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • setField

      public DnsCluster.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • clearField

      public DnsCluster.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • clearOneof

      public DnsCluster.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • setRepeatedField

      public DnsCluster.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • addRepeatedField

      public DnsCluster.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • mergeFrom

      public DnsCluster.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DnsCluster.Builder>
    • mergeFrom

      public DnsCluster.Builder mergeFrom(DnsCluster other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • mergeFrom

      public DnsCluster.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DnsCluster.Builder>
      Throws:
      IOException
    • hasDnsRefreshRate

      public boolean hasDnsRefreshRate()
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
      Specified by:
      hasDnsRefreshRate in interface DnsClusterOrBuilder
      Returns:
      Whether the dnsRefreshRate field is set.
    • getDnsRefreshRate

      public com.google.protobuf.Duration getDnsRefreshRate()
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
      Specified by:
      getDnsRefreshRate in interface DnsClusterOrBuilder
      Returns:
      The dnsRefreshRate.
    • setDnsRefreshRate

      public DnsCluster.Builder setDnsRefreshRate(com.google.protobuf.Duration value)
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
    • setDnsRefreshRate

      public DnsCluster.Builder setDnsRefreshRate(com.google.protobuf.Duration.Builder builderForValue)
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
    • mergeDnsRefreshRate

      public DnsCluster.Builder mergeDnsRefreshRate(com.google.protobuf.Duration value)
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
    • clearDnsRefreshRate

      public DnsCluster.Builder clearDnsRefreshRate()
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
    • getDnsRefreshRateBuilder

      public com.google.protobuf.Duration.Builder getDnsRefreshRateBuilder()
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
    • getDnsRefreshRateOrBuilder

      public com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder()
       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.
       
      .google.protobuf.Duration dns_refresh_rate = 3 [(.validate.rules) = { ... }
      Specified by:
      getDnsRefreshRateOrBuilder in interface DnsClusterOrBuilder
    • hasDnsFailureRefreshRate

      public boolean hasDnsFailureRefreshRate()
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
      Specified by:
      hasDnsFailureRefreshRate in interface DnsClusterOrBuilder
      Returns:
      Whether the dnsFailureRefreshRate field is set.
    • getDnsFailureRefreshRate

      public DnsCluster.RefreshRate getDnsFailureRefreshRate()
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
      Specified by:
      getDnsFailureRefreshRate in interface DnsClusterOrBuilder
      Returns:
      The dnsFailureRefreshRate.
    • setDnsFailureRefreshRate

      public DnsCluster.Builder setDnsFailureRefreshRate(DnsCluster.RefreshRate value)
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
    • setDnsFailureRefreshRate

      public DnsCluster.Builder setDnsFailureRefreshRate(DnsCluster.RefreshRate.Builder builderForValue)
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
    • mergeDnsFailureRefreshRate

      public DnsCluster.Builder mergeDnsFailureRefreshRate(DnsCluster.RefreshRate value)
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
    • clearDnsFailureRefreshRate

      public DnsCluster.Builder clearDnsFailureRefreshRate()
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
    • getDnsFailureRefreshRateBuilder

      public DnsCluster.RefreshRate.Builder getDnsFailureRefreshRateBuilder()
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
    • getDnsFailureRefreshRateOrBuilder

      public DnsCluster.RefreshRateOrBuilder getDnsFailureRefreshRateOrBuilder()
       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.
       
      .envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dns_failure_refresh_rate = 4;
      Specified by:
      getDnsFailureRefreshRateOrBuilder in interface DnsClusterOrBuilder
    • getRespectDnsTtl

      public boolean getRespectDnsTtl()
       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.
       
      bool respect_dns_ttl = 5;
      Specified by:
      getRespectDnsTtl in interface DnsClusterOrBuilder
      Returns:
      The respectDnsTtl.
    • setRespectDnsTtl

      public DnsCluster.Builder setRespectDnsTtl(boolean value)
       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.
       
      bool respect_dns_ttl = 5;
      Parameters:
      value - The respectDnsTtl to set.
      Returns:
      This builder for chaining.
    • clearRespectDnsTtl

      public DnsCluster.Builder clearRespectDnsTtl()
       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.
       
      bool respect_dns_ttl = 5;
      Returns:
      This builder for chaining.
    • hasDnsJitter

      public boolean hasDnsJitter()
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
      Specified by:
      hasDnsJitter in interface DnsClusterOrBuilder
      Returns:
      Whether the dnsJitter field is set.
    • getDnsJitter

      public com.google.protobuf.Duration getDnsJitter()
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
      Specified by:
      getDnsJitter in interface DnsClusterOrBuilder
      Returns:
      The dnsJitter.
    • setDnsJitter

      public DnsCluster.Builder setDnsJitter(com.google.protobuf.Duration value)
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
    • setDnsJitter

      public DnsCluster.Builder setDnsJitter(com.google.protobuf.Duration.Builder builderForValue)
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
    • mergeDnsJitter

      public DnsCluster.Builder mergeDnsJitter(com.google.protobuf.Duration value)
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
    • clearDnsJitter

      public DnsCluster.Builder clearDnsJitter()
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
    • getDnsJitterBuilder

      public com.google.protobuf.Duration.Builder getDnsJitterBuilder()
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
    • getDnsJitterOrBuilder

      public com.google.protobuf.DurationOrBuilder getDnsJitterOrBuilder()
       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.
       
      .google.protobuf.Duration dns_jitter = 6 [(.validate.rules) = { ... }
      Specified by:
      getDnsJitterOrBuilder in interface DnsClusterOrBuilder
    • hasTypedDnsResolverConfig

      public boolean hasTypedDnsResolverConfig()
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
      Specified by:
      hasTypedDnsResolverConfig in interface DnsClusterOrBuilder
      Returns:
      Whether the typedDnsResolverConfig field is set.
    • getTypedDnsResolverConfig

      public TypedExtensionConfig getTypedDnsResolverConfig()
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
      Specified by:
      getTypedDnsResolverConfig in interface DnsClusterOrBuilder
      Returns:
      The typedDnsResolverConfig.
    • setTypedDnsResolverConfig

      public DnsCluster.Builder setTypedDnsResolverConfig(TypedExtensionConfig value)
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
    • setTypedDnsResolverConfig

      public DnsCluster.Builder setTypedDnsResolverConfig(TypedExtensionConfig.Builder builderForValue)
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
    • mergeTypedDnsResolverConfig

      public DnsCluster.Builder mergeTypedDnsResolverConfig(TypedExtensionConfig value)
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
    • clearTypedDnsResolverConfig

      public DnsCluster.Builder clearTypedDnsResolverConfig()
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
    • getTypedDnsResolverConfigBuilder

      public TypedExtensionConfig.Builder getTypedDnsResolverConfigBuilder()
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
    • getTypedDnsResolverConfigOrBuilder

      public TypedExtensionConfigOrBuilder getTypedDnsResolverConfigOrBuilder()
       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]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 7;
      Specified by:
      getTypedDnsResolverConfigOrBuilder in interface DnsClusterOrBuilder
    • getDnsLookupFamilyValue

      public int getDnsLookupFamilyValue()
       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>`.
       
      .envoy.extensions.clusters.common.dns.v3.DnsLookupFamily dns_lookup_family = 8;
      Specified by:
      getDnsLookupFamilyValue in interface DnsClusterOrBuilder
      Returns:
      The enum numeric value on the wire for dnsLookupFamily.
    • setDnsLookupFamilyValue

      public DnsCluster.Builder setDnsLookupFamilyValue(int value)
       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>`.
       
      .envoy.extensions.clusters.common.dns.v3.DnsLookupFamily dns_lookup_family = 8;
      Parameters:
      value - The enum numeric value on the wire for dnsLookupFamily to set.
      Returns:
      This builder for chaining.
    • getDnsLookupFamily

      public DnsLookupFamily getDnsLookupFamily()
       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>`.
       
      .envoy.extensions.clusters.common.dns.v3.DnsLookupFamily dns_lookup_family = 8;
      Specified by:
      getDnsLookupFamily in interface DnsClusterOrBuilder
      Returns:
      The dnsLookupFamily.
    • setDnsLookupFamily

      public DnsCluster.Builder setDnsLookupFamily(DnsLookupFamily value)
       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>`.
       
      .envoy.extensions.clusters.common.dns.v3.DnsLookupFamily dns_lookup_family = 8;
      Parameters:
      value - The dnsLookupFamily to set.
      Returns:
      This builder for chaining.
    • clearDnsLookupFamily

      public DnsCluster.Builder clearDnsLookupFamily()
       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>`.
       
      .envoy.extensions.clusters.common.dns.v3.DnsLookupFamily dns_lookup_family = 8;
      Returns:
      This builder for chaining.
    • getAllAddressesInSingleEndpoint

      public boolean getAllAddressesInSingleEndpoint()
       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.
       
      bool all_addresses_in_single_endpoint = 9;
      Specified by:
      getAllAddressesInSingleEndpoint in interface DnsClusterOrBuilder
      Returns:
      The allAddressesInSingleEndpoint.
    • setAllAddressesInSingleEndpoint

      public DnsCluster.Builder setAllAddressesInSingleEndpoint(boolean value)
       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.
       
      bool all_addresses_in_single_endpoint = 9;
      Parameters:
      value - The allAddressesInSingleEndpoint to set.
      Returns:
      This builder for chaining.
    • clearAllAddressesInSingleEndpoint

      public DnsCluster.Builder clearAllAddressesInSingleEndpoint()
       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.
       
      bool all_addresses_in_single_endpoint = 9;
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final DnsCluster.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>
    • mergeUnknownFields

      public final DnsCluster.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DnsCluster.Builder>