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 Details

    • 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. If a match is not found, the search continues in
       :ref:`LocalityLbEndpoints.Metadata
       <envoy_v3_api_field_config.endpoint.v3.LocalityLbEndpoints.metadata>`.  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``, the locality metadata is then checked for a match. Barring any
       matches in the endpoint or locality metadata, the 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. If a match is not found, the search continues in
       :ref:`LocalityLbEndpoints.Metadata
       <envoy_v3_api_field_config.endpoint.v3.LocalityLbEndpoints.metadata>`.  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``, the locality metadata is then checked for a match. Barring any
       matches in the endpoint or locality metadata, the 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. If a match is not found, the search continues in
       :ref:`LocalityLbEndpoints.Metadata
       <envoy_v3_api_field_config.endpoint.v3.LocalityLbEndpoints.metadata>`.  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``, the locality metadata is then checked for a match. Barring any
       matches in the endpoint or locality metadata, the 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. If a match is not found, the search continues in
       :ref:`LocalityLbEndpoints.Metadata
       <envoy_v3_api_field_config.endpoint.v3.LocalityLbEndpoints.metadata>`.  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``, the locality metadata is then checked for a match. Barring any
       matches in the endpoint or locality metadata, the 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. If a match is not found, the search continues in
       :ref:`LocalityLbEndpoints.Metadata
       <envoy_v3_api_field_config.endpoint.v3.LocalityLbEndpoints.metadata>`.  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``, the locality metadata is then checked for a match. Barring any
       matches in the endpoint or locality metadata, the 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) = { ... }
      Returns:
      The name.
    • 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) = { ... }
      Returns:
      The bytes for name.
    • 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) = { ... }
      Returns:
      The altStatName.
    • 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) = { ... }
      Returns:
      The bytes for altStatName.
    • hasType

      boolean hasType()
       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) = { ... }
      Returns:
      Whether the type field is set.
    • 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) = { ... }
      Returns:
      The enum numeric value on the wire for type.
    • 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) = { ... }
      Returns:
      The type.
    • hasClusterType

      boolean hasClusterType()
       The custom cluster type.
       
      .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38;
      Returns:
      Whether the clusterType field is set.
    • getClusterType

      Cluster.CustomClusterType getClusterType()
       The custom cluster type.
       
      .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38;
      Returns:
      The clusterType.
    • 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;
      Returns:
      Whether the edsClusterConfig field is set.
    • getEdsClusterConfig

      Cluster.EdsClusterConfig getEdsClusterConfig()
       Configuration to use for EDS updates for the Cluster.
       
      .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3;
      Returns:
      The edsClusterConfig.
    • 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) = { ... }
      Returns:
      Whether the connectTimeout field is set.
    • 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) = { ... }
      Returns:
      The connectTimeout.
    • 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) = { ... }
      Returns:
      Whether the perConnectionBufferLimitBytes field is set.
    • 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) = { ... }
      Returns:
      The perConnectionBufferLimitBytes.
    • 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) = { ... }
      Returns:
      The enum numeric value on the wire for lbPolicy.
    • 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) = { ... }
      Returns:
      The lbPolicy.
    • 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;
      Returns:
      Whether the loadAssignment field is set.
    • 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;
      Returns:
      The loadAssignment.
    • 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.
      envoy.config.cluster.v3.Cluster.max_requests_per_connection is deprecated. See envoy/config/cluster/v3/cluster.proto;l=877
       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"];
      Returns:
      Whether the maxRequestsPerConnection field is set.
    • getMaxRequestsPerConnection

      @Deprecated com.google.protobuf.UInt32Value getMaxRequestsPerConnection()
      Deprecated.
      envoy.config.cluster.v3.Cluster.max_requests_per_connection is deprecated. See envoy/config/cluster/v3/cluster.proto;l=877
       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"];
      Returns:
      The maxRequestsPerConnection.
    • 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;
      Returns:
      Whether the circuitBreakers field is set.
    • getCircuitBreakers

      CircuitBreakers getCircuitBreakers()
       Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
       
      .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 10;
      Returns:
      The circuitBreakers.
    • 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.
      envoy.config.cluster.v3.Cluster.upstream_http_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=893
       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"];
      Returns:
      Whether the upstreamHttpProtocolOptions field is set.
    • getUpstreamHttpProtocolOptions

      @Deprecated UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions()
      Deprecated.
      envoy.config.cluster.v3.Cluster.upstream_http_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=893
       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"];
      Returns:
      The upstreamHttpProtocolOptions.
    • 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.
      envoy.config.cluster.v3.Cluster.common_http_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=906
       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"];
      Returns:
      Whether the commonHttpProtocolOptions field is set.
    • getCommonHttpProtocolOptions

      @Deprecated HttpProtocolOptions getCommonHttpProtocolOptions()
      Deprecated.
      envoy.config.cluster.v3.Cluster.common_http_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=906
       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"];
      Returns:
      The commonHttpProtocolOptions.
    • 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.
      envoy.config.cluster.v3.Cluster.http_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=917
       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"];
      Returns:
      Whether the httpProtocolOptions field is set.
    • getHttpProtocolOptions

      @Deprecated Http1ProtocolOptions getHttpProtocolOptions()
      Deprecated.
      envoy.config.cluster.v3.Cluster.http_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=917
       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"];
      Returns:
      The httpProtocolOptions.
    • 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.
      envoy.config.cluster.v3.Cluster.http2_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=933
       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) = { ... }
      Returns:
      Whether the http2ProtocolOptions field is set.
    • getHttp2ProtocolOptions

      @Deprecated Http2ProtocolOptions getHttp2ProtocolOptions()
      Deprecated.
      envoy.config.cluster.v3.Cluster.http2_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=933
       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) = { ... }
      Returns:
      The http2ProtocolOptions.
    • 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;
    • getTypedExtensionProtocolOptions

      @Deprecated Map<String,com.google.protobuf.Any> getTypedExtensionProtocolOptions()
      Deprecated.
    • 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) = { ... }
      Returns:
      Whether the dnsRefreshRate field is set.
    • 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) = { ... }
      Returns:
      The dnsRefreshRate.
    • 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;
      Returns:
      Whether the dnsFailureRefreshRate field is set.
    • 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;
      Returns:
      The dnsFailureRefreshRate.
    • 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;
      Returns:
      The respectDnsTtl.
    • 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) = { ... }
      Returns:
      The enum numeric value on the wire for dnsLookupFamily.
    • 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) = { ... }
      Returns:
      The dnsLookupFamily.
    • 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.
      envoy.config.cluster.v3.Cluster.use_tcp_for_dns_lookups is deprecated. See envoy/config/cluster/v3/cluster.proto;l=996
       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"];
      Returns:
      The useTcpForDnsLookups.
    • hasDnsResolutionConfig

      @Deprecated boolean hasDnsResolutionConfig()
      Deprecated.
      envoy.config.cluster.v3.Cluster.dns_resolution_config is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1002
       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"];
      Returns:
      Whether the dnsResolutionConfig field is set.
    • getDnsResolutionConfig

      @Deprecated DnsResolutionConfig getDnsResolutionConfig()
      Deprecated.
      envoy.config.cluster.v3.Cluster.dns_resolution_config is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1002
       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"];
      Returns:
      The dnsResolutionConfig.
    • 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;
      Returns:
      Whether the typedDnsResolverConfig field is set.
    • 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;
      Returns:
      The typedDnsResolverConfig.
    • 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>`,
       or :ref:`Redis Cluster<arch_overview_redis>`.
       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;
      Returns:
      Whether the waitForWarmOnInit field is set.
    • 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>`,
       or :ref:`Redis Cluster<arch_overview_redis>`.
       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;
      Returns:
      The waitForWarmOnInit.
    • 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>`,
       or :ref:`Redis Cluster<arch_overview_redis>`.
       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;
      Returns:
      Whether the outlierDetection field is set.
    • 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;
      Returns:
      The outlierDetection.
    • 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) = { ... }
      Returns:
      Whether the cleanupInterval field is set.
    • 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) = { ... }
      Returns:
      The cleanupInterval.
    • 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;
      Returns:
      Whether the upstreamBindConfig field is set.
    • 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;
      Returns:
      The upstreamBindConfig.
    • 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;
      Returns:
      Whether the lbSubsetConfig field is set.
    • getLbSubsetConfig

      Cluster.LbSubsetConfig getLbSubsetConfig()
       Configuration for load balancing subsetting.
       
      .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
      Returns:
      The lbSubsetConfig.
    • 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;
      Returns:
      Whether the ringHashLbConfig field is set.
    • getRingHashLbConfig

      Cluster.RingHashLbConfig getRingHashLbConfig()
       Optional configuration for the Ring Hash load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      Returns:
      The ringHashLbConfig.
    • 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;
      Returns:
      Whether the maglevLbConfig field is set.
    • getMaglevLbConfig

      Cluster.MaglevLbConfig getMaglevLbConfig()
       Optional configuration for the Maglev load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52;
      Returns:
      The maglevLbConfig.
    • 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;
      Returns:
      Whether the originalDstLbConfig field is set.
    • getOriginalDstLbConfig

      Cluster.OriginalDstLbConfig getOriginalDstLbConfig()
       Optional configuration for the Original Destination load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      Returns:
      The originalDstLbConfig.
    • 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;
      Returns:
      Whether the leastRequestLbConfig field is set.
    • getLeastRequestLbConfig

      Cluster.LeastRequestLbConfig getLeastRequestLbConfig()
       Optional configuration for the LeastRequest load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      Returns:
      The leastRequestLbConfig.
    • 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;
      Returns:
      Whether the roundRobinLbConfig field is set.
    • getRoundRobinLbConfig

      Cluster.RoundRobinLbConfig getRoundRobinLbConfig()
       Optional configuration for the RoundRobin load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56;
      Returns:
      The roundRobinLbConfig.
    • 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;
      Returns:
      Whether the commonLbConfig field is set.
    • getCommonLbConfig

      Cluster.CommonLbConfig getCommonLbConfig()
       Common configuration for all load balancer implementations.
       
      .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27;
      Returns:
      The commonLbConfig.
    • 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;
      Returns:
      Whether the transportSocket field is set.
    • 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;
      Returns:
      The transportSocket.
    • 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;
      Returns:
      Whether the metadata field is set.
    • 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;
      Returns:
      The metadata.
    • 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.
      envoy.config.cluster.v3.Cluster.protocol_selection is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1102
       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"];
      Returns:
      The enum numeric value on the wire for protocolSelection.
    • getProtocolSelection

      Deprecated.
      envoy.config.cluster.v3.Cluster.protocol_selection is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1102
       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"];
      Returns:
      The protocolSelection.
    • hasUpstreamConnectionOptions

      boolean hasUpstreamConnectionOptions()
       Optional options for upstream connections.
       
      .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
      Returns:
      Whether the upstreamConnectionOptions field is set.
    • getUpstreamConnectionOptions

      UpstreamConnectionOptions getUpstreamConnectionOptions()
       Optional options for upstream connections.
       
      .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
      Returns:
      The upstreamConnectionOptions.
    • 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;
      Returns:
      The closeConnectionsOnHostHealthFailure.
    • 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;
      Returns:
      The ignoreHealthOnHostRemoval.
    • 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;
      Returns:
      Whether the loadBalancingPolicy field is set.
    • 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;
      Returns:
      The loadBalancingPolicy.
    • 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;
      Returns:
      Whether the lrsServer field is set.
    • 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;
      Returns:
      The lrsServer.
    • 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.
      envoy.config.cluster.v3.Cluster.track_timeout_budgets is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1163
       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"];
      Returns:
      The trackTimeoutBudgets.
    • 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;
      Returns:
      Whether the upstreamConfig field is set.
    • 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;
      Returns:
      The upstreamConfig.
    • 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;
      Returns:
      Whether the trackClusterStats field is set.
    • getTrackClusterStats

      TrackClusterStats getTrackClusterStats()
       Configuration to track optional cluster stats.
       
      .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49;
      Returns:
      The trackClusterStats.
    • 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;
      Returns:
      Whether the preconnectPolicy field is set.
    • getPreconnectPolicy

      Cluster.PreconnectPolicy getPreconnectPolicy()
       Preconnect configuration for this cluster.
       
      .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50;
      Returns:
      The preconnectPolicy.
    • 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;
      Returns:
      The connectionPoolPerDownstreamConnection.
    • getClusterDiscoveryTypeCase

      Cluster.ClusterDiscoveryTypeCase getClusterDiscoveryTypeCase()
    • getLbConfigCase

      Cluster.LbConfigCase getLbConfigCase()