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

io.envoyproxy.envoy.config.cluster.v3.ClusterOrBuilder Maven / Gradle / Ivy

There is a newer version: 1.0.46
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/config/cluster/v3/cluster.proto

package io.envoyproxy.envoy.config.cluster.v3;

public interface ClusterOrBuilder extends
    // @@protoc_insertion_point(interface_extends:envoy.config.cluster.v3.Cluster)
    com.google.protobuf.MessageOrBuilder {

  /**
   * 
   * Configuration to use different transport sockets for different endpoints.
   * The entry of ``envoy.transport_socket_match`` in the
   * :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
   * is used to match against the transport sockets as they appear in the list. The first
   * :ref:`match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
   * For example, with the following match
   * .. code-block:: yaml
   *  transport_socket_matches:
   *  - name: "enableMTLS"
   *    match:
   *      acceptMTLS: true
   *    transport_socket:
   *      name: envoy.transport_sockets.tls
   *      config: { ... } # tls socket configuration
   *  - name: "defaultToPlaintext"
   *    match: {}
   *    transport_socket:
   *      name: envoy.transport_sockets.raw_buffer
   * Connections to the endpoints whose metadata value under ``envoy.transport_socket_match``
   * having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
   * If a :ref:`socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
   * criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
   * socket match in case above.
   * If an endpoint metadata's value under ``envoy.transport_socket_match`` does not match any
   * ``TransportSocketMatch``, socket configuration fallbacks to use the ``tls_context`` or
   * ``transport_socket`` specified in this cluster.
   * This field allows gradual and flexible transport socket configuration changes.
   * The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
   * an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
   * "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
   * has "acceptPlaintext": "true" metadata information.
   * Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
   * traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
   * ``TransportSocketMatch`` in this field. Other client Envoys receive CDS without
   * ``transport_socket_match`` set, and still send plain text traffic to the same cluster.
   * This field can be used to specify custom transport socket configurations for health
   * checks by adding matching key/value pairs in a health check's
   * :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
   * [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
   * 
* * repeated .envoy.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43; */ java.util.List getTransportSocketMatchesList(); /** *
   * Configuration to use different transport sockets for different endpoints.
   * The entry of ``envoy.transport_socket_match`` in the
   * :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
   * is used to match against the transport sockets as they appear in the list. The first
   * :ref:`match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
   * For example, with the following match
   * .. code-block:: yaml
   *  transport_socket_matches:
   *  - name: "enableMTLS"
   *    match:
   *      acceptMTLS: true
   *    transport_socket:
   *      name: envoy.transport_sockets.tls
   *      config: { ... } # tls socket configuration
   *  - name: "defaultToPlaintext"
   *    match: {}
   *    transport_socket:
   *      name: envoy.transport_sockets.raw_buffer
   * Connections to the endpoints whose metadata value under ``envoy.transport_socket_match``
   * having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
   * If a :ref:`socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
   * criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
   * socket match in case above.
   * If an endpoint metadata's value under ``envoy.transport_socket_match`` does not match any
   * ``TransportSocketMatch``, socket configuration fallbacks to use the ``tls_context`` or
   * ``transport_socket`` specified in this cluster.
   * This field allows gradual and flexible transport socket configuration changes.
   * The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
   * an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
   * "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
   * has "acceptPlaintext": "true" metadata information.
   * Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
   * traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
   * ``TransportSocketMatch`` in this field. Other client Envoys receive CDS without
   * ``transport_socket_match`` set, and still send plain text traffic to the same cluster.
   * This field can be used to specify custom transport socket configurations for health
   * checks by adding matching key/value pairs in a health check's
   * :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
   * [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
   * 
* * repeated .envoy.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch getTransportSocketMatches(int index); /** *
   * Configuration to use different transport sockets for different endpoints.
   * The entry of ``envoy.transport_socket_match`` in the
   * :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
   * is used to match against the transport sockets as they appear in the list. The first
   * :ref:`match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
   * For example, with the following match
   * .. code-block:: yaml
   *  transport_socket_matches:
   *  - name: "enableMTLS"
   *    match:
   *      acceptMTLS: true
   *    transport_socket:
   *      name: envoy.transport_sockets.tls
   *      config: { ... } # tls socket configuration
   *  - name: "defaultToPlaintext"
   *    match: {}
   *    transport_socket:
   *      name: envoy.transport_sockets.raw_buffer
   * Connections to the endpoints whose metadata value under ``envoy.transport_socket_match``
   * having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
   * If a :ref:`socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
   * criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
   * socket match in case above.
   * If an endpoint metadata's value under ``envoy.transport_socket_match`` does not match any
   * ``TransportSocketMatch``, socket configuration fallbacks to use the ``tls_context`` or
   * ``transport_socket`` specified in this cluster.
   * This field allows gradual and flexible transport socket configuration changes.
   * The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
   * an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
   * "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
   * has "acceptPlaintext": "true" metadata information.
   * Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
   * traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
   * ``TransportSocketMatch`` in this field. Other client Envoys receive CDS without
   * ``transport_socket_match`` set, and still send plain text traffic to the same cluster.
   * This field can be used to specify custom transport socket configurations for health
   * checks by adding matching key/value pairs in a health check's
   * :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
   * [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
   * 
* * repeated .envoy.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43; */ int getTransportSocketMatchesCount(); /** *
   * Configuration to use different transport sockets for different endpoints.
   * The entry of ``envoy.transport_socket_match`` in the
   * :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
   * is used to match against the transport sockets as they appear in the list. The first
   * :ref:`match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
   * For example, with the following match
   * .. code-block:: yaml
   *  transport_socket_matches:
   *  - name: "enableMTLS"
   *    match:
   *      acceptMTLS: true
   *    transport_socket:
   *      name: envoy.transport_sockets.tls
   *      config: { ... } # tls socket configuration
   *  - name: "defaultToPlaintext"
   *    match: {}
   *    transport_socket:
   *      name: envoy.transport_sockets.raw_buffer
   * Connections to the endpoints whose metadata value under ``envoy.transport_socket_match``
   * having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
   * If a :ref:`socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
   * criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
   * socket match in case above.
   * If an endpoint metadata's value under ``envoy.transport_socket_match`` does not match any
   * ``TransportSocketMatch``, socket configuration fallbacks to use the ``tls_context`` or
   * ``transport_socket`` specified in this cluster.
   * This field allows gradual and flexible transport socket configuration changes.
   * The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
   * an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
   * "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
   * has "acceptPlaintext": "true" metadata information.
   * Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
   * traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
   * ``TransportSocketMatch`` in this field. Other client Envoys receive CDS without
   * ``transport_socket_match`` set, and still send plain text traffic to the same cluster.
   * This field can be used to specify custom transport socket configurations for health
   * checks by adding matching key/value pairs in a health check's
   * :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
   * [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
   * 
* * repeated .envoy.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43; */ java.util.List getTransportSocketMatchesOrBuilderList(); /** *
   * Configuration to use different transport sockets for different endpoints.
   * The entry of ``envoy.transport_socket_match`` in the
   * :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
   * is used to match against the transport sockets as they appear in the list. The first
   * :ref:`match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
   * For example, with the following match
   * .. code-block:: yaml
   *  transport_socket_matches:
   *  - name: "enableMTLS"
   *    match:
   *      acceptMTLS: true
   *    transport_socket:
   *      name: envoy.transport_sockets.tls
   *      config: { ... } # tls socket configuration
   *  - name: "defaultToPlaintext"
   *    match: {}
   *    transport_socket:
   *      name: envoy.transport_sockets.raw_buffer
   * Connections to the endpoints whose metadata value under ``envoy.transport_socket_match``
   * having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
   * If a :ref:`socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
   * criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
   * socket match in case above.
   * If an endpoint metadata's value under ``envoy.transport_socket_match`` does not match any
   * ``TransportSocketMatch``, socket configuration fallbacks to use the ``tls_context`` or
   * ``transport_socket`` specified in this cluster.
   * This field allows gradual and flexible transport socket configuration changes.
   * The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
   * an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
   * "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
   * has "acceptPlaintext": "true" metadata information.
   * Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
   * traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
   * ``TransportSocketMatch`` in this field. Other client Envoys receive CDS without
   * ``transport_socket_match`` set, and still send plain text traffic to the same cluster.
   * This field can be used to specify custom transport socket configurations for health
   * checks by adding matching key/value pairs in a health check's
   * :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
   * [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
   * 
* * repeated .envoy.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatchOrBuilder getTransportSocketMatchesOrBuilder( int index); /** *
   * 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) = { ... } * @return The name. */ java.lang.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) = { ... } * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** *
   * 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) = { ... } * @return The altStatName. */ java.lang.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) = { ... } * @return The bytes for altStatName. */ com.google.protobuf.ByteString getAltStatNameBytes(); /** *
   * 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) = { ... } * @return Whether the type field is set. */ 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) = { ... } * @return The enum numeric value on the wire for type. */ 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) = { ... } * @return The type. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType getType(); /** *
   * The custom cluster type.
   * 
* * .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38; * @return Whether the clusterType field is set. */ boolean hasClusterType(); /** *
   * The custom cluster type.
   * 
* * .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38; * @return The clusterType. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType getClusterType(); /** *
   * The custom cluster type.
   * 
* * .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterTypeOrBuilder getClusterTypeOrBuilder(); /** *
   * Configuration to use for EDS updates for the Cluster.
   * 
* * .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3; * @return Whether the edsClusterConfig field is set. */ boolean hasEdsClusterConfig(); /** *
   * Configuration to use for EDS updates for the Cluster.
   * 
* * .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3; * @return The edsClusterConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig getEdsClusterConfig(); /** *
   * Configuration to use for EDS updates for the Cluster.
   * 
* * .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder(); /** *
   * 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) = { ... } * @return Whether the connectTimeout field is set. */ 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) = { ... } * @return The connectTimeout. */ 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) = { ... } */ com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder(); /** *
   * 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) = { ... } * @return Whether the perConnectionBufferLimitBytes field is set. */ 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) = { ... } * @return The perConnectionBufferLimitBytes. */ 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) = { ... } */ com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder(); /** *
   * 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) = { ... } * @return The enum numeric value on the wire for lbPolicy. */ 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) = { ... } * @return The lbPolicy. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy getLbPolicy(); /** *
   * 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; * @return Whether the loadAssignment field is set. */ 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; * @return The loadAssignment. */ io.envoyproxy.envoy.config.endpoint.v3.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; */ io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder(); /** *
   * 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; */ java.util.List 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; */ io.envoyproxy.envoy.config.core.v3.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; */ 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; */ java.util.List 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; */ io.envoyproxy.envoy.config.core.v3.HealthCheckOrBuilder getHealthChecksOrBuilder( int index); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.max_requests_per_connection is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=874 * @return Whether the maxRequestsPerConnection field is set. */ @java.lang.Deprecated boolean hasMaxRequestsPerConnection(); /** *
   * Optional maximum requests for a single upstream connection. This parameter
   * is respected by both the HTTP/1.1 and HTTP/2 connection pool
   * implementations. If not specified, there is no limit. Setting this
   * parameter to 1 will effectively disable keep alive.
   * .. 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"]; * @deprecated envoy.config.cluster.v3.Cluster.max_requests_per_connection is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=874 * @return The maxRequestsPerConnection. */ @java.lang.Deprecated com.google.protobuf.UInt32Value getMaxRequestsPerConnection(); /** *
   * Optional maximum requests for a single upstream connection. This parameter
   * is respected by both the HTTP/1.1 and HTTP/2 connection pool
   * implementations. If not specified, there is no limit. Setting this
   * parameter to 1 will effectively disable keep alive.
   * .. 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"]; */ @java.lang.Deprecated com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder(); /** *
   * Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
   * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 10; * @return Whether the circuitBreakers field is set. */ boolean hasCircuitBreakers(); /** *
   * Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
   * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 10; * @return The circuitBreakers. */ io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers getCircuitBreakers(); /** *
   * Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
   * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 10; */ io.envoyproxy.envoy.config.cluster.v3.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.upstream_http_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=890 * @return Whether the upstreamHttpProtocolOptions field is set. */ @java.lang.Deprecated boolean hasUpstreamHttpProtocolOptions(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.upstream_http_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=890 * @return The upstreamHttpProtocolOptions. */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions(); /** *
   * 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"]; */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.common_http_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=903 * @return Whether the commonHttpProtocolOptions field is set. */ @java.lang.Deprecated boolean hasCommonHttpProtocolOptions(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.common_http_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=903 * @return The commonHttpProtocolOptions. */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions getCommonHttpProtocolOptions(); /** *
   * 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"]; */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.http_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=914 * @return Whether the httpProtocolOptions field is set. */ @java.lang.Deprecated boolean hasHttpProtocolOptions(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.http_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=914 * @return The httpProtocolOptions. */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions(); /** *
   * 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"]; */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder(); /** *
   * 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) = { ... } * @deprecated envoy.config.cluster.v3.Cluster.http2_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=930 * @return Whether the http2ProtocolOptions field is set. */ @java.lang.Deprecated boolean hasHttp2ProtocolOptions(); /** *
   * Even if default HTTP2 protocol options are desired, this field must be
   * set so that Envoy will assume that the upstream supports HTTP/2 when
   * making new HTTP connection pool connections. Currently, Envoy only
   * supports prior knowledge for upstream connections. Even if TLS is used
   * with ALPN, ``http2_protocol_options`` must be specified. As an aside this allows HTTP/2
   * connections to happen over plain text.
   * 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) = { ... } * @deprecated envoy.config.cluster.v3.Cluster.http2_protocol_options is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=930 * @return The http2ProtocolOptions. */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions(); /** *
   * Even if default HTTP2 protocol options are desired, this field must be
   * set so that Envoy will assume that the upstream supports HTTP/2 when
   * making new HTTP connection pool connections. Currently, Envoy only
   * supports prior knowledge for upstream connections. Even if TLS is used
   * with ALPN, ``http2_protocol_options`` must be specified. As an aside this allows HTTP/2
   * connections to happen over plain text.
   * 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) = { ... } */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder(); /** *
   * 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; */ 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; */ boolean containsTypedExtensionProtocolOptions( java.lang.String key); /** * Use {@link #getTypedExtensionProtocolOptionsMap()} instead. */ @java.lang.Deprecated java.util.Map getTypedExtensionProtocolOptions(); /** *
   * 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; */ java.util.Map 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; */ /* nullable */ com.google.protobuf.Any getTypedExtensionProtocolOptionsOrDefault( java.lang.String key, /* nullable */ 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; */ com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow( java.lang.String key); /** *
   * 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) = { ... } * @return Whether the dnsRefreshRate field is set. */ 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) = { ... } * @return The dnsRefreshRate. */ 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) = { ... } */ com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder(); /** *
   * 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; * @return Whether the dnsFailureRefreshRate field is set. */ 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; * @return The dnsFailureRefreshRate. */ io.envoyproxy.envoy.config.cluster.v3.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; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRateOrBuilder getDnsFailureRefreshRateOrBuilder(); /** *
   * 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; * @return The respectDnsTtl. */ boolean getRespectDnsTtl(); /** *
   * 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) = { ... } * @return The enum numeric value on the wire for dnsLookupFamily. */ 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) = { ... } * @return The dnsLookupFamily. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily getDnsLookupFamily(); /** *
   * 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"]; */ @java.lang.Deprecated java.util.List getDnsResolversList(); /** *
   * 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"]; */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.Address getDnsResolvers(int index); /** *
   * 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"]; */ @java.lang.Deprecated int getDnsResolversCount(); /** *
   * 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"]; */ @java.lang.Deprecated java.util.List getDnsResolversOrBuilderList(); /** *
   * 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"]; */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.AddressOrBuilder getDnsResolversOrBuilder( int index); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.use_tcp_for_dns_lookups is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=993 * @return The useTcpForDnsLookups. */ @java.lang.Deprecated boolean getUseTcpForDnsLookups(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.dns_resolution_config is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=999 * @return Whether the dnsResolutionConfig field is set. */ @java.lang.Deprecated boolean hasDnsResolutionConfig(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.dns_resolution_config is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=999 * @return The dnsResolutionConfig. */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig getDnsResolutionConfig(); /** *
   * 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"]; */ @java.lang.Deprecated io.envoyproxy.envoy.config.core.v3.DnsResolutionConfigOrBuilder getDnsResolutionConfigOrBuilder(); /** *
   * 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; * @return Whether the typedDnsResolverConfig field is set. */ 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; * @return The typedDnsResolverConfig. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getTypedDnsResolverConfigOrBuilder(); /** *
   * 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; * @return Whether the waitForWarmOnInit field is set. */ 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; * @return The waitForWarmOnInit. */ 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; */ com.google.protobuf.BoolValueOrBuilder getWaitForWarmOnInitOrBuilder(); /** *
   * 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; * @return Whether the outlierDetection field is set. */ 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; * @return The outlierDetection. */ io.envoyproxy.envoy.config.cluster.v3.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; */ io.envoyproxy.envoy.config.cluster.v3.OutlierDetectionOrBuilder getOutlierDetectionOrBuilder(); /** *
   * 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) = { ... } * @return Whether the cleanupInterval field is set. */ 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) = { ... } * @return The cleanupInterval. */ 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) = { ... } */ com.google.protobuf.DurationOrBuilder getCleanupIntervalOrBuilder(); /** *
   * 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; * @return Whether the upstreamBindConfig field is set. */ 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; * @return The upstreamBindConfig. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.BindConfigOrBuilder getUpstreamBindConfigOrBuilder(); /** *
   * Configuration for load balancing subsetting.
   * 
* * .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22; * @return Whether the lbSubsetConfig field is set. */ boolean hasLbSubsetConfig(); /** *
   * Configuration for load balancing subsetting.
   * 
* * .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22; * @return The lbSubsetConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig getLbSubsetConfig(); /** *
   * Configuration for load balancing subsetting.
   * 
* * .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder(); /** *
   * Optional configuration for the Ring Hash load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23; * @return Whether the ringHashLbConfig field is set. */ boolean hasRingHashLbConfig(); /** *
   * Optional configuration for the Ring Hash load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23; * @return The ringHashLbConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig getRingHashLbConfig(); /** *
   * Optional configuration for the Ring Hash load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder(); /** *
   * Optional configuration for the Maglev load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52; * @return Whether the maglevLbConfig field is set. */ boolean hasMaglevLbConfig(); /** *
   * Optional configuration for the Maglev load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52; * @return The maglevLbConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig getMaglevLbConfig(); /** *
   * Optional configuration for the Maglev load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfigOrBuilder getMaglevLbConfigOrBuilder(); /** *
   * Optional configuration for the Original Destination load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34; * @return Whether the originalDstLbConfig field is set. */ boolean hasOriginalDstLbConfig(); /** *
   * Optional configuration for the Original Destination load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34; * @return The originalDstLbConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig getOriginalDstLbConfig(); /** *
   * Optional configuration for the Original Destination load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder(); /** *
   * Optional configuration for the LeastRequest load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37; * @return Whether the leastRequestLbConfig field is set. */ boolean hasLeastRequestLbConfig(); /** *
   * Optional configuration for the LeastRequest load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37; * @return The leastRequestLbConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig getLeastRequestLbConfig(); /** *
   * Optional configuration for the LeastRequest load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder(); /** *
   * Optional configuration for the RoundRobin load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56; * @return Whether the roundRobinLbConfig field is set. */ boolean hasRoundRobinLbConfig(); /** *
   * Optional configuration for the RoundRobin load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56; * @return The roundRobinLbConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig getRoundRobinLbConfig(); /** *
   * Optional configuration for the RoundRobin load balancing policy.
   * 
* * .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfigOrBuilder getRoundRobinLbConfigOrBuilder(); /** *
   * Common configuration for all load balancer implementations.
   * 
* * .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27; * @return Whether the commonLbConfig field is set. */ boolean hasCommonLbConfig(); /** *
   * Common configuration for all load balancer implementations.
   * 
* * .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27; * @return The commonLbConfig. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig getCommonLbConfig(); /** *
   * Common configuration for all load balancer implementations.
   * 
* * .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder(); /** *
   * 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; * @return Whether the transportSocket field is set. */ 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; * @return The transportSocket. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.TransportSocketOrBuilder getTransportSocketOrBuilder(); /** *
   * 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; * @return Whether the metadata field is set. */ 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; * @return The metadata. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.protocol_selection is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=1099 * @return The enum numeric value on the wire for protocolSelection. */ @java.lang.Deprecated int getProtocolSelectionValue(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.protocol_selection is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=1099 * @return The protocolSelection. */ @java.lang.Deprecated io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection getProtocolSelection(); /** *
   * Optional options for upstream connections.
   * 
* * .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30; * @return Whether the upstreamConnectionOptions field is set. */ boolean hasUpstreamConnectionOptions(); /** *
   * Optional options for upstream connections.
   * 
* * .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30; * @return The upstreamConnectionOptions. */ io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions getUpstreamConnectionOptions(); /** *
   * Optional options for upstream connections.
   * 
* * .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30; */ io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder(); /** *
   * 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; * @return The closeConnectionsOnHostHealthFailure. */ boolean getCloseConnectionsOnHostHealthFailure(); /** *
   * 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; * @return The ignoreHealthOnHostRemoval. */ boolean getIgnoreHealthOnHostRemoval(); /** *
   * 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; */ java.util.List 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; */ io.envoyproxy.envoy.config.cluster.v3.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; */ 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; */ java.util.List 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; */ io.envoyproxy.envoy.config.cluster.v3.FilterOrBuilder getFiltersOrBuilder( int index); /** *
   * 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; * @return Whether the loadBalancingPolicy field is set. */ 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; * @return The loadBalancingPolicy. */ io.envoyproxy.envoy.config.cluster.v3.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; */ io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicyOrBuilder getLoadBalancingPolicyOrBuilder(); /** *
   * [#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; * @return Whether the lrsServer field is set. */ 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; * @return The lrsServer. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.ConfigSourceOrBuilder getLrsServerOrBuilder(); /** *
   * 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"]; * @deprecated envoy.config.cluster.v3.Cluster.track_timeout_budgets is deprecated. * See envoy/config/cluster/v3/cluster.proto;l=1160 * @return The trackTimeoutBudgets. */ @java.lang.Deprecated boolean getTrackTimeoutBudgets(); /** *
   * 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; * @return Whether the upstreamConfig field is set. */ 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; * @return The upstreamConfig. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getUpstreamConfigOrBuilder(); /** *
   * Configuration to track optional cluster stats.
   * 
* * .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49; * @return Whether the trackClusterStats field is set. */ boolean hasTrackClusterStats(); /** *
   * Configuration to track optional cluster stats.
   * 
* * .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49; * @return The trackClusterStats. */ io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats getTrackClusterStats(); /** *
   * Configuration to track optional cluster stats.
   * 
* * .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49; */ io.envoyproxy.envoy.config.cluster.v3.TrackClusterStatsOrBuilder getTrackClusterStatsOrBuilder(); /** *
   * Preconnect configuration for this cluster.
   * 
* * .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50; * @return Whether the preconnectPolicy field is set. */ boolean hasPreconnectPolicy(); /** *
   * Preconnect configuration for this cluster.
   * 
* * .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50; * @return The preconnectPolicy. */ io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy getPreconnectPolicy(); /** *
   * Preconnect configuration for this cluster.
   * 
* * .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50; */ io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicyOrBuilder getPreconnectPolicyOrBuilder(); /** *
   * 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; * @return The connectionPoolPerDownstreamConnection. */ boolean getConnectionPoolPerDownstreamConnection(); public io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryTypeCase getClusterDiscoveryTypeCase(); public io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfigCase getLbConfigCase(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy