Class Cluster.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ClusterOrBuilder, Cloneable
    Enclosing class:
    Cluster

    public static final class Cluster.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<Cluster.Builder>
    implements ClusterOrBuilder
     Configuration for a single upstream cluster.
     [#next-free-field: 48]
     
    Protobuf type envoy.api.v2.Cluster
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.Builder>
      • internalGetMutableMapField

        protected com.google.protobuf.MapField internalGetMutableMapField​(int number)
        Overrides:
        internalGetMutableMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.Builder>
      • internalGetFieldAccessorTable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Cluster.Builder clearClusterDiscoveryType()
      • getTransportSocketMatchesList

        public List<Cluster.TransportSocketMatch> getTransportSocketMatchesList()
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        Specified by:
        getTransportSocketMatchesList in interface ClusterOrBuilder
      • getTransportSocketMatchesCount

        public int getTransportSocketMatchesCount()
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        Specified by:
        getTransportSocketMatchesCount in interface ClusterOrBuilder
      • getTransportSocketMatches

        public Cluster.TransportSocketMatch getTransportSocketMatches​(int index)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        Specified by:
        getTransportSocketMatches in interface ClusterOrBuilder
      • setTransportSocketMatches

        public Cluster.Builder setTransportSocketMatches​(int index,
                                                         Cluster.TransportSocketMatch value)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • setTransportSocketMatches

        public Cluster.Builder setTransportSocketMatches​(int index,
                                                         Cluster.TransportSocketMatch.Builder builderForValue)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • addTransportSocketMatches

        public Cluster.Builder addTransportSocketMatches​(Cluster.TransportSocketMatch value)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • addTransportSocketMatches

        public Cluster.Builder addTransportSocketMatches​(int index,
                                                         Cluster.TransportSocketMatch value)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • addTransportSocketMatches

        public Cluster.Builder addTransportSocketMatches​(Cluster.TransportSocketMatch.Builder builderForValue)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • addTransportSocketMatches

        public Cluster.Builder addTransportSocketMatches​(int index,
                                                         Cluster.TransportSocketMatch.Builder builderForValue)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • addAllTransportSocketMatches

        public Cluster.Builder addAllTransportSocketMatches​(Iterable<? extends Cluster.TransportSocketMatch> values)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • clearTransportSocketMatches

        public Cluster.Builder clearTransportSocketMatches()
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • removeTransportSocketMatches

        public Cluster.Builder removeTransportSocketMatches​(int index)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • getTransportSocketMatchesBuilder

        public Cluster.TransportSocketMatch.Builder getTransportSocketMatchesBuilder​(int index)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • getTransportSocketMatchesOrBuilder

        public Cluster.TransportSocketMatchOrBuilder getTransportSocketMatchesOrBuilder​(int index)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        Specified by:
        getTransportSocketMatchesOrBuilder in interface ClusterOrBuilder
      • getTransportSocketMatchesOrBuilderList

        public List<? extends Cluster.TransportSocketMatchOrBuilder> getTransportSocketMatchesOrBuilderList()
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        Specified by:
        getTransportSocketMatchesOrBuilderList in interface ClusterOrBuilder
      • addTransportSocketMatchesBuilder

        public Cluster.TransportSocketMatch.Builder addTransportSocketMatchesBuilder()
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • addTransportSocketMatchesBuilder

        public Cluster.TransportSocketMatch.Builder addTransportSocketMatchesBuilder​(int index)
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • getTransportSocketMatchesBuilderList

        public List<Cluster.TransportSocketMatch.Builder> getTransportSocketMatchesBuilderList()
         Configuration to use different transport sockets for different endpoints.
         The entry of *envoy.transport_socket_match* in the
         :ref:`LbEndpoint.Metadata <envoy_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
      • getName

        public String getName()
         Supplies the name of the cluster which must be unique across all clusters.
         The cluster name is used when emitting
         :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
         <envoy_api_field_Cluster.alt_stat_name>` is not provided.
         Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getName in interface ClusterOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Supplies the name of the cluster which must be unique across all clusters.
         The cluster name is used when emitting
         :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
         <envoy_api_field_Cluster.alt_stat_name>` is not provided.
         Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getNameBytes in interface ClusterOrBuilder
        Returns:
        The bytes for name.
      • setName

        public Cluster.Builder setName​(String value)
         Supplies the name of the cluster which must be unique across all clusters.
         The cluster name is used when emitting
         :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
         <envoy_api_field_Cluster.alt_stat_name>` is not provided.
         Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
         
        string name = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public Cluster.Builder clearName()
         Supplies the name of the cluster which must be unique across all clusters.
         The cluster name is used when emitting
         :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
         <envoy_api_field_Cluster.alt_stat_name>` is not provided.
         Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
         
        string name = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setNameBytes

        public Cluster.Builder setNameBytes​(com.google.protobuf.ByteString value)
         Supplies the name of the cluster which must be unique across all clusters.
         The cluster name is used when emitting
         :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
         <envoy_api_field_Cluster.alt_stat_name>` is not provided.
         Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
         
        string name = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • getAltStatName

        public String getAltStatName()
         An optional alternative to the cluster name to be used while emitting stats.
         Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
         confused with :ref:`Router Filter Header
         <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
         
        string alt_stat_name = 28;
        Specified by:
        getAltStatName in interface ClusterOrBuilder
        Returns:
        The altStatName.
      • getAltStatNameBytes

        public com.google.protobuf.ByteString getAltStatNameBytes()
         An optional alternative to the cluster name to be used while emitting stats.
         Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
         confused with :ref:`Router Filter Header
         <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
         
        string alt_stat_name = 28;
        Specified by:
        getAltStatNameBytes in interface ClusterOrBuilder
        Returns:
        The bytes for altStatName.
      • setAltStatName

        public Cluster.Builder setAltStatName​(String value)
         An optional alternative to the cluster name to be used while emitting stats.
         Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
         confused with :ref:`Router Filter Header
         <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
         
        string alt_stat_name = 28;
        Parameters:
        value - The altStatName to set.
        Returns:
        This builder for chaining.
      • clearAltStatName

        public Cluster.Builder clearAltStatName()
         An optional alternative to the cluster name to be used while emitting stats.
         Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
         confused with :ref:`Router Filter Header
         <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
         
        string alt_stat_name = 28;
        Returns:
        This builder for chaining.
      • setAltStatNameBytes

        public Cluster.Builder setAltStatNameBytes​(com.google.protobuf.ByteString value)
         An optional alternative to the cluster name to be used while emitting stats.
         Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
         confused with :ref:`Router Filter Header
         <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
         
        string alt_stat_name = 28;
        Parameters:
        value - The bytes for altStatName to set.
        Returns:
        This builder for chaining.
      • hasType

        public boolean hasType()
         The :ref:`service discovery type <arch_overview_service_discovery_types>`
         to use for resolving the cluster.
         
        .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
        Specified by:
        hasType in interface ClusterOrBuilder
        Returns:
        Whether the type field is set.
      • getTypeValue

        public int getTypeValue()
         The :ref:`service discovery type <arch_overview_service_discovery_types>`
         to use for resolving the cluster.
         
        .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
        Specified by:
        getTypeValue in interface ClusterOrBuilder
        Returns:
        The enum numeric value on the wire for type.
      • setTypeValue

        public Cluster.Builder setTypeValue​(int value)
         The :ref:`service discovery type <arch_overview_service_discovery_types>`
         to use for resolving the cluster.
         
        .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
        Parameters:
        value - The enum numeric value on the wire for type to set.
        Returns:
        This builder for chaining.
      • getType

        public Cluster.DiscoveryType getType()
         The :ref:`service discovery type <arch_overview_service_discovery_types>`
         to use for resolving the cluster.
         
        .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
        Specified by:
        getType in interface ClusterOrBuilder
        Returns:
        The type.
      • setType

        public Cluster.Builder setType​(Cluster.DiscoveryType value)
         The :ref:`service discovery type <arch_overview_service_discovery_types>`
         to use for resolving the cluster.
         
        .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
        Parameters:
        value - The type to set.
        Returns:
        This builder for chaining.
      • clearType

        public Cluster.Builder clearType()
         The :ref:`service discovery type <arch_overview_service_discovery_types>`
         to use for resolving the cluster.
         
        .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • hasClusterType

        public boolean hasClusterType()
         The custom cluster type.
         
        .envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;
        Specified by:
        hasClusterType in interface ClusterOrBuilder
        Returns:
        Whether the clusterType field is set.
      • clearClusterType

        public Cluster.Builder clearClusterType()
         The custom cluster type.
         
        .envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;
      • getClusterTypeBuilder

        public Cluster.CustomClusterType.Builder getClusterTypeBuilder()
         The custom cluster type.
         
        .envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;
      • hasEdsClusterConfig

        public boolean hasEdsClusterConfig()
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
        Specified by:
        hasEdsClusterConfig in interface ClusterOrBuilder
        Returns:
        Whether the edsClusterConfig field is set.
      • setEdsClusterConfig

        public Cluster.Builder setEdsClusterConfig​(Cluster.EdsClusterConfig value)
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
      • setEdsClusterConfig

        public Cluster.Builder setEdsClusterConfig​(Cluster.EdsClusterConfig.Builder builderForValue)
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
      • mergeEdsClusterConfig

        public Cluster.Builder mergeEdsClusterConfig​(Cluster.EdsClusterConfig value)
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
      • clearEdsClusterConfig

        public Cluster.Builder clearEdsClusterConfig()
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
      • getEdsClusterConfigBuilder

        public Cluster.EdsClusterConfig.Builder getEdsClusterConfigBuilder()
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
      • hasConnectTimeout

        public boolean hasConnectTimeout()
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
        Specified by:
        hasConnectTimeout in interface ClusterOrBuilder
        Returns:
        Whether the connectTimeout field is set.
      • getConnectTimeout

        public com.google.protobuf.Duration getConnectTimeout()
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
        Specified by:
        getConnectTimeout in interface ClusterOrBuilder
        Returns:
        The connectTimeout.
      • setConnectTimeout

        public Cluster.Builder setConnectTimeout​(com.google.protobuf.Duration value)
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      • setConnectTimeout

        public Cluster.Builder setConnectTimeout​(com.google.protobuf.Duration.Builder builderForValue)
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      • mergeConnectTimeout

        public Cluster.Builder mergeConnectTimeout​(com.google.protobuf.Duration value)
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      • clearConnectTimeout

        public Cluster.Builder clearConnectTimeout()
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      • getConnectTimeoutBuilder

        public com.google.protobuf.Duration.Builder getConnectTimeoutBuilder()
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      • getConnectTimeoutOrBuilder

        public com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder()
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
        Specified by:
        getConnectTimeoutOrBuilder in interface ClusterOrBuilder
      • hasPerConnectionBufferLimitBytes

        public boolean hasPerConnectionBufferLimitBytes()
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
        Specified by:
        hasPerConnectionBufferLimitBytes in interface ClusterOrBuilder
        Returns:
        Whether the perConnectionBufferLimitBytes field is set.
      • getPerConnectionBufferLimitBytes

        public com.google.protobuf.UInt32Value getPerConnectionBufferLimitBytes()
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
        Specified by:
        getPerConnectionBufferLimitBytes in interface ClusterOrBuilder
        Returns:
        The perConnectionBufferLimitBytes.
      • setPerConnectionBufferLimitBytes

        public Cluster.Builder setPerConnectionBufferLimitBytes​(com.google.protobuf.UInt32Value value)
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
      • setPerConnectionBufferLimitBytes

        public Cluster.Builder setPerConnectionBufferLimitBytes​(com.google.protobuf.UInt32Value.Builder builderForValue)
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
      • mergePerConnectionBufferLimitBytes

        public Cluster.Builder mergePerConnectionBufferLimitBytes​(com.google.protobuf.UInt32Value value)
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
      • clearPerConnectionBufferLimitBytes

        public Cluster.Builder clearPerConnectionBufferLimitBytes()
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
      • getPerConnectionBufferLimitBytesBuilder

        public com.google.protobuf.UInt32Value.Builder getPerConnectionBufferLimitBytesBuilder()
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
      • getPerConnectionBufferLimitBytesOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder()
         Soft limit on size of the cluster’s connections read and write buffers. If
         unspecified, an implementation defined default is applied (1MiB).
         
        .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
        Specified by:
        getPerConnectionBufferLimitBytesOrBuilder in interface ClusterOrBuilder
      • getLbPolicyValue

        public int getLbPolicyValue()
         The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
         when picking a host in the cluster.
         
        .envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
        Specified by:
        getLbPolicyValue in interface ClusterOrBuilder
        Returns:
        The enum numeric value on the wire for lbPolicy.
      • setLbPolicyValue

        public Cluster.Builder setLbPolicyValue​(int value)
         The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
         when picking a host in the cluster.
         
        .envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
        Parameters:
        value - The enum numeric value on the wire for lbPolicy to set.
        Returns:
        This builder for chaining.
      • getLbPolicy

        public Cluster.LbPolicy getLbPolicy()
         The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
         when picking a host in the cluster.
         
        .envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
        Specified by:
        getLbPolicy in interface ClusterOrBuilder
        Returns:
        The lbPolicy.
      • setLbPolicy

        public Cluster.Builder setLbPolicy​(Cluster.LbPolicy value)
         The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
         when picking a host in the cluster.
         
        .envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
        Parameters:
        value - The lbPolicy to set.
        Returns:
        This builder for chaining.
      • clearLbPolicy

        public Cluster.Builder clearLbPolicy()
         The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
         when picking a host in the cluster.
         
        .envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • getHostsList

        @Deprecated
        public List<Address> getHostsList()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsList in interface ClusterOrBuilder
      • getHostsCount

        @Deprecated
        public int getHostsCount()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsCount in interface ClusterOrBuilder
      • getHosts

        @Deprecated
        public Address getHosts​(int index)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHosts in interface ClusterOrBuilder
      • setHosts

        @Deprecated
        public Cluster.Builder setHosts​(int index,
                                        Address value)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • setHosts

        @Deprecated
        public Cluster.Builder setHosts​(int index,
                                        Address.Builder builderForValue)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • addHosts

        @Deprecated
        public Cluster.Builder addHosts​(Address value)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • addHosts

        @Deprecated
        public Cluster.Builder addHosts​(int index,
                                        Address value)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • addHosts

        @Deprecated
        public Cluster.Builder addHosts​(Address.Builder builderForValue)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • addHosts

        @Deprecated
        public Cluster.Builder addHosts​(int index,
                                        Address.Builder builderForValue)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • addAllHosts

        @Deprecated
        public Cluster.Builder addAllHosts​(Iterable<? extends Address> values)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • clearHosts

        @Deprecated
        public Cluster.Builder clearHosts()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • removeHosts

        @Deprecated
        public Cluster.Builder removeHosts​(int index)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • getHostsBuilder

        @Deprecated
        public Address.Builder getHostsBuilder​(int index)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • getHostsOrBuilder

        @Deprecated
        public AddressOrBuilder getHostsOrBuilder​(int index)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsOrBuilder in interface ClusterOrBuilder
      • getHostsOrBuilderList

        @Deprecated
        public List<? extends AddressOrBuilder> getHostsOrBuilderList()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsOrBuilderList in interface ClusterOrBuilder
      • addHostsBuilder

        @Deprecated
        public Address.Builder addHostsBuilder()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • addHostsBuilder

        @Deprecated
        public Address.Builder addHostsBuilder​(int index)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • getHostsBuilderList

        @Deprecated
        public List<Address.Builder> getHostsBuilderList()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
      • hasLoadAssignment

        public boolean hasLoadAssignment()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
        Specified by:
        hasLoadAssignment in interface ClusterOrBuilder
        Returns:
        Whether the loadAssignment field is set.
      • getLoadAssignment

        public ClusterLoadAssignment getLoadAssignment()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
        Specified by:
        getLoadAssignment in interface ClusterOrBuilder
        Returns:
        The loadAssignment.
      • setLoadAssignment

        public Cluster.Builder setLoadAssignment​(ClusterLoadAssignment value)
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
      • setLoadAssignment

        public Cluster.Builder setLoadAssignment​(ClusterLoadAssignment.Builder builderForValue)
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
      • mergeLoadAssignment

        public Cluster.Builder mergeLoadAssignment​(ClusterLoadAssignment value)
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
      • clearLoadAssignment

        public Cluster.Builder clearLoadAssignment()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
      • getLoadAssignmentBuilder

        public ClusterLoadAssignment.Builder getLoadAssignmentBuilder()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
      • getLoadAssignmentOrBuilder

        public ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
        Specified by:
        getLoadAssignmentOrBuilder in interface ClusterOrBuilder
      • getHealthChecksList

        public List<HealthCheck> getHealthChecksList()
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
        Specified by:
        getHealthChecksList in interface ClusterOrBuilder
      • getHealthChecksCount

        public int getHealthChecksCount()
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
        Specified by:
        getHealthChecksCount in interface ClusterOrBuilder
      • getHealthChecks

        public HealthCheck getHealthChecks​(int index)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
        Specified by:
        getHealthChecks in interface ClusterOrBuilder
      • setHealthChecks

        public Cluster.Builder setHealthChecks​(int index,
                                               HealthCheck value)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • setHealthChecks

        public Cluster.Builder setHealthChecks​(int index,
                                               HealthCheck.Builder builderForValue)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • addHealthChecks

        public Cluster.Builder addHealthChecks​(HealthCheck value)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • addHealthChecks

        public Cluster.Builder addHealthChecks​(int index,
                                               HealthCheck value)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • addHealthChecks

        public Cluster.Builder addHealthChecks​(HealthCheck.Builder builderForValue)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • addHealthChecks

        public Cluster.Builder addHealthChecks​(int index,
                                               HealthCheck.Builder builderForValue)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • addAllHealthChecks

        public Cluster.Builder addAllHealthChecks​(Iterable<? extends HealthCheck> values)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • clearHealthChecks

        public Cluster.Builder clearHealthChecks()
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • removeHealthChecks

        public Cluster.Builder removeHealthChecks​(int index)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • getHealthChecksBuilder

        public HealthCheck.Builder getHealthChecksBuilder​(int index)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • getHealthChecksOrBuilder

        public HealthCheckOrBuilder getHealthChecksOrBuilder​(int index)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
        Specified by:
        getHealthChecksOrBuilder in interface ClusterOrBuilder
      • getHealthChecksOrBuilderList

        public List<? extends HealthCheckOrBuilder> getHealthChecksOrBuilderList()
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
        Specified by:
        getHealthChecksOrBuilderList in interface ClusterOrBuilder
      • addHealthChecksBuilder

        public HealthCheck.Builder addHealthChecksBuilder()
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • addHealthChecksBuilder

        public HealthCheck.Builder addHealthChecksBuilder​(int index)
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • getHealthChecksBuilderList

        public List<HealthCheck.Builder> getHealthChecksBuilderList()
         Optional :ref:`active health checking <arch_overview_health_checking>`
         configuration for the cluster. If no
         configuration is specified no health checking will be done and all cluster
         members will be considered healthy at all times.
         
        repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
      • hasMaxRequestsPerConnection

        public boolean hasMaxRequestsPerConnection()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
        Specified by:
        hasMaxRequestsPerConnection in interface ClusterOrBuilder
        Returns:
        Whether the maxRequestsPerConnection field is set.
      • getMaxRequestsPerConnection

        public com.google.protobuf.UInt32Value getMaxRequestsPerConnection()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
        Specified by:
        getMaxRequestsPerConnection in interface ClusterOrBuilder
        Returns:
        The maxRequestsPerConnection.
      • setMaxRequestsPerConnection

        public Cluster.Builder setMaxRequestsPerConnection​(com.google.protobuf.UInt32Value value)
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
      • setMaxRequestsPerConnection

        public Cluster.Builder setMaxRequestsPerConnection​(com.google.protobuf.UInt32Value.Builder builderForValue)
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
      • mergeMaxRequestsPerConnection

        public Cluster.Builder mergeMaxRequestsPerConnection​(com.google.protobuf.UInt32Value value)
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
      • clearMaxRequestsPerConnection

        public Cluster.Builder clearMaxRequestsPerConnection()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
      • getMaxRequestsPerConnectionBuilder

        public com.google.protobuf.UInt32Value.Builder getMaxRequestsPerConnectionBuilder()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
      • getMaxRequestsPerConnectionOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
        Specified by:
        getMaxRequestsPerConnectionOrBuilder in interface ClusterOrBuilder
      • hasCircuitBreakers

        public boolean hasCircuitBreakers()
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
        Specified by:
        hasCircuitBreakers in interface ClusterOrBuilder
        Returns:
        Whether the circuitBreakers field is set.
      • getCircuitBreakers

        public CircuitBreakers getCircuitBreakers()
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
        Specified by:
        getCircuitBreakers in interface ClusterOrBuilder
        Returns:
        The circuitBreakers.
      • setCircuitBreakers

        public Cluster.Builder setCircuitBreakers​(CircuitBreakers value)
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
      • setCircuitBreakers

        public Cluster.Builder setCircuitBreakers​(CircuitBreakers.Builder builderForValue)
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
      • mergeCircuitBreakers

        public Cluster.Builder mergeCircuitBreakers​(CircuitBreakers value)
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
      • clearCircuitBreakers

        public Cluster.Builder clearCircuitBreakers()
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
      • getCircuitBreakersBuilder

        public CircuitBreakers.Builder getCircuitBreakersBuilder()
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
      • hasTlsContext

        @Deprecated
        public boolean hasTlsContext()
        Deprecated.
        envoy.api.v2.Cluster.tls_context is deprecated. See envoy/api/v2/cluster.proto;l=607
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        hasTlsContext in interface ClusterOrBuilder
        Returns:
        Whether the tlsContext field is set.
      • getTlsContext

        @Deprecated
        public UpstreamTlsContext getTlsContext()
        Deprecated.
        envoy.api.v2.Cluster.tls_context is deprecated. See envoy/api/v2/cluster.proto;l=607
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getTlsContext in interface ClusterOrBuilder
        Returns:
        The tlsContext.
      • setTlsContext

        @Deprecated
        public Cluster.Builder setTlsContext​(UpstreamTlsContext value)
        Deprecated.
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • setTlsContext

        @Deprecated
        public Cluster.Builder setTlsContext​(UpstreamTlsContext.Builder builderForValue)
        Deprecated.
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • mergeTlsContext

        @Deprecated
        public Cluster.Builder mergeTlsContext​(UpstreamTlsContext value)
        Deprecated.
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • clearTlsContext

        @Deprecated
        public Cluster.Builder clearTlsContext()
        Deprecated.
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • getTlsContextBuilder

        @Deprecated
        public UpstreamTlsContext.Builder getTlsContextBuilder()
        Deprecated.
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • getTlsContextOrBuilder

        @Deprecated
        public UpstreamTlsContextOrBuilder getTlsContextOrBuilder()
        Deprecated.
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getTlsContextOrBuilder in interface ClusterOrBuilder
      • hasUpstreamHttpProtocolOptions

        public boolean hasUpstreamHttpProtocolOptions()
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
        Specified by:
        hasUpstreamHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the upstreamHttpProtocolOptions field is set.
      • getUpstreamHttpProtocolOptions

        public UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions()
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
        Specified by:
        getUpstreamHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        The upstreamHttpProtocolOptions.
      • setUpstreamHttpProtocolOptions

        public Cluster.Builder setUpstreamHttpProtocolOptions​(UpstreamHttpProtocolOptions value)
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
      • setUpstreamHttpProtocolOptions

        public Cluster.Builder setUpstreamHttpProtocolOptions​(UpstreamHttpProtocolOptions.Builder builderForValue)
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
      • mergeUpstreamHttpProtocolOptions

        public Cluster.Builder mergeUpstreamHttpProtocolOptions​(UpstreamHttpProtocolOptions value)
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
      • clearUpstreamHttpProtocolOptions

        public Cluster.Builder clearUpstreamHttpProtocolOptions()
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
      • getUpstreamHttpProtocolOptionsBuilder

        public UpstreamHttpProtocolOptions.Builder getUpstreamHttpProtocolOptionsBuilder()
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
      • hasCommonHttpProtocolOptions

        public boolean hasCommonHttpProtocolOptions()
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
        Specified by:
        hasCommonHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the commonHttpProtocolOptions field is set.
      • getCommonHttpProtocolOptions

        public HttpProtocolOptions getCommonHttpProtocolOptions()
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
        Specified by:
        getCommonHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        The commonHttpProtocolOptions.
      • setCommonHttpProtocolOptions

        public Cluster.Builder setCommonHttpProtocolOptions​(HttpProtocolOptions value)
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
      • setCommonHttpProtocolOptions

        public Cluster.Builder setCommonHttpProtocolOptions​(HttpProtocolOptions.Builder builderForValue)
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
      • mergeCommonHttpProtocolOptions

        public Cluster.Builder mergeCommonHttpProtocolOptions​(HttpProtocolOptions value)
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
      • clearCommonHttpProtocolOptions

        public Cluster.Builder clearCommonHttpProtocolOptions()
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
      • getCommonHttpProtocolOptionsBuilder

        public HttpProtocolOptions.Builder getCommonHttpProtocolOptionsBuilder()
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
      • hasHttpProtocolOptions

        public boolean hasHttpProtocolOptions()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
        Specified by:
        hasHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the httpProtocolOptions field is set.
      • getHttpProtocolOptions

        public Http1ProtocolOptions getHttpProtocolOptions()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
        Specified by:
        getHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        The httpProtocolOptions.
      • setHttpProtocolOptions

        public Cluster.Builder setHttpProtocolOptions​(Http1ProtocolOptions value)
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
      • setHttpProtocolOptions

        public Cluster.Builder setHttpProtocolOptions​(Http1ProtocolOptions.Builder builderForValue)
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
      • mergeHttpProtocolOptions

        public Cluster.Builder mergeHttpProtocolOptions​(Http1ProtocolOptions value)
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
      • clearHttpProtocolOptions

        public Cluster.Builder clearHttpProtocolOptions()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
      • getHttpProtocolOptionsBuilder

        public Http1ProtocolOptions.Builder getHttpProtocolOptionsBuilder()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
      • hasHttp2ProtocolOptions

        public boolean hasHttp2ProtocolOptions()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
        Specified by:
        hasHttp2ProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the http2ProtocolOptions field is set.
      • getHttp2ProtocolOptions

        public Http2ProtocolOptions getHttp2ProtocolOptions()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
        Specified by:
        getHttp2ProtocolOptions in interface ClusterOrBuilder
        Returns:
        The http2ProtocolOptions.
      • setHttp2ProtocolOptions

        public Cluster.Builder setHttp2ProtocolOptions​(Http2ProtocolOptions value)
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
      • setHttp2ProtocolOptions

        public Cluster.Builder setHttp2ProtocolOptions​(Http2ProtocolOptions.Builder builderForValue)
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
      • mergeHttp2ProtocolOptions

        public Cluster.Builder mergeHttp2ProtocolOptions​(Http2ProtocolOptions value)
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
      • clearHttp2ProtocolOptions

        public Cluster.Builder clearHttp2ProtocolOptions()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
      • getHttp2ProtocolOptionsBuilder

        public Http2ProtocolOptions.Builder getHttp2ProtocolOptionsBuilder()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
      • getHttp2ProtocolOptionsOrBuilder

        public Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
        Specified by:
        getHttp2ProtocolOptionsOrBuilder in interface ClusterOrBuilder
      • getExtensionProtocolOptionsCount

        @Deprecated
        public int getExtensionProtocolOptionsCount()
        Deprecated.
        Description copied from interface: ClusterOrBuilder
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsCount in interface ClusterOrBuilder
      • containsExtensionProtocolOptions

        @Deprecated
        public boolean containsExtensionProtocolOptions​(String key)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        containsExtensionProtocolOptions in interface ClusterOrBuilder
      • getExtensionProtocolOptionsMap

        @Deprecated
        public Map<String,​com.google.protobuf.Struct> getExtensionProtocolOptionsMap()
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsMap in interface ClusterOrBuilder
      • getExtensionProtocolOptionsOrDefault

        @Deprecated
        public com.google.protobuf.Struct getExtensionProtocolOptionsOrDefault​(String key,
                                                                               com.google.protobuf.Struct defaultValue)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsOrDefault in interface ClusterOrBuilder
      • getExtensionProtocolOptionsOrThrow

        @Deprecated
        public com.google.protobuf.Struct getExtensionProtocolOptionsOrThrow​(String key)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsOrThrow in interface ClusterOrBuilder
      • removeExtensionProtocolOptions

        @Deprecated
        public Cluster.Builder removeExtensionProtocolOptions​(String key)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • getMutableExtensionProtocolOptions

        @Deprecated
        public Map<String,​com.google.protobuf.Struct> getMutableExtensionProtocolOptions()
        Deprecated.
        Use alternate mutation accessors instead.
      • putExtensionProtocolOptions

        @Deprecated
        public Cluster.Builder putExtensionProtocolOptions​(String key,
                                                           com.google.protobuf.Struct value)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • putAllExtensionProtocolOptions

        @Deprecated
        public Cluster.Builder putAllExtensionProtocolOptions​(Map<String,​com.google.protobuf.Struct> values)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
      • getTypedExtensionProtocolOptionsCount

        public int getTypedExtensionProtocolOptionsCount()
        Description copied from interface: ClusterOrBuilder
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
        Specified by:
        getTypedExtensionProtocolOptionsCount in interface ClusterOrBuilder
      • containsTypedExtensionProtocolOptions

        public boolean containsTypedExtensionProtocolOptions​(String key)
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
        Specified by:
        containsTypedExtensionProtocolOptions in interface ClusterOrBuilder
      • getTypedExtensionProtocolOptionsMap

        public Map<String,​com.google.protobuf.Any> getTypedExtensionProtocolOptionsMap()
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
        Specified by:
        getTypedExtensionProtocolOptionsMap in interface ClusterOrBuilder
      • getTypedExtensionProtocolOptionsOrDefault

        public com.google.protobuf.Any getTypedExtensionProtocolOptionsOrDefault​(String key,
                                                                                 com.google.protobuf.Any defaultValue)
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
        Specified by:
        getTypedExtensionProtocolOptionsOrDefault in interface ClusterOrBuilder
      • getTypedExtensionProtocolOptionsOrThrow

        public com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow​(String key)
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
        Specified by:
        getTypedExtensionProtocolOptionsOrThrow in interface ClusterOrBuilder
      • clearTypedExtensionProtocolOptions

        public Cluster.Builder clearTypedExtensionProtocolOptions()
      • removeTypedExtensionProtocolOptions

        public Cluster.Builder removeTypedExtensionProtocolOptions​(String key)
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
      • getMutableTypedExtensionProtocolOptions

        @Deprecated
        public Map<String,​com.google.protobuf.Any> getMutableTypedExtensionProtocolOptions()
        Deprecated.
        Use alternate mutation accessors instead.
      • putTypedExtensionProtocolOptions

        public Cluster.Builder putTypedExtensionProtocolOptions​(String key,
                                                                com.google.protobuf.Any value)
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
      • putAllTypedExtensionProtocolOptions

        public Cluster.Builder putAllTypedExtensionProtocolOptions​(Map<String,​com.google.protobuf.Any> values)
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
      • hasDnsRefreshRate

        public boolean hasDnsRefreshRate()
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
        Specified by:
        hasDnsRefreshRate in interface ClusterOrBuilder
        Returns:
        Whether the dnsRefreshRate field is set.
      • getDnsRefreshRate

        public com.google.protobuf.Duration getDnsRefreshRate()
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
        Specified by:
        getDnsRefreshRate in interface ClusterOrBuilder
        Returns:
        The dnsRefreshRate.
      • setDnsRefreshRate

        public Cluster.Builder setDnsRefreshRate​(com.google.protobuf.Duration value)
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
      • setDnsRefreshRate

        public Cluster.Builder setDnsRefreshRate​(com.google.protobuf.Duration.Builder builderForValue)
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
      • mergeDnsRefreshRate

        public Cluster.Builder mergeDnsRefreshRate​(com.google.protobuf.Duration value)
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
      • clearDnsRefreshRate

        public Cluster.Builder clearDnsRefreshRate()
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
      • getDnsRefreshRateBuilder

        public com.google.protobuf.Duration.Builder getDnsRefreshRateBuilder()
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
      • getDnsRefreshRateOrBuilder

        public com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder()
         If the DNS refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as 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. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
        Specified by:
        getDnsRefreshRateOrBuilder in interface ClusterOrBuilder
      • hasDnsFailureRefreshRate

        public boolean hasDnsFailureRefreshRate()
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
        Specified by:
        hasDnsFailureRefreshRate in interface ClusterOrBuilder
        Returns:
        Whether the dnsFailureRefreshRate field is set.
      • getDnsFailureRefreshRate

        public Cluster.RefreshRate getDnsFailureRefreshRate()
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
        Specified by:
        getDnsFailureRefreshRate in interface ClusterOrBuilder
        Returns:
        The dnsFailureRefreshRate.
      • setDnsFailureRefreshRate

        public Cluster.Builder setDnsFailureRefreshRate​(Cluster.RefreshRate value)
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
      • setDnsFailureRefreshRate

        public Cluster.Builder setDnsFailureRefreshRate​(Cluster.RefreshRate.Builder builderForValue)
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
      • mergeDnsFailureRefreshRate

        public Cluster.Builder mergeDnsFailureRefreshRate​(Cluster.RefreshRate value)
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
      • clearDnsFailureRefreshRate

        public Cluster.Builder clearDnsFailureRefreshRate()
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
      • getDnsFailureRefreshRateBuilder

        public Cluster.RefreshRate.Builder getDnsFailureRefreshRateBuilder()
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
      • getDnsFailureRefreshRateOrBuilder

        public Cluster.RefreshRateOrBuilder getDnsFailureRefreshRateOrBuilder()
         If the DNS failure refresh rate is specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as 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. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
        Specified by:
        getDnsFailureRefreshRateOrBuilder in interface ClusterOrBuilder
      • getRespectDnsTtl

        public boolean getRespectDnsTtl()
         Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
         cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
         resolution.
         
        bool respect_dns_ttl = 39;
        Specified by:
        getRespectDnsTtl in interface ClusterOrBuilder
        Returns:
        The respectDnsTtl.
      • setRespectDnsTtl

        public Cluster.Builder setRespectDnsTtl​(boolean value)
         Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
         cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
         resolution.
         
        bool respect_dns_ttl = 39;
        Parameters:
        value - The respectDnsTtl to set.
        Returns:
        This builder for chaining.
      • clearRespectDnsTtl

        public Cluster.Builder clearRespectDnsTtl()
         Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
         cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
         resolution.
         
        bool respect_dns_ttl = 39;
        Returns:
        This builder for chaining.
      • getDnsLookupFamilyValue

        public int getDnsLookupFamilyValue()
         The DNS IP address resolution policy. If this setting is not specified, the
         value defaults to
         :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
        Specified by:
        getDnsLookupFamilyValue in interface ClusterOrBuilder
        Returns:
        The enum numeric value on the wire for dnsLookupFamily.
      • setDnsLookupFamilyValue

        public Cluster.Builder setDnsLookupFamilyValue​(int value)
         The DNS IP address resolution policy. If this setting is not specified, the
         value defaults to
         :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
        Parameters:
        value - The enum numeric value on the wire for dnsLookupFamily to set.
        Returns:
        This builder for chaining.
      • getDnsLookupFamily

        public Cluster.DnsLookupFamily getDnsLookupFamily()
         The DNS IP address resolution policy. If this setting is not specified, the
         value defaults to
         :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
        Specified by:
        getDnsLookupFamily in interface ClusterOrBuilder
        Returns:
        The dnsLookupFamily.
      • setDnsLookupFamily

        public Cluster.Builder setDnsLookupFamily​(Cluster.DnsLookupFamily value)
         The DNS IP address resolution policy. If this setting is not specified, the
         value defaults to
         :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
        Parameters:
        value - The dnsLookupFamily to set.
        Returns:
        This builder for chaining.
      • clearDnsLookupFamily

        public Cluster.Builder clearDnsLookupFamily()
         The DNS IP address resolution policy. If this setting is not specified, the
         value defaults to
         :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • getDnsResolversList

        public List<Address> getDnsResolversList()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversList in interface ClusterOrBuilder
      • getDnsResolversCount

        public int getDnsResolversCount()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversCount in interface ClusterOrBuilder
      • getDnsResolvers

        public Address getDnsResolvers​(int index)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolvers in interface ClusterOrBuilder
      • setDnsResolvers

        public Cluster.Builder setDnsResolvers​(int index,
                                               Address value)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • setDnsResolvers

        public Cluster.Builder setDnsResolvers​(int index,
                                               Address.Builder builderForValue)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • addDnsResolvers

        public Cluster.Builder addDnsResolvers​(Address value)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • addDnsResolvers

        public Cluster.Builder addDnsResolvers​(int index,
                                               Address value)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • addDnsResolvers

        public Cluster.Builder addDnsResolvers​(Address.Builder builderForValue)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • addDnsResolvers

        public Cluster.Builder addDnsResolvers​(int index,
                                               Address.Builder builderForValue)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • addAllDnsResolvers

        public Cluster.Builder addAllDnsResolvers​(Iterable<? extends Address> values)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • clearDnsResolvers

        public Cluster.Builder clearDnsResolvers()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • removeDnsResolvers

        public Cluster.Builder removeDnsResolvers​(int index)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • getDnsResolversBuilder

        public Address.Builder getDnsResolversBuilder​(int index)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • getDnsResolversOrBuilder

        public AddressOrBuilder getDnsResolversOrBuilder​(int index)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversOrBuilder in interface ClusterOrBuilder
      • getDnsResolversOrBuilderList

        public List<? extends AddressOrBuilder> getDnsResolversOrBuilderList()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversOrBuilderList in interface ClusterOrBuilder
      • addDnsResolversBuilder

        public Address.Builder addDnsResolversBuilder()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • addDnsResolversBuilder

        public Address.Builder addDnsResolversBuilder​(int index)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • getDnsResolversBuilderList

        public List<Address.Builder> getDnsResolversBuilderList()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
      • getUseTcpForDnsLookups

        public boolean getUseTcpForDnsLookups()
         [#next-major-version: Reconcile DNS options in a single message.]
         Always use TCP queries instead of UDP queries for DNS lookups.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple' API only uses UDP for DNS resolution.
         
        bool use_tcp_for_dns_lookups = 45;
        Specified by:
        getUseTcpForDnsLookups in interface ClusterOrBuilder
        Returns:
        The useTcpForDnsLookups.
      • setUseTcpForDnsLookups

        public Cluster.Builder setUseTcpForDnsLookups​(boolean value)
         [#next-major-version: Reconcile DNS options in a single message.]
         Always use TCP queries instead of UDP queries for DNS lookups.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple' API only uses UDP for DNS resolution.
         
        bool use_tcp_for_dns_lookups = 45;
        Parameters:
        value - The useTcpForDnsLookups to set.
        Returns:
        This builder for chaining.
      • clearUseTcpForDnsLookups

        public Cluster.Builder clearUseTcpForDnsLookups()
         [#next-major-version: Reconcile DNS options in a single message.]
         Always use TCP queries instead of UDP queries for DNS lookups.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple' API only uses UDP for DNS resolution.
         
        bool use_tcp_for_dns_lookups = 45;
        Returns:
        This builder for chaining.
      • hasOutlierDetection

        public boolean hasOutlierDetection()
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
        Specified by:
        hasOutlierDetection in interface ClusterOrBuilder
        Returns:
        Whether the outlierDetection field is set.
      • getOutlierDetection

        public OutlierDetection getOutlierDetection()
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
        Specified by:
        getOutlierDetection in interface ClusterOrBuilder
        Returns:
        The outlierDetection.
      • setOutlierDetection

        public Cluster.Builder setOutlierDetection​(OutlierDetection value)
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
      • setOutlierDetection

        public Cluster.Builder setOutlierDetection​(OutlierDetection.Builder builderForValue)
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
      • mergeOutlierDetection

        public Cluster.Builder mergeOutlierDetection​(OutlierDetection value)
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
      • clearOutlierDetection

        public Cluster.Builder clearOutlierDetection()
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
      • getOutlierDetectionBuilder

        public OutlierDetection.Builder getOutlierDetectionBuilder()
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
      • getOutlierDetectionOrBuilder

        public OutlierDetectionOrBuilder getOutlierDetectionOrBuilder()
         If specified, outlier detection will be enabled for this upstream cluster.
         Each of the configuration values can be overridden via
         :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
         
        .envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;
        Specified by:
        getOutlierDetectionOrBuilder in interface ClusterOrBuilder
      • hasCleanupInterval

        public boolean hasCleanupInterval()
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
        Specified by:
        hasCleanupInterval in interface ClusterOrBuilder
        Returns:
        Whether the cleanupInterval field is set.
      • getCleanupInterval

        public com.google.protobuf.Duration getCleanupInterval()
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
        Specified by:
        getCleanupInterval in interface ClusterOrBuilder
        Returns:
        The cleanupInterval.
      • setCleanupInterval

        public Cluster.Builder setCleanupInterval​(com.google.protobuf.Duration value)
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
      • setCleanupInterval

        public Cluster.Builder setCleanupInterval​(com.google.protobuf.Duration.Builder builderForValue)
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
      • mergeCleanupInterval

        public Cluster.Builder mergeCleanupInterval​(com.google.protobuf.Duration value)
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
      • clearCleanupInterval

        public Cluster.Builder clearCleanupInterval()
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
      • getCleanupIntervalBuilder

        public com.google.protobuf.Duration.Builder getCleanupIntervalBuilder()
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
      • getCleanupIntervalOrBuilder

        public com.google.protobuf.DurationOrBuilder getCleanupIntervalOrBuilder()
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
        Specified by:
        getCleanupIntervalOrBuilder in interface ClusterOrBuilder
      • hasUpstreamBindConfig

        public boolean hasUpstreamBindConfig()
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
        Specified by:
        hasUpstreamBindConfig in interface ClusterOrBuilder
        Returns:
        Whether the upstreamBindConfig field is set.
      • getUpstreamBindConfig

        public BindConfig getUpstreamBindConfig()
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
        Specified by:
        getUpstreamBindConfig in interface ClusterOrBuilder
        Returns:
        The upstreamBindConfig.
      • setUpstreamBindConfig

        public Cluster.Builder setUpstreamBindConfig​(BindConfig value)
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
      • setUpstreamBindConfig

        public Cluster.Builder setUpstreamBindConfig​(BindConfig.Builder builderForValue)
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
      • mergeUpstreamBindConfig

        public Cluster.Builder mergeUpstreamBindConfig​(BindConfig value)
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
      • clearUpstreamBindConfig

        public Cluster.Builder clearUpstreamBindConfig()
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
      • getUpstreamBindConfigBuilder

        public BindConfig.Builder getUpstreamBindConfigBuilder()
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
      • getUpstreamBindConfigOrBuilder

        public BindConfigOrBuilder getUpstreamBindConfigOrBuilder()
         Optional configuration used to bind newly established upstream connections.
         This overrides any bind_config specified in the bootstrap proto.
         If the address and port are empty, no bind will be performed.
         
        .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
        Specified by:
        getUpstreamBindConfigOrBuilder in interface ClusterOrBuilder
      • hasLbSubsetConfig

        public boolean hasLbSubsetConfig()
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
        Specified by:
        hasLbSubsetConfig in interface ClusterOrBuilder
        Returns:
        Whether the lbSubsetConfig field is set.
      • setLbSubsetConfig

        public Cluster.Builder setLbSubsetConfig​(Cluster.LbSubsetConfig value)
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
      • mergeLbSubsetConfig

        public Cluster.Builder mergeLbSubsetConfig​(Cluster.LbSubsetConfig value)
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
      • clearLbSubsetConfig

        public Cluster.Builder clearLbSubsetConfig()
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
      • getLbSubsetConfigBuilder

        public Cluster.LbSubsetConfig.Builder getLbSubsetConfigBuilder()
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
      • hasRingHashLbConfig

        public boolean hasRingHashLbConfig()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
        Specified by:
        hasRingHashLbConfig in interface ClusterOrBuilder
        Returns:
        Whether the ringHashLbConfig field is set.
      • getRingHashLbConfig

        public Cluster.RingHashLbConfig getRingHashLbConfig()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
        Specified by:
        getRingHashLbConfig in interface ClusterOrBuilder
        Returns:
        The ringHashLbConfig.
      • setRingHashLbConfig

        public Cluster.Builder setRingHashLbConfig​(Cluster.RingHashLbConfig value)
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • setRingHashLbConfig

        public Cluster.Builder setRingHashLbConfig​(Cluster.RingHashLbConfig.Builder builderForValue)
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • mergeRingHashLbConfig

        public Cluster.Builder mergeRingHashLbConfig​(Cluster.RingHashLbConfig value)
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • clearRingHashLbConfig

        public Cluster.Builder clearRingHashLbConfig()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • getRingHashLbConfigBuilder

        public Cluster.RingHashLbConfig.Builder getRingHashLbConfigBuilder()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • hasOriginalDstLbConfig

        public boolean hasOriginalDstLbConfig()
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
        Specified by:
        hasOriginalDstLbConfig in interface ClusterOrBuilder
        Returns:
        Whether the originalDstLbConfig field is set.
      • getOriginalDstLbConfig

        public Cluster.OriginalDstLbConfig getOriginalDstLbConfig()
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
        Specified by:
        getOriginalDstLbConfig in interface ClusterOrBuilder
        Returns:
        The originalDstLbConfig.
      • setOriginalDstLbConfig

        public Cluster.Builder setOriginalDstLbConfig​(Cluster.OriginalDstLbConfig value)
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      • setOriginalDstLbConfig

        public Cluster.Builder setOriginalDstLbConfig​(Cluster.OriginalDstLbConfig.Builder builderForValue)
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      • mergeOriginalDstLbConfig

        public Cluster.Builder mergeOriginalDstLbConfig​(Cluster.OriginalDstLbConfig value)
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      • clearOriginalDstLbConfig

        public Cluster.Builder clearOriginalDstLbConfig()
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      • getOriginalDstLbConfigBuilder

        public Cluster.OriginalDstLbConfig.Builder getOriginalDstLbConfigBuilder()
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      • hasLeastRequestLbConfig

        public boolean hasLeastRequestLbConfig()
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
        Specified by:
        hasLeastRequestLbConfig in interface ClusterOrBuilder
        Returns:
        Whether the leastRequestLbConfig field is set.
      • setLeastRequestLbConfig

        public Cluster.Builder setLeastRequestLbConfig​(Cluster.LeastRequestLbConfig value)
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • setLeastRequestLbConfig

        public Cluster.Builder setLeastRequestLbConfig​(Cluster.LeastRequestLbConfig.Builder builderForValue)
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • mergeLeastRequestLbConfig

        public Cluster.Builder mergeLeastRequestLbConfig​(Cluster.LeastRequestLbConfig value)
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • clearLeastRequestLbConfig

        public Cluster.Builder clearLeastRequestLbConfig()
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • getLeastRequestLbConfigBuilder

        public Cluster.LeastRequestLbConfig.Builder getLeastRequestLbConfigBuilder()
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • hasCommonLbConfig

        public boolean hasCommonLbConfig()
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
        Specified by:
        hasCommonLbConfig in interface ClusterOrBuilder
        Returns:
        Whether the commonLbConfig field is set.
      • getCommonLbConfig

        public Cluster.CommonLbConfig getCommonLbConfig()
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
        Specified by:
        getCommonLbConfig in interface ClusterOrBuilder
        Returns:
        The commonLbConfig.
      • setCommonLbConfig

        public Cluster.Builder setCommonLbConfig​(Cluster.CommonLbConfig value)
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
      • setCommonLbConfig

        public Cluster.Builder setCommonLbConfig​(Cluster.CommonLbConfig.Builder builderForValue)
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
      • mergeCommonLbConfig

        public Cluster.Builder mergeCommonLbConfig​(Cluster.CommonLbConfig value)
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
      • clearCommonLbConfig

        public Cluster.Builder clearCommonLbConfig()
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
      • getCommonLbConfigBuilder

        public Cluster.CommonLbConfig.Builder getCommonLbConfigBuilder()
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
      • hasTransportSocket

        public boolean hasTransportSocket()
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
        Specified by:
        hasTransportSocket in interface ClusterOrBuilder
        Returns:
        Whether the transportSocket field is set.
      • getTransportSocket

        public TransportSocket getTransportSocket()
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
        Specified by:
        getTransportSocket in interface ClusterOrBuilder
        Returns:
        The transportSocket.
      • setTransportSocket

        public Cluster.Builder setTransportSocket​(TransportSocket value)
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
      • setTransportSocket

        public Cluster.Builder setTransportSocket​(TransportSocket.Builder builderForValue)
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
      • mergeTransportSocket

        public Cluster.Builder mergeTransportSocket​(TransportSocket value)
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
      • clearTransportSocket

        public Cluster.Builder clearTransportSocket()
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
      • getTransportSocketBuilder

        public TransportSocket.Builder getTransportSocketBuilder()
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
      • getTransportSocketOrBuilder

        public TransportSocketOrBuilder getTransportSocketOrBuilder()
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
        Specified by:
        getTransportSocketOrBuilder in interface ClusterOrBuilder
      • hasMetadata

        public boolean hasMetadata()
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
        Specified by:
        hasMetadata in interface ClusterOrBuilder
        Returns:
        Whether the metadata field is set.
      • getMetadata

        public Metadata getMetadata()
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
        Specified by:
        getMetadata in interface ClusterOrBuilder
        Returns:
        The metadata.
      • setMetadata

        public Cluster.Builder setMetadata​(Metadata value)
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
      • setMetadata

        public Cluster.Builder setMetadata​(Metadata.Builder builderForValue)
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
      • mergeMetadata

        public Cluster.Builder mergeMetadata​(Metadata value)
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
      • clearMetadata

        public Cluster.Builder clearMetadata()
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
      • getMetadataBuilder

        public Metadata.Builder getMetadataBuilder()
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
      • getMetadataOrBuilder

        public MetadataOrBuilder getMetadataOrBuilder()
         The Metadata field can be used to provide additional information about the
         cluster. It can be used for stats, logging, and varying filter behavior.
         Fields should use reverse DNS notation to denote which entity within Envoy
         will need the information. For instance, if the metadata is intended for
         the Router filter, the filter name should be specified as *envoy.filters.http.router*.
         
        .envoy.api.v2.core.Metadata metadata = 25;
        Specified by:
        getMetadataOrBuilder in interface ClusterOrBuilder
      • getProtocolSelectionValue

        public int getProtocolSelectionValue()
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         
        .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
        Specified by:
        getProtocolSelectionValue in interface ClusterOrBuilder
        Returns:
        The enum numeric value on the wire for protocolSelection.
      • setProtocolSelectionValue

        public Cluster.Builder setProtocolSelectionValue​(int value)
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         
        .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
        Parameters:
        value - The enum numeric value on the wire for protocolSelection to set.
        Returns:
        This builder for chaining.
      • setProtocolSelection

        public Cluster.Builder setProtocolSelection​(Cluster.ClusterProtocolSelection value)
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         
        .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
        Parameters:
        value - The protocolSelection to set.
        Returns:
        This builder for chaining.
      • clearProtocolSelection

        public Cluster.Builder clearProtocolSelection()
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         
        .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
        Returns:
        This builder for chaining.
      • hasUpstreamConnectionOptions

        public boolean hasUpstreamConnectionOptions()
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
        Specified by:
        hasUpstreamConnectionOptions in interface ClusterOrBuilder
        Returns:
        Whether the upstreamConnectionOptions field is set.
      • setUpstreamConnectionOptions

        public Cluster.Builder setUpstreamConnectionOptions​(UpstreamConnectionOptions value)
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • setUpstreamConnectionOptions

        public Cluster.Builder setUpstreamConnectionOptions​(UpstreamConnectionOptions.Builder builderForValue)
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • mergeUpstreamConnectionOptions

        public Cluster.Builder mergeUpstreamConnectionOptions​(UpstreamConnectionOptions value)
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • clearUpstreamConnectionOptions

        public Cluster.Builder clearUpstreamConnectionOptions()
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • getUpstreamConnectionOptionsBuilder

        public UpstreamConnectionOptions.Builder getUpstreamConnectionOptionsBuilder()
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • getCloseConnectionsOnHostHealthFailure

        public boolean getCloseConnectionsOnHostHealthFailure()
         If an upstream host becomes unhealthy (as determined by the configured health checks
         or outlier detection), immediately close all connections to the failed host.
         .. note::
           This is currently only supported for connections created by tcp_proxy.
         .. note::
           The current implementation of this feature closes all connections immediately when
           the unhealthy status is detected. If there are a large number of connections open
           to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
           time exclusively closing these connections, and not processing any other traffic.
         
        bool close_connections_on_host_health_failure = 31;
        Specified by:
        getCloseConnectionsOnHostHealthFailure in interface ClusterOrBuilder
        Returns:
        The closeConnectionsOnHostHealthFailure.
      • setCloseConnectionsOnHostHealthFailure

        public Cluster.Builder setCloseConnectionsOnHostHealthFailure​(boolean value)
         If an upstream host becomes unhealthy (as determined by the configured health checks
         or outlier detection), immediately close all connections to the failed host.
         .. note::
           This is currently only supported for connections created by tcp_proxy.
         .. note::
           The current implementation of this feature closes all connections immediately when
           the unhealthy status is detected. If there are a large number of connections open
           to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
           time exclusively closing these connections, and not processing any other traffic.
         
        bool close_connections_on_host_health_failure = 31;
        Parameters:
        value - The closeConnectionsOnHostHealthFailure to set.
        Returns:
        This builder for chaining.
      • clearCloseConnectionsOnHostHealthFailure

        public Cluster.Builder clearCloseConnectionsOnHostHealthFailure()
         If an upstream host becomes unhealthy (as determined by the configured health checks
         or outlier detection), immediately close all connections to the failed host.
         .. note::
           This is currently only supported for connections created by tcp_proxy.
         .. note::
           The current implementation of this feature closes all connections immediately when
           the unhealthy status is detected. If there are a large number of connections open
           to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
           time exclusively closing these connections, and not processing any other traffic.
         
        bool close_connections_on_host_health_failure = 31;
        Returns:
        This builder for chaining.
      • getDrainConnectionsOnHostRemoval

        public boolean getDrainConnectionsOnHostRemoval()
         If set to true, Envoy will ignore the health value of a host when processing its removal
         from service discovery. This means that if active health checking is used, Envoy will *not*
         wait for the endpoint to go unhealthy before removing it.
         
        bool drain_connections_on_host_removal = 32 [(.udpa.annotations.field_migrate) = { ... }
        Specified by:
        getDrainConnectionsOnHostRemoval in interface ClusterOrBuilder
        Returns:
        The drainConnectionsOnHostRemoval.
      • setDrainConnectionsOnHostRemoval

        public Cluster.Builder setDrainConnectionsOnHostRemoval​(boolean value)
         If set to true, Envoy will ignore the health value of a host when processing its removal
         from service discovery. This means that if active health checking is used, Envoy will *not*
         wait for the endpoint to go unhealthy before removing it.
         
        bool drain_connections_on_host_removal = 32 [(.udpa.annotations.field_migrate) = { ... }
        Parameters:
        value - The drainConnectionsOnHostRemoval to set.
        Returns:
        This builder for chaining.
      • clearDrainConnectionsOnHostRemoval

        public Cluster.Builder clearDrainConnectionsOnHostRemoval()
         If set to true, Envoy will ignore the health value of a host when processing its removal
         from service discovery. This means that if active health checking is used, Envoy will *not*
         wait for the endpoint to go unhealthy before removing it.
         
        bool drain_connections_on_host_removal = 32 [(.udpa.annotations.field_migrate) = { ... }
        Returns:
        This builder for chaining.
      • getFiltersList

        public List<Filter> getFiltersList()
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
        Specified by:
        getFiltersList in interface ClusterOrBuilder
      • getFiltersCount

        public int getFiltersCount()
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
        Specified by:
        getFiltersCount in interface ClusterOrBuilder
      • getFilters

        public Filter getFilters​(int index)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
        Specified by:
        getFilters in interface ClusterOrBuilder
      • setFilters

        public Cluster.Builder setFilters​(int index,
                                          Filter value)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • setFilters

        public Cluster.Builder setFilters​(int index,
                                          Filter.Builder builderForValue)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • addFilters

        public Cluster.Builder addFilters​(Filter value)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • addFilters

        public Cluster.Builder addFilters​(int index,
                                          Filter value)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • addFilters

        public Cluster.Builder addFilters​(Filter.Builder builderForValue)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • addFilters

        public Cluster.Builder addFilters​(int index,
                                          Filter.Builder builderForValue)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • addAllFilters

        public Cluster.Builder addAllFilters​(Iterable<? extends Filter> values)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • clearFilters

        public Cluster.Builder clearFilters()
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • removeFilters

        public Cluster.Builder removeFilters​(int index)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • getFiltersBuilder

        public Filter.Builder getFiltersBuilder​(int index)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • getFiltersOrBuilder

        public FilterOrBuilder getFiltersOrBuilder​(int index)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
        Specified by:
        getFiltersOrBuilder in interface ClusterOrBuilder
      • getFiltersOrBuilderList

        public List<? extends FilterOrBuilder> getFiltersOrBuilderList()
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
        Specified by:
        getFiltersOrBuilderList in interface ClusterOrBuilder
      • addFiltersBuilder

        public Filter.Builder addFiltersBuilder()
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • addFiltersBuilder

        public Filter.Builder addFiltersBuilder​(int index)
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • getFiltersBuilderList

        public List<Filter.Builder> getFiltersBuilderList()
         An (optional) network filter chain, listed in the order the filters should be applied.
         The chain will be applied to all outgoing connections that Envoy makes to the upstream
         servers of this cluster.
         
        repeated .envoy.api.v2.cluster.Filter filters = 40;
      • hasLoadBalancingPolicy

        public boolean hasLoadBalancingPolicy()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
        Specified by:
        hasLoadBalancingPolicy in interface ClusterOrBuilder
        Returns:
        Whether the loadBalancingPolicy field is set.
      • getLoadBalancingPolicy

        public LoadBalancingPolicy getLoadBalancingPolicy()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
        Specified by:
        getLoadBalancingPolicy in interface ClusterOrBuilder
        Returns:
        The loadBalancingPolicy.
      • setLoadBalancingPolicy

        public Cluster.Builder setLoadBalancingPolicy​(LoadBalancingPolicy value)
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
      • setLoadBalancingPolicy

        public Cluster.Builder setLoadBalancingPolicy​(LoadBalancingPolicy.Builder builderForValue)
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
      • mergeLoadBalancingPolicy

        public Cluster.Builder mergeLoadBalancingPolicy​(LoadBalancingPolicy value)
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
      • clearLoadBalancingPolicy

        public Cluster.Builder clearLoadBalancingPolicy()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
      • getLoadBalancingPolicyBuilder

        public LoadBalancingPolicy.Builder getLoadBalancingPolicyBuilder()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
      • getLoadBalancingPolicyOrBuilder

        public LoadBalancingPolicyOrBuilder getLoadBalancingPolicyOrBuilder()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
        Specified by:
        getLoadBalancingPolicyOrBuilder in interface ClusterOrBuilder
      • hasLrsServer

        public boolean hasLrsServer()
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
        Specified by:
        hasLrsServer in interface ClusterOrBuilder
        Returns:
        Whether the lrsServer field is set.
      • getLrsServer

        public ConfigSource getLrsServer()
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
        Specified by:
        getLrsServer in interface ClusterOrBuilder
        Returns:
        The lrsServer.
      • setLrsServer

        public Cluster.Builder setLrsServer​(ConfigSource value)
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
      • setLrsServer

        public Cluster.Builder setLrsServer​(ConfigSource.Builder builderForValue)
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
      • mergeLrsServer

        public Cluster.Builder mergeLrsServer​(ConfigSource value)
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
      • clearLrsServer

        public Cluster.Builder clearLrsServer()
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
      • getLrsServerBuilder

        public ConfigSource.Builder getLrsServerBuilder()
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
      • getLrsServerOrBuilder

        public ConfigSourceOrBuilder getLrsServerOrBuilder()
         [#not-implemented-hide:]
         If present, tells the client where to send load reports via LRS. If not present, the
         client will fall back to a client-side default, which may be either (a) don't send any
         load reports or (b) send load reports for all clusters to a single default server
         (which may be configured in the bootstrap file).
         Note that if multiple clusters point to the same LRS server, the client may choose to
         create a separate stream for each cluster or it may choose to coalesce the data for
         multiple clusters onto a single stream. Either way, the client must make sure to send
         the data for any given cluster on no more than one stream.
         [#next-major-version: In the v3 API, we should consider restructuring this somehow,
         maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
         from the LRS stream here.]
         
        .envoy.api.v2.core.ConfigSource lrs_server = 42;
        Specified by:
        getLrsServerOrBuilder in interface ClusterOrBuilder
      • getTrackTimeoutBudgets

        public boolean getTrackTimeoutBudgets()
         If track_timeout_budgets is true, the :ref:`timeout budget histograms
         <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
         request. These show what percentage of a request's per try and global timeout was used. A value
         of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
         of 100 would indicate that the request took the entirety of the timeout given to it.
         
        bool track_timeout_budgets = 47;
        Specified by:
        getTrackTimeoutBudgets in interface ClusterOrBuilder
        Returns:
        The trackTimeoutBudgets.
      • setTrackTimeoutBudgets

        public Cluster.Builder setTrackTimeoutBudgets​(boolean value)
         If track_timeout_budgets is true, the :ref:`timeout budget histograms
         <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
         request. These show what percentage of a request's per try and global timeout was used. A value
         of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
         of 100 would indicate that the request took the entirety of the timeout given to it.
         
        bool track_timeout_budgets = 47;
        Parameters:
        value - The trackTimeoutBudgets to set.
        Returns:
        This builder for chaining.
      • clearTrackTimeoutBudgets

        public Cluster.Builder clearTrackTimeoutBudgets()
         If track_timeout_budgets is true, the :ref:`timeout budget histograms
         <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
         request. These show what percentage of a request's per try and global timeout was used. A value
         of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
         of 100 would indicate that the request took the entirety of the timeout given to it.
         
        bool track_timeout_budgets = 47;
        Returns:
        This builder for chaining.
      • setUnknownFields

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

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