Interface ClusterOrBuilder

  • All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    Cluster, Cluster.Builder

    public interface ClusterOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Detail

      • getTransportSocketMatchesList

        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;
      • getTransportSocketMatches

        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;
      • getTransportSocketMatchesCount

        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;
      • getTransportSocketMatchesOrBuilderList

        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;
      • getTransportSocketMatchesOrBuilder

        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;
      • getName

        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) = { ... }
      • getNameBytes

        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) = { ... }
      • getAltStatName

        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;
      • getAltStatNameBytes

        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;
      • getTypeValue

        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) = { ... }
      • getType

        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) = { ... }
      • hasClusterType

        boolean hasClusterType()
         The custom cluster type.
         
        .envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;
      • getClusterType

        Cluster.CustomClusterType getClusterType()
         The custom cluster type.
         
        .envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;
      • getClusterTypeOrBuilder

        Cluster.CustomClusterTypeOrBuilder getClusterTypeOrBuilder()
         The custom cluster type.
         
        .envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;
      • hasEdsClusterConfig

        boolean hasEdsClusterConfig()
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
      • getEdsClusterConfig

        Cluster.EdsClusterConfig getEdsClusterConfig()
         Configuration to use for EDS updates for the Cluster.
         
        .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
      • getEdsClusterConfigOrBuilder

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

        boolean hasConnectTimeout()
         The timeout for new network connections to hosts in the cluster.
         
        .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      • getConnectTimeout

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

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

        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;
      • getPerConnectionBufferLimitBytes

        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;
      • getPerConnectionBufferLimitBytesOrBuilder

        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;
      • getLbPolicyValue

        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) = { ... }
      • getLbPolicy

        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) = { ... }
      • getHostsList

        @Deprecated
        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];
      • getHosts

        @Deprecated
        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];
      • getHostsCount

        @Deprecated
        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];
      • getHostsOrBuilderList

        @Deprecated
        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];
      • getHostsOrBuilder

        @Deprecated
        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];
      • hasLoadAssignment

        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;
      • getLoadAssignment

        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;
      • getLoadAssignmentOrBuilder

        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;
      • getHealthChecksList

        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;
      • getHealthChecks

        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;
      • getHealthChecksCount

        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;
      • getHealthChecksOrBuilderList

        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;
      • getHealthChecksOrBuilder

        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;
      • hasMaxRequestsPerConnection

        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;
      • getMaxRequestsPerConnection

        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;
      • getMaxRequestsPerConnectionOrBuilder

        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;
      • hasCircuitBreakers

        boolean hasCircuitBreakers()
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
      • getCircuitBreakers

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

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

        @Deprecated
        boolean hasTlsContext()
        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];
      • getTlsContext

        @Deprecated
        UpstreamTlsContext getTlsContext()
        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
        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];
      • hasUpstreamHttpProtocolOptions

        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;
      • getUpstreamHttpProtocolOptions

        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;
      • getUpstreamHttpProtocolOptionsOrBuilder

        UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder()
         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

        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;
      • getCommonHttpProtocolOptions

        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;
      • getCommonHttpProtocolOptionsOrBuilder

        HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder()
         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

        boolean hasHttpProtocolOptions()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
      • getHttpProtocolOptions

        Http1ProtocolOptions getHttpProtocolOptions()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
      • getHttpProtocolOptionsOrBuilder

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

        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;
      • getHttp2ProtocolOptions

        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;
      • getHttp2ProtocolOptionsOrBuilder

        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;
      • getExtensionProtocolOptionsCount

        @Deprecated
        int getExtensionProtocolOptionsCount()
        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];
      • containsExtensionProtocolOptions

        @Deprecated
        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];
      • getExtensionProtocolOptionsMap

        @Deprecated
        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];
      • getExtensionProtocolOptionsOrDefault

        @Deprecated
        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];
      • getExtensionProtocolOptionsOrThrow

        @Deprecated
        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];
      • getTypedExtensionProtocolOptionsCount

        int getTypedExtensionProtocolOptionsCount()
         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;
      • containsTypedExtensionProtocolOptions

        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;
      • getTypedExtensionProtocolOptionsMap

        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;
      • getTypedExtensionProtocolOptionsOrDefault

        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;
      • getTypedExtensionProtocolOptionsOrThrow

        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;
      • hasDnsRefreshRate

        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) = { ... }
      • getDnsRefreshRate

        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) = { ... }
      • getDnsRefreshRateOrBuilder

        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) = { ... }
      • hasDnsFailureRefreshRate

        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;
      • getDnsFailureRefreshRate

        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;
      • getDnsFailureRefreshRateOrBuilder

        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;
      • getRespectDnsTtl

        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;
      • getDnsLookupFamilyValue

        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) = { ... }
      • getDnsLookupFamily

        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) = { ... }
      • getDnsResolversList

        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;
      • getDnsResolvers

        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;
      • getDnsResolversCount

        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;
      • getDnsResolversOrBuilderList

        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;
      • getDnsResolversOrBuilder

        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;
      • getUseTcpForDnsLookups

        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;
      • hasOutlierDetection

        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;
      • getOutlierDetection

        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;
      • getOutlierDetectionOrBuilder

        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;
      • hasCleanupInterval

        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) = { ... }
      • getCleanupInterval

        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) = { ... }
      • getCleanupIntervalOrBuilder

        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) = { ... }
      • hasUpstreamBindConfig

        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;
      • getUpstreamBindConfig

        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;
      • getUpstreamBindConfigOrBuilder

        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;
      • hasLbSubsetConfig

        boolean hasLbSubsetConfig()
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
      • getLbSubsetConfig

        Cluster.LbSubsetConfig getLbSubsetConfig()
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
      • getLbSubsetConfigOrBuilder

        Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder()
         Configuration for load balancing subsetting.
         
        .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
      • hasRingHashLbConfig

        boolean hasRingHashLbConfig()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • getRingHashLbConfig

        Cluster.RingHashLbConfig getRingHashLbConfig()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • getRingHashLbConfigOrBuilder

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

        boolean hasOriginalDstLbConfig()
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      • getOriginalDstLbConfig

        Cluster.OriginalDstLbConfig getOriginalDstLbConfig()
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      • getOriginalDstLbConfigOrBuilder

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

        boolean hasLeastRequestLbConfig()
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • getLeastRequestLbConfig

        Cluster.LeastRequestLbConfig getLeastRequestLbConfig()
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • getLeastRequestLbConfigOrBuilder

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

        boolean hasCommonLbConfig()
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
      • getCommonLbConfig

        Cluster.CommonLbConfig getCommonLbConfig()
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
      • getCommonLbConfigOrBuilder

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

        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;
      • getTransportSocket

        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;
      • getTransportSocketOrBuilder

        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;
      • hasMetadata

        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;
      • getMetadata

        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;
      • getMetadataOrBuilder

        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;
      • getProtocolSelectionValue

        int getProtocolSelectionValue()
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         
        .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
      • getProtocolSelection

        Cluster.ClusterProtocolSelection getProtocolSelection()
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         
        .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
      • hasUpstreamConnectionOptions

        boolean hasUpstreamConnectionOptions()
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • getUpstreamConnectionOptions

        UpstreamConnectionOptions getUpstreamConnectionOptions()
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • getUpstreamConnectionOptionsOrBuilder

        UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder()
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
      • getCloseConnectionsOnHostHealthFailure

        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;
      • getDrainConnectionsOnHostRemoval

        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) = { ... }
      • getFiltersList

        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;
      • getFilters

        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;
      • getFiltersCount

        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;
      • getFiltersOrBuilderList

        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;
      • getFiltersOrBuilder

        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;
      • hasLoadBalancingPolicy

        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;
      • getLoadBalancingPolicy

        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;
      • getLoadBalancingPolicyOrBuilder

        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;
      • hasLrsServer

        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;
      • getLrsServer

        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;
      • getLrsServerOrBuilder

        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;
      • getTrackTimeoutBudgets

        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;