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_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_v3_api_msg_config.cluster.v3.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_v3_api_msg_config.cluster.v3.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.
         This field can be used to specify custom transport socket configurations for health
         checks by adding matching key/value pairs in a health check's
         :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.config.cluster.v3.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_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_v3_api_msg_config.cluster.v3.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_v3_api_msg_config.cluster.v3.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.
         This field can be used to specify custom transport socket configurations for health
         checks by adding matching key/value pairs in a health check's
         :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.config.cluster.v3.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_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_v3_api_msg_config.cluster.v3.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_v3_api_msg_config.cluster.v3.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.
         This field can be used to specify custom transport socket configurations for health
         checks by adding matching key/value pairs in a health check's
         :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.config.cluster.v3.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_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_v3_api_msg_config.cluster.v3.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_v3_api_msg_config.cluster.v3.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.
         This field can be used to specify custom transport socket configurations for health
         checks by adding matching key/value pairs in a health check's
         :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.config.cluster.v3.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_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_v3_api_msg_config.cluster.v3.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_v3_api_msg_config.cluster.v3.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.
         This field can be used to specify custom transport socket configurations for health
         checks by adding matching key/value pairs in a health check's
         :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.config.cluster.v3.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_v3_api_field_config.cluster.v3.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_v3_api_field_config.cluster.v3.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 for observability. This name is used
         emitting stats for the cluster and access logging the cluster name. This will appear as
         additional information in configuration dumps of a cluster's current status as
         :ref:`observability_name <envoy_v3_api_field_admin.v3.ClusterStatus.observability_name>`
         and as an additional tag "upstream_cluster.name" while tracing. Note: 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 [(.udpa.annotations.field_migrate) = { ... }
      • getAltStatNameBytes

        com.google.protobuf.ByteString getAltStatNameBytes()
         An optional alternative to the cluster name to be used for observability. This name is used
         emitting stats for the cluster and access logging the cluster name. This will appear as
         additional information in configuration dumps of a cluster's current status as
         :ref:`observability_name <envoy_v3_api_field_admin.v3.ClusterStatus.observability_name>`
         and as an additional tag "upstream_cluster.name" while tracing. Note: 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 [(.udpa.annotations.field_migrate) = { ... }
      • getTypeValue

        int getTypeValue()
         The :ref:`service discovery type <arch_overview_service_discovery_types>`
         to use for resolving the cluster.
         
        .envoy.config.cluster.v3.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.config.cluster.v3.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
      • hasClusterType

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

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

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

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

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

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

        boolean hasConnectTimeout()
         The timeout for new network connections to hosts in the cluster.
         If not set, a default value of 5s will be used.
         
        .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.
         If not set, a default value of 5s will be used.
         
        .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.
         If not set, a default value of 5s will be used.
         
        .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 [(.udpa.annotations.security) = { ... }
      • 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 [(.udpa.annotations.security) = { ... }
      • 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 [(.udpa.annotations.security) = { ... }
      • getLbPolicyValue

        int getLbPolicyValue()
         The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
         when picking a host in the cluster.
         
        .envoy.config.cluster.v3.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.config.cluster.v3.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
      • hasLoadAssignment

        boolean hasLoadAssignment()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_msg_config.endpoint.v3.ClusterLoadAssignment>`.
         
        .envoy.config.endpoint.v3.ClusterLoadAssignment load_assignment = 33;
      • getLoadAssignment

        ClusterLoadAssignment getLoadAssignment()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_msg_config.endpoint.v3.ClusterLoadAssignment>`.
         
        .envoy.config.endpoint.v3.ClusterLoadAssignment load_assignment = 33;
      • getLoadAssignmentOrBuilder

        ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_msg_config.endpoint.v3.ClusterLoadAssignment>`.
         
        .envoy.config.endpoint.v3.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.config.core.v3.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.config.core.v3.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.config.core.v3.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.config.core.v3.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.config.core.v3.HealthCheck health_checks = 8;
      • hasMaxRequestsPerConnection

        @Deprecated
        boolean hasMaxRequestsPerConnection()
        Deprecated.
         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.
         .. attention::
           This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getMaxRequestsPerConnection

        @Deprecated
        com.google.protobuf.UInt32Value getMaxRequestsPerConnection()
        Deprecated.
         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.
         .. attention::
           This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getMaxRequestsPerConnectionOrBuilder

        @Deprecated
        com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder()
        Deprecated.
         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.
         .. attention::
           This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasCircuitBreakers

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

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

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

        @Deprecated
        boolean hasUpstreamHttpProtocolOptions()
        Deprecated.
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         This has been deprecated in favor of
         :ref:`upstream_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         upstream_http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getUpstreamHttpProtocolOptions

        @Deprecated
        UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions()
        Deprecated.
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         This has been deprecated in favor of
         :ref:`upstream_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         upstream_http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getUpstreamHttpProtocolOptionsOrBuilder

        @Deprecated
        UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder()
        Deprecated.
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         This has been deprecated in favor of
         :ref:`upstream_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         upstream_http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasCommonHttpProtocolOptions

        @Deprecated
        boolean hasCommonHttpProtocolOptions()
        Deprecated.
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         This has been deprecated in favor of
         :ref:`common_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.common_http_protocol_options>`
         in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         common_http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 29 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getCommonHttpProtocolOptions

        @Deprecated
        HttpProtocolOptions getCommonHttpProtocolOptions()
        Deprecated.
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         This has been deprecated in favor of
         :ref:`common_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.common_http_protocol_options>`
         in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         common_http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 29 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getCommonHttpProtocolOptionsOrBuilder

        @Deprecated
        HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder()
        Deprecated.
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         This has been deprecated in favor of
         :ref:`common_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.common_http_protocol_options>`
         in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         common_http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 29 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasHttpProtocolOptions

        @Deprecated
        boolean hasHttpProtocolOptions()
        Deprecated.
         Additional options when handling HTTP1 requests.
         This has been deprecated in favor of http_protocol_options fields in the
         :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 13 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getHttpProtocolOptions

        @Deprecated
        Http1ProtocolOptions getHttpProtocolOptions()
        Deprecated.
         Additional options when handling HTTP1 requests.
         This has been deprecated in favor of http_protocol_options fields in the
         :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 13 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getHttpProtocolOptionsOrBuilder

        @Deprecated
        Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder()
        Deprecated.
         Additional options when handling HTTP1 requests.
         This has been deprecated in favor of http_protocol_options fields in the
         :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 13 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasHttp2ProtocolOptions

        @Deprecated
        boolean hasHttp2ProtocolOptions()
        Deprecated.
         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.
         This has been deprecated in favor of http2_protocol_options fields in the
         :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>`
         message. http2_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14 [deprecated = true, (.udpa.annotations.security) = { ... }
      • getHttp2ProtocolOptions

        @Deprecated
        Http2ProtocolOptions getHttp2ProtocolOptions()
        Deprecated.
         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.
         This has been deprecated in favor of http2_protocol_options fields in the
         :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>`
         message. http2_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14 [deprecated = true, (.udpa.annotations.security) = { ... }
      • getHttp2ProtocolOptionsOrBuilder

        @Deprecated
        Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder()
        Deprecated.
         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.
         This has been deprecated in favor of http2_protocol_options fields in the
         :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>`
         message. http2_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         See :ref:`upstream_http_protocol_options
         <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
         for example usage.
         
        .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14 [deprecated = true, (.udpa.annotations.security) = { ... }
      • 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.
         [#next-major-version: make this a list of typed extensions.]
         
        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.
         [#next-major-version: make this a list of typed extensions.]
         
        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.
         [#next-major-version: make this a list of typed extensions.]
         
        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.
         [#next-major-version: make this a list of typed extensions.]
         
        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.
         [#next-major-version: make this a list of typed extensions.]
         
        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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.config.cluster.v3.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
      • getDnsResolversList

        @Deprecated
        List<Address> getDnsResolversList()
        Deprecated.
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         This field is deprecated in favor of *dns_resolution_config*
         which aggregates all of the DNS resolver configuration in a single message.
         
        repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getDnsResolvers

        @Deprecated
        Address getDnsResolvers​(int index)
        Deprecated.
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         This field is deprecated in favor of *dns_resolution_config*
         which aggregates all of the DNS resolver configuration in a single message.
         
        repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getDnsResolversCount

        @Deprecated
        int getDnsResolversCount()
        Deprecated.
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         This field is deprecated in favor of *dns_resolution_config*
         which aggregates all of the DNS resolver configuration in a single message.
         
        repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getDnsResolversOrBuilderList

        @Deprecated
        List<? extends AddressOrBuilder> getDnsResolversOrBuilderList()
        Deprecated.
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         This field is deprecated in favor of *dns_resolution_config*
         which aggregates all of the DNS resolver configuration in a single message.
         
        repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getDnsResolversOrBuilder

        @Deprecated
        AddressOrBuilder getDnsResolversOrBuilder​(int index)
        Deprecated.
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         This field is deprecated in favor of *dns_resolution_config*
         which aggregates all of the DNS resolver configuration in a single message.
         
        repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getUseTcpForDnsLookups

        @Deprecated
        boolean getUseTcpForDnsLookups()
        Deprecated.
         Always use TCP queries instead of UDP queries for DNS lookups.
         This field is deprecated in favor of *dns_resolution_config*
         which aggregates all of the DNS resolver configuration in a single message.
         
        bool use_tcp_for_dns_lookups = 45 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasDnsResolutionConfig

        @Deprecated
        boolean hasDnsResolutionConfig()
        Deprecated.
         DNS resolution configuration which includes the underlying dns resolver addresses and options.
         This field is deprecated in favor of
         :ref:`typed_dns_resolver_config <envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
         
        .envoy.config.core.v3.DnsResolutionConfig dns_resolution_config = 53 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getDnsResolutionConfig

        @Deprecated
        DnsResolutionConfig getDnsResolutionConfig()
        Deprecated.
         DNS resolution configuration which includes the underlying dns resolver addresses and options.
         This field is deprecated in favor of
         :ref:`typed_dns_resolver_config <envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
         
        .envoy.config.core.v3.DnsResolutionConfig dns_resolution_config = 53 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getDnsResolutionConfigOrBuilder

        @Deprecated
        DnsResolutionConfigOrBuilder getDnsResolutionConfigOrBuilder()
        Deprecated.
         DNS resolution configuration which includes the underlying dns resolver addresses and options.
         This field is deprecated in favor of
         :ref:`typed_dns_resolver_config <envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
         
        .envoy.config.core.v3.DnsResolutionConfig dns_resolution_config = 53 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasTypedDnsResolverConfig

        boolean hasTypedDnsResolverConfig()
         DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
         or any other DNS resolver types and the related parameters.
         For example, an object of
         :ref:`CaresDnsResolverConfig <envoy_v3_api_msg_extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig>`
         can be packed into this *typed_dns_resolver_config*. This configuration replaces the
         :ref:`dns_resolution_config <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
         configuration.
         During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
         when *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
         When *typed_dns_resolver_config* is missing, the default behavior is in place.
         [#extension-category: envoy.network.dns_resolver]
         
        .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 55;
      • getTypedDnsResolverConfig

        TypedExtensionConfig getTypedDnsResolverConfig()
         DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
         or any other DNS resolver types and the related parameters.
         For example, an object of
         :ref:`CaresDnsResolverConfig <envoy_v3_api_msg_extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig>`
         can be packed into this *typed_dns_resolver_config*. This configuration replaces the
         :ref:`dns_resolution_config <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
         configuration.
         During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
         when *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
         When *typed_dns_resolver_config* is missing, the default behavior is in place.
         [#extension-category: envoy.network.dns_resolver]
         
        .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 55;
      • getTypedDnsResolverConfigOrBuilder

        TypedExtensionConfigOrBuilder getTypedDnsResolverConfigOrBuilder()
         DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
         or any other DNS resolver types and the related parameters.
         For example, an object of
         :ref:`CaresDnsResolverConfig <envoy_v3_api_msg_extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig>`
         can be packed into this *typed_dns_resolver_config*. This configuration replaces the
         :ref:`dns_resolution_config <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
         configuration.
         During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
         when *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
         When *typed_dns_resolver_config* is missing, the default behavior is in place.
         [#extension-category: envoy.network.dns_resolver]
         
        .envoy.config.core.v3.TypedExtensionConfig typed_dns_resolver_config = 55;
      • hasWaitForWarmOnInit

        boolean hasWaitForWarmOnInit()
         Optional configuration for having cluster readiness block on warm-up. Currently, only applicable for
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`.
         If true, cluster readiness blocks on warm-up. If false, the cluster will complete
         initialization whether or not warm-up has completed. Defaults to true.
         
        .google.protobuf.BoolValue wait_for_warm_on_init = 54;
      • getWaitForWarmOnInit

        com.google.protobuf.BoolValue getWaitForWarmOnInit()
         Optional configuration for having cluster readiness block on warm-up. Currently, only applicable for
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`.
         If true, cluster readiness blocks on warm-up. If false, the cluster will complete
         initialization whether or not warm-up has completed. Defaults to true.
         
        .google.protobuf.BoolValue wait_for_warm_on_init = 54;
      • getWaitForWarmOnInitOrBuilder

        com.google.protobuf.BoolValueOrBuilder getWaitForWarmOnInitOrBuilder()
         Optional configuration for having cluster readiness block on warm-up. Currently, only applicable for
         :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`.
         If true, cluster readiness blocks on warm-up. If false, the cluster will complete
         initialization whether or not warm-up has completed. Defaults to true.
         
        .google.protobuf.BoolValue wait_for_warm_on_init = 54;
      • 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.config.cluster.v3.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.config.cluster.v3.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.config.cluster.v3.OutlierDetection outlier_detection = 19;
      • hasCleanupInterval

        boolean hasCleanupInterval()
         The interval for removing stale hosts from a cluster type
         :ref:`ORIGINAL_DST<envoy_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.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_v3_api_enum_value_config.cluster.v3.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.config.core.v3.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.config.core.v3.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.config.core.v3.BindConfig upstream_bind_config = 21;
      • hasLbSubsetConfig

        boolean hasLbSubsetConfig()
         Configuration for load balancing subsetting.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
      • getLbSubsetConfig

        Cluster.LbSubsetConfig getLbSubsetConfig()
         Configuration for load balancing subsetting.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
      • getLbSubsetConfigOrBuilder

        Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder()
         Configuration for load balancing subsetting.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
      • hasRingHashLbConfig

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

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

        Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      • hasMaglevLbConfig

        boolean hasMaglevLbConfig()
         Optional configuration for the Maglev load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52;
      • getMaglevLbConfig

        Cluster.MaglevLbConfig getMaglevLbConfig()
         Optional configuration for the Maglev load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52;
      • getMaglevLbConfigOrBuilder

        Cluster.MaglevLbConfigOrBuilder getMaglevLbConfigOrBuilder()
         Optional configuration for the Maglev load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52;
      • hasOriginalDstLbConfig

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

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

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

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

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

        Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder()
         Optional configuration for the LeastRequest load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      • hasRoundRobinLbConfig

        boolean hasRoundRobinLbConfig()
         Optional configuration for the RoundRobin load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56;
      • getRoundRobinLbConfig

        Cluster.RoundRobinLbConfig getRoundRobinLbConfig()
         Optional configuration for the RoundRobin load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56;
      • getRoundRobinLbConfigOrBuilder

        Cluster.RoundRobinLbConfigOrBuilder getRoundRobinLbConfigOrBuilder()
         Optional configuration for the RoundRobin load balancing policy.
         
        .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56;
      • hasCommonLbConfig

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

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

        Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder()
         Common configuration for all load balancer implementations.
         
        .envoy.config.cluster.v3.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 `envoy.transport_sockets.tls` and
         :ref:`UpstreamTlsContexts <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.config.core.v3.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 `envoy.transport_sockets.tls` and
         :ref:`UpstreamTlsContexts <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.config.core.v3.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 `envoy.transport_sockets.tls` and
         :ref:`UpstreamTlsContexts <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.config.core.v3.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.config.core.v3.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.config.core.v3.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.config.core.v3.Metadata metadata = 25;
      • getProtocolSelectionValue

        @Deprecated
        int getProtocolSelectionValue()
        Deprecated.
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         This has been deprecated in favor of setting explicit protocol selection
         in the :ref:`http_protocol_options
         <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         
        .envoy.config.cluster.v3.Cluster.ClusterProtocolSelection protocol_selection = 26 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getProtocolSelection

        @Deprecated
        Cluster.ClusterProtocolSelection getProtocolSelection()
        Deprecated.
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         This has been deprecated in favor of setting explicit protocol selection
         in the :ref:`http_protocol_options
         <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
         http_protocol_options can be set via the cluster's
         :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
         
        .envoy.config.cluster.v3.Cluster.ClusterProtocolSelection protocol_selection = 26 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasUpstreamConnectionOptions

        boolean hasUpstreamConnectionOptions()
         Optional options for upstream connections.
         
        .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
      • getUpstreamConnectionOptions

        UpstreamConnectionOptions getUpstreamConnectionOptions()
         Optional options for upstream connections.
         
        .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
      • getUpstreamConnectionOptionsOrBuilder

        UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder()
         Optional options for upstream connections.
         
        .envoy.config.cluster.v3.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;
      • getIgnoreHealthOnHostRemoval

        boolean getIgnoreHealthOnHostRemoval()
         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 ignore_health_on_host_removal = 32;
      • 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.config.cluster.v3.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.config.cluster.v3.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.config.cluster.v3.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.config.cluster.v3.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.config.cluster.v3.Filter filters = 40;
      • hasLoadBalancingPolicy

        boolean hasLoadBalancingPolicy()
         If this field is set and is supported by the client, it will supersede the value of
         :ref:`lb_policy<envoy_v3_api_field_config.cluster.v3.Cluster.lb_policy>`.
         
        .envoy.config.cluster.v3.LoadBalancingPolicy load_balancing_policy = 41;
      • getLoadBalancingPolicy

        LoadBalancingPolicy getLoadBalancingPolicy()
         If this field is set and is supported by the client, it will supersede the value of
         :ref:`lb_policy<envoy_v3_api_field_config.cluster.v3.Cluster.lb_policy>`.
         
        .envoy.config.cluster.v3.LoadBalancingPolicy load_balancing_policy = 41;
      • getLoadBalancingPolicyOrBuilder

        LoadBalancingPolicyOrBuilder getLoadBalancingPolicyOrBuilder()
         If this field is set and is supported by the client, it will supersede the value of
         :ref:`lb_policy<envoy_v3_api_field_config.cluster.v3.Cluster.lb_policy>`.
         
        .envoy.config.cluster.v3.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.config.core.v3.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.config.core.v3.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.config.core.v3.ConfigSource lrs_server = 42;
      • getTrackTimeoutBudgets

        @Deprecated
        boolean getTrackTimeoutBudgets()
        Deprecated.
         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.
         .. attention::
           This field has been deprecated in favor of `timeout_budgets`, part of
           :ref:`track_cluster_stats <envoy_v3_api_field_config.cluster.v3.Cluster.track_cluster_stats>`.
         
        bool track_timeout_budgets = 47 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasUpstreamConfig

        boolean hasUpstreamConfig()
         Optional customization and configuration of upstream connection pool, and upstream type.
         Currently this field only applies for HTTP traffic but is designed for eventual use for custom
         TCP upstreams.
         For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream
         HTTP, using the http connection pool and the codec from `http2_protocol_options`
         For routes where CONNECT termination is configured, Envoy will take downstream CONNECT
         requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool.
         The default pool used is the generic connection pool which creates the HTTP upstream for most
         HTTP requests, and the TCP upstream if CONNECT termination is configured.
         If users desire custom connection pool or upstream behavior, for example terminating
         CONNECT only if a custom filter indicates it is appropriate, the custom factories
         can be registered and configured here.
         [#extension-category: envoy.upstreams]
         
        .envoy.config.core.v3.TypedExtensionConfig upstream_config = 48;
      • getUpstreamConfig

        TypedExtensionConfig getUpstreamConfig()
         Optional customization and configuration of upstream connection pool, and upstream type.
         Currently this field only applies for HTTP traffic but is designed for eventual use for custom
         TCP upstreams.
         For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream
         HTTP, using the http connection pool and the codec from `http2_protocol_options`
         For routes where CONNECT termination is configured, Envoy will take downstream CONNECT
         requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool.
         The default pool used is the generic connection pool which creates the HTTP upstream for most
         HTTP requests, and the TCP upstream if CONNECT termination is configured.
         If users desire custom connection pool or upstream behavior, for example terminating
         CONNECT only if a custom filter indicates it is appropriate, the custom factories
         can be registered and configured here.
         [#extension-category: envoy.upstreams]
         
        .envoy.config.core.v3.TypedExtensionConfig upstream_config = 48;
      • getUpstreamConfigOrBuilder

        TypedExtensionConfigOrBuilder getUpstreamConfigOrBuilder()
         Optional customization and configuration of upstream connection pool, and upstream type.
         Currently this field only applies for HTTP traffic but is designed for eventual use for custom
         TCP upstreams.
         For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream
         HTTP, using the http connection pool and the codec from `http2_protocol_options`
         For routes where CONNECT termination is configured, Envoy will take downstream CONNECT
         requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool.
         The default pool used is the generic connection pool which creates the HTTP upstream for most
         HTTP requests, and the TCP upstream if CONNECT termination is configured.
         If users desire custom connection pool or upstream behavior, for example terminating
         CONNECT only if a custom filter indicates it is appropriate, the custom factories
         can be registered and configured here.
         [#extension-category: envoy.upstreams]
         
        .envoy.config.core.v3.TypedExtensionConfig upstream_config = 48;
      • hasTrackClusterStats

        boolean hasTrackClusterStats()
         Configuration to track optional cluster stats.
         
        .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49;
      • getTrackClusterStats

        TrackClusterStats getTrackClusterStats()
         Configuration to track optional cluster stats.
         
        .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49;
      • getTrackClusterStatsOrBuilder

        TrackClusterStatsOrBuilder getTrackClusterStatsOrBuilder()
         Configuration to track optional cluster stats.
         
        .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49;
      • hasPreconnectPolicy

        boolean hasPreconnectPolicy()
         Preconnect configuration for this cluster.
         
        .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50;
      • getPreconnectPolicy

        Cluster.PreconnectPolicy getPreconnectPolicy()
         Preconnect configuration for this cluster.
         
        .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50;
      • getPreconnectPolicyOrBuilder

        Cluster.PreconnectPolicyOrBuilder getPreconnectPolicyOrBuilder()
         Preconnect configuration for this cluster.
         
        .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50;
      • getConnectionPoolPerDownstreamConnection

        boolean getConnectionPoolPerDownstreamConnection()
         If `connection_pool_per_downstream_connection` is true, the cluster will use a separate
         connection pool for every downstream connection
         
        bool connection_pool_per_downstream_connection = 51;