All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/extensions/clusters/dns/v3/dns_cluster.proto

// Protobuf Java Version: 3.25.1
package io.envoyproxy.envoy.extensions.clusters.dns.v3;

/**
 * 
 * [#next-free-field: 10]
 * 
* * Protobuf type {@code envoy.extensions.clusters.dns.v3.DnsCluster} */ public final class DnsCluster extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.extensions.clusters.dns.v3.DnsCluster) DnsClusterOrBuilder { private static final long serialVersionUID = 0L; // Use DnsCluster.newBuilder() to construct. private DnsCluster(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private DnsCluster() { dnsLookupFamily_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new DnsCluster(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.class, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.Builder.class); } public interface RefreshRateOrBuilder extends // @@protoc_insertion_point(interface_extends:envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate) com.google.protobuf.MessageOrBuilder { /** *
     * 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>`.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return Whether the baseInterval field is set. */ boolean hasBaseInterval(); /** *
     * 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>`.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return The baseInterval. */ com.google.protobuf.Duration getBaseInterval(); /** *
     * 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>`.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ com.google.protobuf.DurationOrBuilder getBaseIntervalOrBuilder(); /** *
     * 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>`.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return Whether the maxInterval field is set. */ boolean hasMaxInterval(); /** *
     * 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>`.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ com.google.protobuf.Duration getMaxInterval(); /** *
     * 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>`.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder(); } /** * Protobuf type {@code envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate} */ public static final class RefreshRate extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate) RefreshRateOrBuilder { private static final long serialVersionUID = 0L; // Use RefreshRate.newBuilder() to construct. private RefreshRate(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private RefreshRate() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new RefreshRate(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_RefreshRate_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_RefreshRate_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.class, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.Builder.class); } private int bitField0_; public static final int BASE_INTERVAL_FIELD_NUMBER = 1; private com.google.protobuf.Duration baseInterval_; /** *
     * 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>`.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return Whether the baseInterval field is set. */ @java.lang.Override public boolean hasBaseInterval() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * 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>`.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return The baseInterval. */ @java.lang.Override public com.google.protobuf.Duration getBaseInterval() { return baseInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : baseInterval_; } /** *
     * 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>`.
     * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getBaseIntervalOrBuilder() { return baseInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : baseInterval_; } public static final int MAX_INTERVAL_FIELD_NUMBER = 2; private com.google.protobuf.Duration maxInterval_; /** *
     * 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>`.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return Whether the maxInterval field is set. */ @java.lang.Override public boolean hasMaxInterval() { return ((bitField0_ & 0x00000002) != 0); } /** *
     * 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>`.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ @java.lang.Override public com.google.protobuf.Duration getMaxInterval() { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxInterval_; } /** *
     * 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>`.
     * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder() { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxInterval_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(1, getBaseInterval()); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(2, getMaxInterval()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getBaseInterval()); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getMaxInterval()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate)) { return super.equals(obj); } io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate other = (io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate) obj; if (hasBaseInterval() != other.hasBaseInterval()) return false; if (hasBaseInterval()) { if (!getBaseInterval() .equals(other.getBaseInterval())) return false; } if (hasMaxInterval() != other.hasMaxInterval()) return false; if (hasMaxInterval()) { if (!getMaxInterval() .equals(other.getMaxInterval())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasBaseInterval()) { hash = (37 * hash) + BASE_INTERVAL_FIELD_NUMBER; hash = (53 * hash) + getBaseInterval().hashCode(); } if (hasMaxInterval()) { hash = (37 * hash) + MAX_INTERVAL_FIELD_NUMBER; hash = (53 * hash) + getMaxInterval().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate) io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRateOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_RefreshRate_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_RefreshRate_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.class, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.Builder.class); } // Construct using io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getBaseIntervalFieldBuilder(); getMaxIntervalFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; baseInterval_ = null; if (baseIntervalBuilder_ != null) { baseIntervalBuilder_.dispose(); baseIntervalBuilder_ = null; } maxInterval_ = null; if (maxIntervalBuilder_ != null) { maxIntervalBuilder_.dispose(); maxIntervalBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_RefreshRate_descriptor; } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate getDefaultInstanceForType() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate build() { io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate buildPartial() { io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate result = new io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.baseInterval_ = baseIntervalBuilder_ == null ? baseInterval_ : baseIntervalBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.maxInterval_ = maxIntervalBuilder_ == null ? maxInterval_ : maxIntervalBuilder_.build(); to_bitField0_ |= 0x00000002; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate) { return mergeFrom((io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate other) { if (other == io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.getDefaultInstance()) return this; if (other.hasBaseInterval()) { mergeBaseInterval(other.getBaseInterval()); } if (other.hasMaxInterval()) { mergeMaxInterval(other.getMaxInterval()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { input.readMessage( getBaseIntervalFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000001; break; } // case 10 case 18: { input.readMessage( getMaxIntervalFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000002; break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private com.google.protobuf.Duration baseInterval_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> baseIntervalBuilder_; /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return Whether the baseInterval field is set. */ public boolean hasBaseInterval() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } * @return The baseInterval. */ public com.google.protobuf.Duration getBaseInterval() { if (baseIntervalBuilder_ == null) { return baseInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : baseInterval_; } else { return baseIntervalBuilder_.getMessage(); } } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ public Builder setBaseInterval(com.google.protobuf.Duration value) { if (baseIntervalBuilder_ == null) { if (value == null) { throw new NullPointerException(); } baseInterval_ = value; } else { baseIntervalBuilder_.setMessage(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ public Builder setBaseInterval( com.google.protobuf.Duration.Builder builderForValue) { if (baseIntervalBuilder_ == null) { baseInterval_ = builderForValue.build(); } else { baseIntervalBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ public Builder mergeBaseInterval(com.google.protobuf.Duration value) { if (baseIntervalBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && baseInterval_ != null && baseInterval_ != com.google.protobuf.Duration.getDefaultInstance()) { getBaseIntervalBuilder().mergeFrom(value); } else { baseInterval_ = value; } } else { baseIntervalBuilder_.mergeFrom(value); } if (baseInterval_ != null) { bitField0_ |= 0x00000001; onChanged(); } return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ public Builder clearBaseInterval() { bitField0_ = (bitField0_ & ~0x00000001); baseInterval_ = null; if (baseIntervalBuilder_ != null) { baseIntervalBuilder_.dispose(); baseIntervalBuilder_ = null; } onChanged(); return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ public com.google.protobuf.Duration.Builder getBaseIntervalBuilder() { bitField0_ |= 0x00000001; onChanged(); return getBaseIntervalFieldBuilder().getBuilder(); } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ public com.google.protobuf.DurationOrBuilder getBaseIntervalOrBuilder() { if (baseIntervalBuilder_ != null) { return baseIntervalBuilder_.getMessageOrBuilder(); } else { return baseInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : baseInterval_; } } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration base_interval = 1 [(.validate.rules) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getBaseIntervalFieldBuilder() { if (baseIntervalBuilder_ == null) { baseIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getBaseInterval(), getParentForChildren(), isClean()); baseInterval_ = null; } return baseIntervalBuilder_; } private com.google.protobuf.Duration maxInterval_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> maxIntervalBuilder_; /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return Whether the maxInterval field is set. */ public boolean hasMaxInterval() { return ((bitField0_ & 0x00000002) != 0); } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } * @return The maxInterval. */ public com.google.protobuf.Duration getMaxInterval() { if (maxIntervalBuilder_ == null) { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxInterval_; } else { return maxIntervalBuilder_.getMessage(); } } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ public Builder setMaxInterval(com.google.protobuf.Duration value) { if (maxIntervalBuilder_ == null) { if (value == null) { throw new NullPointerException(); } maxInterval_ = value; } else { maxIntervalBuilder_.setMessage(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ public Builder setMaxInterval( com.google.protobuf.Duration.Builder builderForValue) { if (maxIntervalBuilder_ == null) { maxInterval_ = builderForValue.build(); } else { maxIntervalBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ public Builder mergeMaxInterval(com.google.protobuf.Duration value) { if (maxIntervalBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && maxInterval_ != null && maxInterval_ != com.google.protobuf.Duration.getDefaultInstance()) { getMaxIntervalBuilder().mergeFrom(value); } else { maxInterval_ = value; } } else { maxIntervalBuilder_.mergeFrom(value); } if (maxInterval_ != null) { bitField0_ |= 0x00000002; onChanged(); } return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ public Builder clearMaxInterval() { bitField0_ = (bitField0_ & ~0x00000002); maxInterval_ = null; if (maxIntervalBuilder_ != null) { maxIntervalBuilder_.dispose(); maxIntervalBuilder_ = null; } onChanged(); return this; } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ public com.google.protobuf.Duration.Builder getMaxIntervalBuilder() { bitField0_ |= 0x00000002; onChanged(); return getMaxIntervalFieldBuilder().getBuilder(); } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ public com.google.protobuf.DurationOrBuilder getMaxIntervalOrBuilder() { if (maxIntervalBuilder_ != null) { return maxIntervalBuilder_.getMessageOrBuilder(); } else { return maxInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxInterval_; } } /** *
       * 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>`.
       * 
* * .google.protobuf.Duration max_interval = 2 [(.validate.rules) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getMaxIntervalFieldBuilder() { if (maxIntervalBuilder_ == null) { maxIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getMaxInterval(), getParentForChildren(), isClean()); maxInterval_ = null; } return maxIntervalBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate) } // @@protoc_insertion_point(class_scope:envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate) private static final io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate(); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RefreshRate parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private int bitField0_; public static final int DNS_REFRESH_RATE_FIELD_NUMBER = 3; private com.google.protobuf.Duration dnsRefreshRate_; /** *
   * 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) = { ... } * @return Whether the dnsRefreshRate field is set. */ @java.lang.Override public boolean hasDnsRefreshRate() { return ((bitField0_ & 0x00000001) != 0); } /** *
   * 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) = { ... } * @return The dnsRefreshRate. */ @java.lang.Override public com.google.protobuf.Duration getDnsRefreshRate() { return dnsRefreshRate_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsRefreshRate_; } /** *
   * 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) = { ... } */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder() { return dnsRefreshRate_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsRefreshRate_; } public static final int DNS_FAILURE_REFRESH_RATE_FIELD_NUMBER = 4; private io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dnsFailureRefreshRate_; /** *
   * 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; * @return Whether the dnsFailureRefreshRate field is set. */ @java.lang.Override public boolean hasDnsFailureRefreshRate() { return ((bitField0_ & 0x00000002) != 0); } /** *
   * 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; * @return The dnsFailureRefreshRate. */ @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate getDnsFailureRefreshRate() { return dnsFailureRefreshRate_ == null ? io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.getDefaultInstance() : dnsFailureRefreshRate_; } /** *
   * 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; */ @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRateOrBuilder getDnsFailureRefreshRateOrBuilder() { return dnsFailureRefreshRate_ == null ? io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.getDefaultInstance() : dnsFailureRefreshRate_; } public static final int RESPECT_DNS_TTL_FIELD_NUMBER = 5; private boolean respectDnsTtl_ = false; /** *
   * 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; * @return The respectDnsTtl. */ @java.lang.Override public boolean getRespectDnsTtl() { return respectDnsTtl_; } public static final int DNS_JITTER_FIELD_NUMBER = 6; private com.google.protobuf.Duration dnsJitter_; /** *
   * 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) = { ... } * @return Whether the dnsJitter field is set. */ @java.lang.Override public boolean hasDnsJitter() { return ((bitField0_ & 0x00000004) != 0); } /** *
   * 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) = { ... } * @return The dnsJitter. */ @java.lang.Override public com.google.protobuf.Duration getDnsJitter() { return dnsJitter_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsJitter_; } /** *
   * 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) = { ... } */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getDnsJitterOrBuilder() { return dnsJitter_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsJitter_; } public static final int TYPED_DNS_RESOLVER_CONFIG_FIELD_NUMBER = 7; private io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig typedDnsResolverConfig_; /** *
   * 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; * @return Whether the typedDnsResolverConfig field is set. */ @java.lang.Override public boolean hasTypedDnsResolverConfig() { return ((bitField0_ & 0x00000008) != 0); } /** *
   * 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; * @return The typedDnsResolverConfig. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getTypedDnsResolverConfig() { return typedDnsResolverConfig_ == null ? io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance() : typedDnsResolverConfig_; } /** *
   * 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; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getTypedDnsResolverConfigOrBuilder() { return typedDnsResolverConfig_ == null ? io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance() : typedDnsResolverConfig_; } public static final int DNS_LOOKUP_FAMILY_FIELD_NUMBER = 8; private int dnsLookupFamily_ = 0; /** *
   * 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; * @return The enum numeric value on the wire for dnsLookupFamily. */ @java.lang.Override public int getDnsLookupFamilyValue() { return dnsLookupFamily_; } /** *
   * 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; * @return The dnsLookupFamily. */ @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily getDnsLookupFamily() { io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily result = io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily.forNumber(dnsLookupFamily_); return result == null ? io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily.UNRECOGNIZED : result; } public static final int ALL_ADDRESSES_IN_SINGLE_ENDPOINT_FIELD_NUMBER = 9; private boolean allAddressesInSingleEndpoint_ = false; /** *
   * 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; * @return The allAddressesInSingleEndpoint. */ @java.lang.Override public boolean getAllAddressesInSingleEndpoint() { return allAddressesInSingleEndpoint_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(3, getDnsRefreshRate()); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(4, getDnsFailureRefreshRate()); } if (respectDnsTtl_ != false) { output.writeBool(5, respectDnsTtl_); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(6, getDnsJitter()); } if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(7, getTypedDnsResolverConfig()); } if (dnsLookupFamily_ != io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily.UNSPECIFIED.getNumber()) { output.writeEnum(8, dnsLookupFamily_); } if (allAddressesInSingleEndpoint_ != false) { output.writeBool(9, allAddressesInSingleEndpoint_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getDnsRefreshRate()); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getDnsFailureRefreshRate()); } if (respectDnsTtl_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(5, respectDnsTtl_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getDnsJitter()); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getTypedDnsResolverConfig()); } if (dnsLookupFamily_ != io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily.UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(8, dnsLookupFamily_); } if (allAddressesInSingleEndpoint_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(9, allAddressesInSingleEndpoint_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster)) { return super.equals(obj); } io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster other = (io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster) obj; if (hasDnsRefreshRate() != other.hasDnsRefreshRate()) return false; if (hasDnsRefreshRate()) { if (!getDnsRefreshRate() .equals(other.getDnsRefreshRate())) return false; } if (hasDnsFailureRefreshRate() != other.hasDnsFailureRefreshRate()) return false; if (hasDnsFailureRefreshRate()) { if (!getDnsFailureRefreshRate() .equals(other.getDnsFailureRefreshRate())) return false; } if (getRespectDnsTtl() != other.getRespectDnsTtl()) return false; if (hasDnsJitter() != other.hasDnsJitter()) return false; if (hasDnsJitter()) { if (!getDnsJitter() .equals(other.getDnsJitter())) return false; } if (hasTypedDnsResolverConfig() != other.hasTypedDnsResolverConfig()) return false; if (hasTypedDnsResolverConfig()) { if (!getTypedDnsResolverConfig() .equals(other.getTypedDnsResolverConfig())) return false; } if (dnsLookupFamily_ != other.dnsLookupFamily_) return false; if (getAllAddressesInSingleEndpoint() != other.getAllAddressesInSingleEndpoint()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasDnsRefreshRate()) { hash = (37 * hash) + DNS_REFRESH_RATE_FIELD_NUMBER; hash = (53 * hash) + getDnsRefreshRate().hashCode(); } if (hasDnsFailureRefreshRate()) { hash = (37 * hash) + DNS_FAILURE_REFRESH_RATE_FIELD_NUMBER; hash = (53 * hash) + getDnsFailureRefreshRate().hashCode(); } hash = (37 * hash) + RESPECT_DNS_TTL_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getRespectDnsTtl()); if (hasDnsJitter()) { hash = (37 * hash) + DNS_JITTER_FIELD_NUMBER; hash = (53 * hash) + getDnsJitter().hashCode(); } if (hasTypedDnsResolverConfig()) { hash = (37 * hash) + TYPED_DNS_RESOLVER_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getTypedDnsResolverConfig().hashCode(); } hash = (37 * hash) + DNS_LOOKUP_FAMILY_FIELD_NUMBER; hash = (53 * hash) + dnsLookupFamily_; hash = (37 * hash) + ALL_ADDRESSES_IN_SINGLE_ENDPOINT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getAllAddressesInSingleEndpoint()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   * [#next-free-field: 10]
   * 
* * Protobuf type {@code envoy.extensions.clusters.dns.v3.DnsCluster} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.extensions.clusters.dns.v3.DnsCluster) io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.class, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.Builder.class); } // Construct using io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getDnsRefreshRateFieldBuilder(); getDnsFailureRefreshRateFieldBuilder(); getDnsJitterFieldBuilder(); getTypedDnsResolverConfigFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; dnsRefreshRate_ = null; if (dnsRefreshRateBuilder_ != null) { dnsRefreshRateBuilder_.dispose(); dnsRefreshRateBuilder_ = null; } dnsFailureRefreshRate_ = null; if (dnsFailureRefreshRateBuilder_ != null) { dnsFailureRefreshRateBuilder_.dispose(); dnsFailureRefreshRateBuilder_ = null; } respectDnsTtl_ = false; dnsJitter_ = null; if (dnsJitterBuilder_ != null) { dnsJitterBuilder_.dispose(); dnsJitterBuilder_ = null; } typedDnsResolverConfig_ = null; if (typedDnsResolverConfigBuilder_ != null) { typedDnsResolverConfigBuilder_.dispose(); typedDnsResolverConfigBuilder_ = null; } dnsLookupFamily_ = 0; allAddressesInSingleEndpoint_ = false; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsClusterProto.internal_static_envoy_extensions_clusters_dns_v3_DnsCluster_descriptor; } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster getDefaultInstanceForType() { return io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster build() { io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster buildPartial() { io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster result = new io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.dnsRefreshRate_ = dnsRefreshRateBuilder_ == null ? dnsRefreshRate_ : dnsRefreshRateBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.dnsFailureRefreshRate_ = dnsFailureRefreshRateBuilder_ == null ? dnsFailureRefreshRate_ : dnsFailureRefreshRateBuilder_.build(); to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000004) != 0)) { result.respectDnsTtl_ = respectDnsTtl_; } if (((from_bitField0_ & 0x00000008) != 0)) { result.dnsJitter_ = dnsJitterBuilder_ == null ? dnsJitter_ : dnsJitterBuilder_.build(); to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000010) != 0)) { result.typedDnsResolverConfig_ = typedDnsResolverConfigBuilder_ == null ? typedDnsResolverConfig_ : typedDnsResolverConfigBuilder_.build(); to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00000020) != 0)) { result.dnsLookupFamily_ = dnsLookupFamily_; } if (((from_bitField0_ & 0x00000040) != 0)) { result.allAddressesInSingleEndpoint_ = allAddressesInSingleEndpoint_; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster) { return mergeFrom((io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster other) { if (other == io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.getDefaultInstance()) return this; if (other.hasDnsRefreshRate()) { mergeDnsRefreshRate(other.getDnsRefreshRate()); } if (other.hasDnsFailureRefreshRate()) { mergeDnsFailureRefreshRate(other.getDnsFailureRefreshRate()); } if (other.getRespectDnsTtl() != false) { setRespectDnsTtl(other.getRespectDnsTtl()); } if (other.hasDnsJitter()) { mergeDnsJitter(other.getDnsJitter()); } if (other.hasTypedDnsResolverConfig()) { mergeTypedDnsResolverConfig(other.getTypedDnsResolverConfig()); } if (other.dnsLookupFamily_ != 0) { setDnsLookupFamilyValue(other.getDnsLookupFamilyValue()); } if (other.getAllAddressesInSingleEndpoint() != false) { setAllAddressesInSingleEndpoint(other.getAllAddressesInSingleEndpoint()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 26: { input.readMessage( getDnsRefreshRateFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000001; break; } // case 26 case 34: { input.readMessage( getDnsFailureRefreshRateFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000002; break; } // case 34 case 40: { respectDnsTtl_ = input.readBool(); bitField0_ |= 0x00000004; break; } // case 40 case 50: { input.readMessage( getDnsJitterFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000008; break; } // case 50 case 58: { input.readMessage( getTypedDnsResolverConfigFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000010; break; } // case 58 case 64: { dnsLookupFamily_ = input.readEnum(); bitField0_ |= 0x00000020; break; } // case 64 case 72: { allAddressesInSingleEndpoint_ = input.readBool(); bitField0_ |= 0x00000040; break; } // case 72 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private com.google.protobuf.Duration dnsRefreshRate_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> dnsRefreshRateBuilder_; /** *
     * 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) = { ... } * @return Whether the dnsRefreshRate field is set. */ public boolean hasDnsRefreshRate() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * 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) = { ... } * @return The dnsRefreshRate. */ public com.google.protobuf.Duration getDnsRefreshRate() { if (dnsRefreshRateBuilder_ == null) { return dnsRefreshRate_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsRefreshRate_; } else { return dnsRefreshRateBuilder_.getMessage(); } } /** *
     * 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) = { ... } */ public Builder setDnsRefreshRate(com.google.protobuf.Duration value) { if (dnsRefreshRateBuilder_ == null) { if (value == null) { throw new NullPointerException(); } dnsRefreshRate_ = value; } else { dnsRefreshRateBuilder_.setMessage(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * 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) = { ... } */ public Builder setDnsRefreshRate( com.google.protobuf.Duration.Builder builderForValue) { if (dnsRefreshRateBuilder_ == null) { dnsRefreshRate_ = builderForValue.build(); } else { dnsRefreshRateBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * 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) = { ... } */ public Builder mergeDnsRefreshRate(com.google.protobuf.Duration value) { if (dnsRefreshRateBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && dnsRefreshRate_ != null && dnsRefreshRate_ != com.google.protobuf.Duration.getDefaultInstance()) { getDnsRefreshRateBuilder().mergeFrom(value); } else { dnsRefreshRate_ = value; } } else { dnsRefreshRateBuilder_.mergeFrom(value); } if (dnsRefreshRate_ != null) { bitField0_ |= 0x00000001; onChanged(); } return this; } /** *
     * 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) = { ... } */ public Builder clearDnsRefreshRate() { bitField0_ = (bitField0_ & ~0x00000001); dnsRefreshRate_ = null; if (dnsRefreshRateBuilder_ != null) { dnsRefreshRateBuilder_.dispose(); dnsRefreshRateBuilder_ = null; } onChanged(); return this; } /** *
     * 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) = { ... } */ public com.google.protobuf.Duration.Builder getDnsRefreshRateBuilder() { bitField0_ |= 0x00000001; onChanged(); return getDnsRefreshRateFieldBuilder().getBuilder(); } /** *
     * 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) = { ... } */ public com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder() { if (dnsRefreshRateBuilder_ != null) { return dnsRefreshRateBuilder_.getMessageOrBuilder(); } else { return dnsRefreshRate_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsRefreshRate_; } } /** *
     * 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) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getDnsRefreshRateFieldBuilder() { if (dnsRefreshRateBuilder_ == null) { dnsRefreshRateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getDnsRefreshRate(), getParentForChildren(), isClean()); dnsRefreshRate_ = null; } return dnsRefreshRateBuilder_; } private io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate dnsFailureRefreshRate_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.Builder, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRateOrBuilder> dnsFailureRefreshRateBuilder_; /** *
     * 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; * @return Whether the dnsFailureRefreshRate field is set. */ public boolean hasDnsFailureRefreshRate() { return ((bitField0_ & 0x00000002) != 0); } /** *
     * 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; * @return The dnsFailureRefreshRate. */ public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate getDnsFailureRefreshRate() { if (dnsFailureRefreshRateBuilder_ == null) { return dnsFailureRefreshRate_ == null ? io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.getDefaultInstance() : dnsFailureRefreshRate_; } else { return dnsFailureRefreshRateBuilder_.getMessage(); } } /** *
     * 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; */ public Builder setDnsFailureRefreshRate(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate value) { if (dnsFailureRefreshRateBuilder_ == null) { if (value == null) { throw new NullPointerException(); } dnsFailureRefreshRate_ = value; } else { dnsFailureRefreshRateBuilder_.setMessage(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     * 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; */ public Builder setDnsFailureRefreshRate( io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.Builder builderForValue) { if (dnsFailureRefreshRateBuilder_ == null) { dnsFailureRefreshRate_ = builderForValue.build(); } else { dnsFailureRefreshRateBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     * 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; */ public Builder mergeDnsFailureRefreshRate(io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate value) { if (dnsFailureRefreshRateBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && dnsFailureRefreshRate_ != null && dnsFailureRefreshRate_ != io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.getDefaultInstance()) { getDnsFailureRefreshRateBuilder().mergeFrom(value); } else { dnsFailureRefreshRate_ = value; } } else { dnsFailureRefreshRateBuilder_.mergeFrom(value); } if (dnsFailureRefreshRate_ != null) { bitField0_ |= 0x00000002; onChanged(); } return this; } /** *
     * 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; */ public Builder clearDnsFailureRefreshRate() { bitField0_ = (bitField0_ & ~0x00000002); dnsFailureRefreshRate_ = null; if (dnsFailureRefreshRateBuilder_ != null) { dnsFailureRefreshRateBuilder_.dispose(); dnsFailureRefreshRateBuilder_ = null; } onChanged(); return this; } /** *
     * 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; */ public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.Builder getDnsFailureRefreshRateBuilder() { bitField0_ |= 0x00000002; onChanged(); return getDnsFailureRefreshRateFieldBuilder().getBuilder(); } /** *
     * 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; */ public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRateOrBuilder getDnsFailureRefreshRateOrBuilder() { if (dnsFailureRefreshRateBuilder_ != null) { return dnsFailureRefreshRateBuilder_.getMessageOrBuilder(); } else { return dnsFailureRefreshRate_ == null ? io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.getDefaultInstance() : dnsFailureRefreshRate_; } } /** *
     * 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.Builder, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRateOrBuilder> getDnsFailureRefreshRateFieldBuilder() { if (dnsFailureRefreshRateBuilder_ == null) { dnsFailureRefreshRateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRate.Builder, io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster.RefreshRateOrBuilder>( getDnsFailureRefreshRate(), getParentForChildren(), isClean()); dnsFailureRefreshRate_ = null; } return dnsFailureRefreshRateBuilder_; } private boolean respectDnsTtl_ ; /** *
     * 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; * @return The respectDnsTtl. */ @java.lang.Override public boolean getRespectDnsTtl() { return respectDnsTtl_; } /** *
     * 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; * @param value The respectDnsTtl to set. * @return This builder for chaining. */ public Builder setRespectDnsTtl(boolean value) { respectDnsTtl_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * 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; * @return This builder for chaining. */ public Builder clearRespectDnsTtl() { bitField0_ = (bitField0_ & ~0x00000004); respectDnsTtl_ = false; onChanged(); return this; } private com.google.protobuf.Duration dnsJitter_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> dnsJitterBuilder_; /** *
     * 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) = { ... } * @return Whether the dnsJitter field is set. */ public boolean hasDnsJitter() { return ((bitField0_ & 0x00000008) != 0); } /** *
     * 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) = { ... } * @return The dnsJitter. */ public com.google.protobuf.Duration getDnsJitter() { if (dnsJitterBuilder_ == null) { return dnsJitter_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsJitter_; } else { return dnsJitterBuilder_.getMessage(); } } /** *
     * 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) = { ... } */ public Builder setDnsJitter(com.google.protobuf.Duration value) { if (dnsJitterBuilder_ == null) { if (value == null) { throw new NullPointerException(); } dnsJitter_ = value; } else { dnsJitterBuilder_.setMessage(value); } bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     * 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) = { ... } */ public Builder setDnsJitter( com.google.protobuf.Duration.Builder builderForValue) { if (dnsJitterBuilder_ == null) { dnsJitter_ = builderForValue.build(); } else { dnsJitterBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     * 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) = { ... } */ public Builder mergeDnsJitter(com.google.protobuf.Duration value) { if (dnsJitterBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0) && dnsJitter_ != null && dnsJitter_ != com.google.protobuf.Duration.getDefaultInstance()) { getDnsJitterBuilder().mergeFrom(value); } else { dnsJitter_ = value; } } else { dnsJitterBuilder_.mergeFrom(value); } if (dnsJitter_ != null) { bitField0_ |= 0x00000008; onChanged(); } return this; } /** *
     * 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) = { ... } */ public Builder clearDnsJitter() { bitField0_ = (bitField0_ & ~0x00000008); dnsJitter_ = null; if (dnsJitterBuilder_ != null) { dnsJitterBuilder_.dispose(); dnsJitterBuilder_ = null; } onChanged(); return this; } /** *
     * 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) = { ... } */ public com.google.protobuf.Duration.Builder getDnsJitterBuilder() { bitField0_ |= 0x00000008; onChanged(); return getDnsJitterFieldBuilder().getBuilder(); } /** *
     * 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) = { ... } */ public com.google.protobuf.DurationOrBuilder getDnsJitterOrBuilder() { if (dnsJitterBuilder_ != null) { return dnsJitterBuilder_.getMessageOrBuilder(); } else { return dnsJitter_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsJitter_; } } /** *
     * 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) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getDnsJitterFieldBuilder() { if (dnsJitterBuilder_ == null) { dnsJitterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getDnsJitter(), getParentForChildren(), isClean()); dnsJitter_ = null; } return dnsJitterBuilder_; } private io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig typedDnsResolverConfig_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder> typedDnsResolverConfigBuilder_; /** *
     * 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; * @return Whether the typedDnsResolverConfig field is set. */ public boolean hasTypedDnsResolverConfig() { return ((bitField0_ & 0x00000010) != 0); } /** *
     * 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; * @return The typedDnsResolverConfig. */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getTypedDnsResolverConfig() { if (typedDnsResolverConfigBuilder_ == null) { return typedDnsResolverConfig_ == null ? io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance() : typedDnsResolverConfig_; } else { return typedDnsResolverConfigBuilder_.getMessage(); } } /** *
     * 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; */ public Builder setTypedDnsResolverConfig(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig value) { if (typedDnsResolverConfigBuilder_ == null) { if (value == null) { throw new NullPointerException(); } typedDnsResolverConfig_ = value; } else { typedDnsResolverConfigBuilder_.setMessage(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * 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; */ public Builder setTypedDnsResolverConfig( io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder builderForValue) { if (typedDnsResolverConfigBuilder_ == null) { typedDnsResolverConfig_ = builderForValue.build(); } else { typedDnsResolverConfigBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * 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; */ public Builder mergeTypedDnsResolverConfig(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig value) { if (typedDnsResolverConfigBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0) && typedDnsResolverConfig_ != null && typedDnsResolverConfig_ != io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance()) { getTypedDnsResolverConfigBuilder().mergeFrom(value); } else { typedDnsResolverConfig_ = value; } } else { typedDnsResolverConfigBuilder_.mergeFrom(value); } if (typedDnsResolverConfig_ != null) { bitField0_ |= 0x00000010; onChanged(); } return this; } /** *
     * 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; */ public Builder clearTypedDnsResolverConfig() { bitField0_ = (bitField0_ & ~0x00000010); typedDnsResolverConfig_ = null; if (typedDnsResolverConfigBuilder_ != null) { typedDnsResolverConfigBuilder_.dispose(); typedDnsResolverConfigBuilder_ = null; } onChanged(); return this; } /** *
     * 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; */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder getTypedDnsResolverConfigBuilder() { bitField0_ |= 0x00000010; onChanged(); return getTypedDnsResolverConfigFieldBuilder().getBuilder(); } /** *
     * 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; */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getTypedDnsResolverConfigOrBuilder() { if (typedDnsResolverConfigBuilder_ != null) { return typedDnsResolverConfigBuilder_.getMessageOrBuilder(); } else { return typedDnsResolverConfig_ == null ? io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance() : typedDnsResolverConfig_; } } /** *
     * 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder> getTypedDnsResolverConfigFieldBuilder() { if (typedDnsResolverConfigBuilder_ == null) { typedDnsResolverConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder>( getTypedDnsResolverConfig(), getParentForChildren(), isClean()); typedDnsResolverConfig_ = null; } return typedDnsResolverConfigBuilder_; } private int dnsLookupFamily_ = 0; /** *
     * 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; * @return The enum numeric value on the wire for dnsLookupFamily. */ @java.lang.Override public int getDnsLookupFamilyValue() { return dnsLookupFamily_; } /** *
     * 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; * @param value The enum numeric value on the wire for dnsLookupFamily to set. * @return This builder for chaining. */ public Builder setDnsLookupFamilyValue(int value) { dnsLookupFamily_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * 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; * @return The dnsLookupFamily. */ @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily getDnsLookupFamily() { io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily result = io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily.forNumber(dnsLookupFamily_); return result == null ? io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily.UNRECOGNIZED : result; } /** *
     * 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; * @param value The dnsLookupFamily to set. * @return This builder for chaining. */ public Builder setDnsLookupFamily(io.envoyproxy.envoy.extensions.clusters.common.dns.v3.DnsLookupFamily value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000020; dnsLookupFamily_ = value.getNumber(); onChanged(); return this; } /** *
     * 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; * @return This builder for chaining. */ public Builder clearDnsLookupFamily() { bitField0_ = (bitField0_ & ~0x00000020); dnsLookupFamily_ = 0; onChanged(); return this; } private boolean allAddressesInSingleEndpoint_ ; /** *
     * 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; * @return The allAddressesInSingleEndpoint. */ @java.lang.Override public boolean getAllAddressesInSingleEndpoint() { return allAddressesInSingleEndpoint_; } /** *
     * 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; * @param value The allAddressesInSingleEndpoint to set. * @return This builder for chaining. */ public Builder setAllAddressesInSingleEndpoint(boolean value) { allAddressesInSingleEndpoint_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
     * 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; * @return This builder for chaining. */ public Builder clearAllAddressesInSingleEndpoint() { bitField0_ = (bitField0_ & ~0x00000040); allAddressesInSingleEndpoint_ = false; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.extensions.clusters.dns.v3.DnsCluster) } // @@protoc_insertion_point(class_scope:envoy.extensions.clusters.dns.v3.DnsCluster) private static final io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster(); } public static io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public DnsCluster parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.extensions.clusters.dns.v3.DnsCluster getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy