Class Cluster

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.cluster.v3.Cluster
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ClusterOrBuilder, Serializable

public final class Cluster extends com.google.protobuf.GeneratedMessage implements ClusterOrBuilder
 Configuration for a single upstream cluster.
 [#next-free-field: 57]
 
Protobuf type envoy.config.cluster.v3.Cluster
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • clusterDiscoveryTypeCase_

      private int clusterDiscoveryTypeCase_
    • clusterDiscoveryType_

      private Object clusterDiscoveryType_
    • lbConfigCase_

      private int lbConfigCase_
    • lbConfig_

      private Object lbConfig_
    • TRANSPORT_SOCKET_MATCHES_FIELD_NUMBER

      public static final int TRANSPORT_SOCKET_MATCHES_FIELD_NUMBER
      See Also:
    • transportSocketMatches_

      private List<Cluster.TransportSocketMatch> transportSocketMatches_
    • NAME_FIELD_NUMBER

      public static final int NAME_FIELD_NUMBER
      See Also:
    • name_

      private volatile Object name_
    • ALT_STAT_NAME_FIELD_NUMBER

      public static final int ALT_STAT_NAME_FIELD_NUMBER
      See Also:
    • altStatName_

      private volatile Object altStatName_
    • TYPE_FIELD_NUMBER

      public static final int TYPE_FIELD_NUMBER
      See Also:
    • CLUSTER_TYPE_FIELD_NUMBER

      public static final int CLUSTER_TYPE_FIELD_NUMBER
      See Also:
    • EDS_CLUSTER_CONFIG_FIELD_NUMBER

      public static final int EDS_CLUSTER_CONFIG_FIELD_NUMBER
      See Also:
    • edsClusterConfig_

      private Cluster.EdsClusterConfig edsClusterConfig_
    • CONNECT_TIMEOUT_FIELD_NUMBER

      public static final int CONNECT_TIMEOUT_FIELD_NUMBER
      See Also:
    • connectTimeout_

      private com.google.protobuf.Duration connectTimeout_
    • PER_CONNECTION_BUFFER_LIMIT_BYTES_FIELD_NUMBER

      public static final int PER_CONNECTION_BUFFER_LIMIT_BYTES_FIELD_NUMBER
      See Also:
    • perConnectionBufferLimitBytes_

      private com.google.protobuf.UInt32Value perConnectionBufferLimitBytes_
    • LB_POLICY_FIELD_NUMBER

      public static final int LB_POLICY_FIELD_NUMBER
      See Also:
    • lbPolicy_

      private int lbPolicy_
    • LOAD_ASSIGNMENT_FIELD_NUMBER

      public static final int LOAD_ASSIGNMENT_FIELD_NUMBER
      See Also:
    • loadAssignment_

      private ClusterLoadAssignment loadAssignment_
    • HEALTH_CHECKS_FIELD_NUMBER

      public static final int HEALTH_CHECKS_FIELD_NUMBER
      See Also:
    • healthChecks_

      private List<HealthCheck> healthChecks_
    • MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER

      public static final int MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER
      See Also:
    • maxRequestsPerConnection_

      private com.google.protobuf.UInt32Value maxRequestsPerConnection_
    • CIRCUIT_BREAKERS_FIELD_NUMBER

      public static final int CIRCUIT_BREAKERS_FIELD_NUMBER
      See Also:
    • circuitBreakers_

      private CircuitBreakers circuitBreakers_
    • UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • upstreamHttpProtocolOptions_

      private UpstreamHttpProtocolOptions upstreamHttpProtocolOptions_
    • COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • commonHttpProtocolOptions_

      private HttpProtocolOptions commonHttpProtocolOptions_
    • HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • httpProtocolOptions_

      private Http1ProtocolOptions httpProtocolOptions_
    • HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • http2ProtocolOptions_

      private Http2ProtocolOptions http2ProtocolOptions_
    • TYPED_EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int TYPED_EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • typedExtensionProtocolOptions_

      private com.google.protobuf.MapField<String,com.google.protobuf.Any> typedExtensionProtocolOptions_
    • DNS_REFRESH_RATE_FIELD_NUMBER

      public static final int DNS_REFRESH_RATE_FIELD_NUMBER
      See Also:
    • dnsRefreshRate_

      private com.google.protobuf.Duration dnsRefreshRate_
    • DNS_FAILURE_REFRESH_RATE_FIELD_NUMBER

      public static final int DNS_FAILURE_REFRESH_RATE_FIELD_NUMBER
      See Also:
    • dnsFailureRefreshRate_

      private Cluster.RefreshRate dnsFailureRefreshRate_
    • RESPECT_DNS_TTL_FIELD_NUMBER

      public static final int RESPECT_DNS_TTL_FIELD_NUMBER
      See Also:
    • respectDnsTtl_

      private boolean respectDnsTtl_
    • DNS_LOOKUP_FAMILY_FIELD_NUMBER

      public static final int DNS_LOOKUP_FAMILY_FIELD_NUMBER
      See Also:
    • dnsLookupFamily_

      private int dnsLookupFamily_
    • DNS_RESOLVERS_FIELD_NUMBER

      public static final int DNS_RESOLVERS_FIELD_NUMBER
      See Also:
    • dnsResolvers_

      private List<Address> dnsResolvers_
    • USE_TCP_FOR_DNS_LOOKUPS_FIELD_NUMBER

      public static final int USE_TCP_FOR_DNS_LOOKUPS_FIELD_NUMBER
      See Also:
    • useTcpForDnsLookups_

      private boolean useTcpForDnsLookups_
    • DNS_RESOLUTION_CONFIG_FIELD_NUMBER

      public static final int DNS_RESOLUTION_CONFIG_FIELD_NUMBER
      See Also:
    • dnsResolutionConfig_

      private DnsResolutionConfig dnsResolutionConfig_
    • TYPED_DNS_RESOLVER_CONFIG_FIELD_NUMBER

      public static final int TYPED_DNS_RESOLVER_CONFIG_FIELD_NUMBER
      See Also:
    • typedDnsResolverConfig_

      private TypedExtensionConfig typedDnsResolverConfig_
    • WAIT_FOR_WARM_ON_INIT_FIELD_NUMBER

      public static final int WAIT_FOR_WARM_ON_INIT_FIELD_NUMBER
      See Also:
    • waitForWarmOnInit_

      private com.google.protobuf.BoolValue waitForWarmOnInit_
    • OUTLIER_DETECTION_FIELD_NUMBER

      public static final int OUTLIER_DETECTION_FIELD_NUMBER
      See Also:
    • outlierDetection_

      private OutlierDetection outlierDetection_
    • CLEANUP_INTERVAL_FIELD_NUMBER

      public static final int CLEANUP_INTERVAL_FIELD_NUMBER
      See Also:
    • cleanupInterval_

      private com.google.protobuf.Duration cleanupInterval_
    • UPSTREAM_BIND_CONFIG_FIELD_NUMBER

      public static final int UPSTREAM_BIND_CONFIG_FIELD_NUMBER
      See Also:
    • upstreamBindConfig_

      private BindConfig upstreamBindConfig_
    • LB_SUBSET_CONFIG_FIELD_NUMBER

      public static final int LB_SUBSET_CONFIG_FIELD_NUMBER
      See Also:
    • lbSubsetConfig_

      private Cluster.LbSubsetConfig lbSubsetConfig_
    • RING_HASH_LB_CONFIG_FIELD_NUMBER

      public static final int RING_HASH_LB_CONFIG_FIELD_NUMBER
      See Also:
    • MAGLEV_LB_CONFIG_FIELD_NUMBER

      public static final int MAGLEV_LB_CONFIG_FIELD_NUMBER
      See Also:
    • ORIGINAL_DST_LB_CONFIG_FIELD_NUMBER

      public static final int ORIGINAL_DST_LB_CONFIG_FIELD_NUMBER
      See Also:
    • LEAST_REQUEST_LB_CONFIG_FIELD_NUMBER

      public static final int LEAST_REQUEST_LB_CONFIG_FIELD_NUMBER
      See Also:
    • ROUND_ROBIN_LB_CONFIG_FIELD_NUMBER

      public static final int ROUND_ROBIN_LB_CONFIG_FIELD_NUMBER
      See Also:
    • COMMON_LB_CONFIG_FIELD_NUMBER

      public static final int COMMON_LB_CONFIG_FIELD_NUMBER
      See Also:
    • commonLbConfig_

      private Cluster.CommonLbConfig commonLbConfig_
    • TRANSPORT_SOCKET_FIELD_NUMBER

      public static final int TRANSPORT_SOCKET_FIELD_NUMBER
      See Also:
    • transportSocket_

      private TransportSocket transportSocket_
    • METADATA_FIELD_NUMBER

      public static final int METADATA_FIELD_NUMBER
      See Also:
    • metadata_

      private Metadata metadata_
    • PROTOCOL_SELECTION_FIELD_NUMBER

      public static final int PROTOCOL_SELECTION_FIELD_NUMBER
      See Also:
    • protocolSelection_

      private int protocolSelection_
    • UPSTREAM_CONNECTION_OPTIONS_FIELD_NUMBER

      public static final int UPSTREAM_CONNECTION_OPTIONS_FIELD_NUMBER
      See Also:
    • upstreamConnectionOptions_

      private UpstreamConnectionOptions upstreamConnectionOptions_
    • CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE_FIELD_NUMBER

      public static final int CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE_FIELD_NUMBER
      See Also:
    • closeConnectionsOnHostHealthFailure_

      private boolean closeConnectionsOnHostHealthFailure_
    • IGNORE_HEALTH_ON_HOST_REMOVAL_FIELD_NUMBER

      public static final int IGNORE_HEALTH_ON_HOST_REMOVAL_FIELD_NUMBER
      See Also:
    • ignoreHealthOnHostRemoval_

      private boolean ignoreHealthOnHostRemoval_
    • FILTERS_FIELD_NUMBER

      public static final int FILTERS_FIELD_NUMBER
      See Also:
    • filters_

      private List<Filter> filters_
    • LOAD_BALANCING_POLICY_FIELD_NUMBER

      public static final int LOAD_BALANCING_POLICY_FIELD_NUMBER
      See Also:
    • loadBalancingPolicy_

      private LoadBalancingPolicy loadBalancingPolicy_
    • LRS_SERVER_FIELD_NUMBER

      public static final int LRS_SERVER_FIELD_NUMBER
      See Also:
    • lrsServer_

      private ConfigSource lrsServer_
    • TRACK_TIMEOUT_BUDGETS_FIELD_NUMBER

      public static final int TRACK_TIMEOUT_BUDGETS_FIELD_NUMBER
      See Also:
    • trackTimeoutBudgets_

      private boolean trackTimeoutBudgets_
    • UPSTREAM_CONFIG_FIELD_NUMBER

      public static final int UPSTREAM_CONFIG_FIELD_NUMBER
      See Also:
    • upstreamConfig_

      private TypedExtensionConfig upstreamConfig_
    • TRACK_CLUSTER_STATS_FIELD_NUMBER

      public static final int TRACK_CLUSTER_STATS_FIELD_NUMBER
      See Also:
    • trackClusterStats_

      private TrackClusterStats trackClusterStats_
    • PRECONNECT_POLICY_FIELD_NUMBER

      public static final int PRECONNECT_POLICY_FIELD_NUMBER
      See Also:
    • preconnectPolicy_

      private Cluster.PreconnectPolicy preconnectPolicy_
    • CONNECTION_POOL_PER_DOWNSTREAM_CONNECTION_FIELD_NUMBER

      public static final int CONNECTION_POOL_PER_DOWNSTREAM_CONNECTION_FIELD_NUMBER
      See Also:
    • connectionPoolPerDownstreamConnection_

      private boolean connectionPoolPerDownstreamConnection_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final Cluster DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<Cluster> PARSER
  • Constructor Details

    • Cluster

      private Cluster(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • Cluster

      private Cluster()
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
      Overrides:
      internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessage
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getClusterDiscoveryTypeCase

      public Cluster.ClusterDiscoveryTypeCase getClusterDiscoveryTypeCase()
      Specified by:
      getClusterDiscoveryTypeCase in interface ClusterOrBuilder
    • getLbConfigCase

      public Cluster.LbConfigCase getLbConfigCase()
      Specified by:
      getLbConfigCase in interface ClusterOrBuilder
    • getTransportSocketMatchesList

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

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

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

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

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

      public String getName()
       Supplies the name of the cluster which must be unique across all clusters.
       The cluster name is used when emitting
       :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
       <envoy_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) = { ... }
      Specified by:
      getName in interface ClusterOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       Supplies the name of the cluster which must be unique across all clusters.
       The cluster name is used when emitting
       :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
       <envoy_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) = { ... }
      Specified by:
      getNameBytes in interface ClusterOrBuilder
      Returns:
      The bytes for name.
    • getAltStatName

      public 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) = { ... }
      Specified by:
      getAltStatName in interface ClusterOrBuilder
      Returns:
      The altStatName.
    • getAltStatNameBytes

      public com.google.protobuf.ByteString getAltStatNameBytes()
       An optional alternative to the cluster name to be used 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) = { ... }
      Specified by:
      getAltStatNameBytes in interface ClusterOrBuilder
      Returns:
      The bytes for altStatName.
    • hasType

      public 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) = { ... }
      Specified by:
      hasType in interface ClusterOrBuilder
      Returns:
      Whether the type field is set.
    • getTypeValue

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

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

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

      public Cluster.CustomClusterType getClusterType()
       The custom cluster type.
       
      .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38;
      Specified by:
      getClusterType in interface ClusterOrBuilder
      Returns:
      The clusterType.
    • getClusterTypeOrBuilder

      public Cluster.CustomClusterTypeOrBuilder getClusterTypeOrBuilder()
       The custom cluster type.
       
      .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38;
      Specified by:
      getClusterTypeOrBuilder in interface ClusterOrBuilder
    • hasEdsClusterConfig

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

      public Cluster.EdsClusterConfig getEdsClusterConfig()
       Configuration to use for EDS updates for the Cluster.
       
      .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3;
      Specified by:
      getEdsClusterConfig in interface ClusterOrBuilder
      Returns:
      The edsClusterConfig.
    • getEdsClusterConfigOrBuilder

      public Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder()
       Configuration to use for EDS updates for the Cluster.
       
      .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3;
      Specified by:
      getEdsClusterConfigOrBuilder in interface ClusterOrBuilder
    • hasConnectTimeout

      public 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) = { ... }
      Specified by:
      hasConnectTimeout in interface ClusterOrBuilder
      Returns:
      Whether the connectTimeout field is set.
    • getConnectTimeout

      public com.google.protobuf.Duration getConnectTimeout()
       The timeout for new network connections to hosts in the cluster.
       If not set, a default value of 5s will be used.
       
      .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      Specified by:
      getConnectTimeout in interface ClusterOrBuilder
      Returns:
      The connectTimeout.
    • getConnectTimeoutOrBuilder

      public com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder()
       The timeout for new network connections to hosts in the cluster.
       If not set, a default value of 5s will be used.
       
      .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
      Specified by:
      getConnectTimeoutOrBuilder in interface ClusterOrBuilder
    • hasPerConnectionBufferLimitBytes

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

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

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

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

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

      public 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;
      Specified by:
      hasLoadAssignment in interface ClusterOrBuilder
      Returns:
      Whether the loadAssignment field is set.
    • getLoadAssignment

      public ClusterLoadAssignment getLoadAssignment()
       Setting this is required for specifying members of
       :ref:`STATIC<envoy_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;
      Specified by:
      getLoadAssignment in interface ClusterOrBuilder
      Returns:
      The loadAssignment.
    • getLoadAssignmentOrBuilder

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

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

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

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

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

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

      @Deprecated public boolean hasMaxRequestsPerConnection()
      Deprecated.
      envoy.config.cluster.v3.Cluster.max_requests_per_connection is deprecated. See envoy/config/cluster/v3/cluster.proto;l=877
       Optional maximum requests for a single upstream connection. This parameter
       is respected by both the HTTP/1.1 and HTTP/2 connection pool
       implementations. If not specified, there is no limit. Setting this
       parameter to 1 will effectively disable keep alive.
      
       .. attention::
       This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
       
      .google.protobuf.UInt32Value max_requests_per_connection = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      hasMaxRequestsPerConnection in interface ClusterOrBuilder
      Returns:
      Whether the maxRequestsPerConnection field is set.
    • getMaxRequestsPerConnection

      @Deprecated public com.google.protobuf.UInt32Value getMaxRequestsPerConnection()
      Deprecated.
      envoy.config.cluster.v3.Cluster.max_requests_per_connection is deprecated. See envoy/config/cluster/v3/cluster.proto;l=877
       Optional maximum requests for a single upstream connection. This parameter
       is respected by both the HTTP/1.1 and HTTP/2 connection pool
       implementations. If not specified, there is no limit. Setting this
       parameter to 1 will effectively disable keep alive.
      
       .. attention::
       This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
       
      .google.protobuf.UInt32Value max_requests_per_connection = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getMaxRequestsPerConnection in interface ClusterOrBuilder
      Returns:
      The maxRequestsPerConnection.
    • getMaxRequestsPerConnectionOrBuilder

      @Deprecated public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder()
      Deprecated.
       Optional maximum requests for a single upstream connection. This parameter
       is respected by both the HTTP/1.1 and HTTP/2 connection pool
       implementations. If not specified, there is no limit. Setting this
       parameter to 1 will effectively disable keep alive.
      
       .. attention::
       This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
       
      .google.protobuf.UInt32Value max_requests_per_connection = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getMaxRequestsPerConnectionOrBuilder in interface ClusterOrBuilder
    • hasCircuitBreakers

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

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

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

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

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

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

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

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

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

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

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

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

      @Deprecated public boolean hasHttp2ProtocolOptions()
      Deprecated.
      envoy.config.cluster.v3.Cluster.http2_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=933
       Even if default HTTP2 protocol options are desired, this field must be
       set so that Envoy will assume that the upstream supports HTTP/2 when
       making new HTTP connection pool connections. Currently, Envoy only
       supports prior knowledge for upstream connections. Even if TLS is used
       with ALPN, ``http2_protocol_options`` must be specified. As an aside this allows HTTP/2
       connections to happen over plain text.
       This has been deprecated in favor of http2_protocol_options fields in the
       :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>`
       message. http2_protocol_options can be set via the cluster's
       :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
       See :ref:`upstream_http_protocol_options
       <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
       for example usage.
       
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14 [deprecated = true, (.udpa.annotations.security) = { ... }
      Specified by:
      hasHttp2ProtocolOptions in interface ClusterOrBuilder
      Returns:
      Whether the http2ProtocolOptions field is set.
    • getHttp2ProtocolOptions

      @Deprecated public Http2ProtocolOptions getHttp2ProtocolOptions()
      Deprecated.
      envoy.config.cluster.v3.Cluster.http2_protocol_options is deprecated. See envoy/config/cluster/v3/cluster.proto;l=933
       Even if default HTTP2 protocol options are desired, this field must be
       set so that Envoy will assume that the upstream supports HTTP/2 when
       making new HTTP connection pool connections. Currently, Envoy only
       supports prior knowledge for upstream connections. Even if TLS is used
       with ALPN, ``http2_protocol_options`` must be specified. As an aside this allows HTTP/2
       connections to happen over plain text.
       This has been deprecated in favor of http2_protocol_options fields in the
       :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>`
       message. http2_protocol_options can be set via the cluster's
       :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
       See :ref:`upstream_http_protocol_options
       <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
       for example usage.
       
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14 [deprecated = true, (.udpa.annotations.security) = { ... }
      Specified by:
      getHttp2ProtocolOptions in interface ClusterOrBuilder
      Returns:
      The http2ProtocolOptions.
    • getHttp2ProtocolOptionsOrBuilder

      @Deprecated public Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder()
      Deprecated.
       Even if default HTTP2 protocol options are desired, this field must be
       set so that Envoy will assume that the upstream supports HTTP/2 when
       making new HTTP connection pool connections. Currently, Envoy only
       supports prior knowledge for upstream connections. Even if TLS is used
       with ALPN, ``http2_protocol_options`` must be specified. As an aside this allows HTTP/2
       connections to happen over plain text.
       This has been deprecated in favor of http2_protocol_options fields in the
       :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>`
       message. http2_protocol_options can be set via the cluster's
       :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
       See :ref:`upstream_http_protocol_options
       <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
       for example usage.
       
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14 [deprecated = true, (.udpa.annotations.security) = { ... }
      Specified by:
      getHttp2ProtocolOptionsOrBuilder in interface ClusterOrBuilder
    • internalGetTypedExtensionProtocolOptions

      private com.google.protobuf.MapField<String,com.google.protobuf.Any> internalGetTypedExtensionProtocolOptions()
    • getTypedExtensionProtocolOptionsCount

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

      public boolean containsTypedExtensionProtocolOptions(String key)
       The extension_protocol_options field is used to provide extension-specific protocol options
       for upstream connections. The key should match the extension filter name, such as
       "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
       specific options.
       [#next-major-version: make this a list of typed extensions.]
       
      map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
      Specified by:
      containsTypedExtensionProtocolOptions in interface ClusterOrBuilder
    • getTypedExtensionProtocolOptions

      @Deprecated public Map<String,com.google.protobuf.Any> getTypedExtensionProtocolOptions()
      Deprecated.
      Specified by:
      getTypedExtensionProtocolOptions in interface ClusterOrBuilder
    • getTypedExtensionProtocolOptionsMap

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

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

      public com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow(String key)
       The extension_protocol_options field is used to provide extension-specific protocol options
       for upstream connections. The key should match the extension filter name, such as
       "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
       specific options.
       [#next-major-version: make this a list of typed extensions.]
       
      map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
      Specified by:
      getTypedExtensionProtocolOptionsOrThrow in interface ClusterOrBuilder
    • hasDnsRefreshRate

      public 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) = { ... }
      Specified by:
      hasDnsRefreshRate in interface ClusterOrBuilder
      Returns:
      Whether the dnsRefreshRate field is set.
    • getDnsRefreshRate

      public com.google.protobuf.Duration getDnsRefreshRate()
       If the DNS refresh rate is specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_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) = { ... }
      Specified by:
      getDnsRefreshRate in interface ClusterOrBuilder
      Returns:
      The dnsRefreshRate.
    • getDnsRefreshRateOrBuilder

      public com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder()
       If the DNS refresh rate is specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
       or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
       this value is used as the cluster’s DNS refresh
       rate. The value configured must be at least 1ms. If this setting is not specified, the
       value defaults to 5000ms. For cluster types other than
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
       and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
       this setting is ignored.
       
      .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
      Specified by:
      getDnsRefreshRateOrBuilder in interface ClusterOrBuilder
    • hasDnsFailureRefreshRate

      public boolean hasDnsFailureRefreshRate()
       If the DNS failure refresh rate is specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_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;
      Specified by:
      hasDnsFailureRefreshRate in interface ClusterOrBuilder
      Returns:
      Whether the dnsFailureRefreshRate field is set.
    • getDnsFailureRefreshRate

      public Cluster.RefreshRate getDnsFailureRefreshRate()
       If the DNS failure refresh rate is specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_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;
      Specified by:
      getDnsFailureRefreshRate in interface ClusterOrBuilder
      Returns:
      The dnsFailureRefreshRate.
    • getDnsFailureRefreshRateOrBuilder

      public Cluster.RefreshRateOrBuilder getDnsFailureRefreshRateOrBuilder()
       If the DNS failure refresh rate is specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
       or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
       this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
       not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
       other than :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
       :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
       ignored.
       
      .envoy.config.cluster.v3.Cluster.RefreshRate dns_failure_refresh_rate = 44;
      Specified by:
      getDnsFailureRefreshRateOrBuilder in interface ClusterOrBuilder
    • getRespectDnsTtl

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

      public 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) = { ... }
      Specified by:
      getDnsLookupFamilyValue in interface ClusterOrBuilder
      Returns:
      The enum numeric value on the wire for dnsLookupFamily.
    • getDnsLookupFamily

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

      @Deprecated public List<Address> getDnsResolversList()
      Deprecated.
       If DNS resolvers are specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
       or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
       this value is used to specify the cluster’s dns resolvers.
       If this setting is not specified, the value defaults to the default
       resolver, which uses /etc/resolv.conf for configuration. For cluster types
       other than
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
       and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
       this setting is ignored.
       This field is deprecated in favor of ``dns_resolution_config``
       which aggregates all of the DNS resolver configuration in a single message.
       
      repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getDnsResolversList in interface ClusterOrBuilder
    • getDnsResolversOrBuilderList

      @Deprecated public List<? extends AddressOrBuilder> getDnsResolversOrBuilderList()
      Deprecated.
       If DNS resolvers are specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
       or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
       this value is used to specify the cluster’s dns resolvers.
       If this setting is not specified, the value defaults to the default
       resolver, which uses /etc/resolv.conf for configuration. For cluster types
       other than
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
       and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
       this setting is ignored.
       This field is deprecated in favor of ``dns_resolution_config``
       which aggregates all of the DNS resolver configuration in a single message.
       
      repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getDnsResolversOrBuilderList in interface ClusterOrBuilder
    • getDnsResolversCount

      @Deprecated public int getDnsResolversCount()
      Deprecated.
       If DNS resolvers are specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
       or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
       this value is used to specify the cluster’s dns resolvers.
       If this setting is not specified, the value defaults to the default
       resolver, which uses /etc/resolv.conf for configuration. For cluster types
       other than
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
       and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
       this setting is ignored.
       This field is deprecated in favor of ``dns_resolution_config``
       which aggregates all of the DNS resolver configuration in a single message.
       
      repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getDnsResolversCount in interface ClusterOrBuilder
    • getDnsResolvers

      @Deprecated public Address getDnsResolvers(int index)
      Deprecated.
       If DNS resolvers are specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
       or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
       this value is used to specify the cluster’s dns resolvers.
       If this setting is not specified, the value defaults to the default
       resolver, which uses /etc/resolv.conf for configuration. For cluster types
       other than
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
       and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
       this setting is ignored.
       This field is deprecated in favor of ``dns_resolution_config``
       which aggregates all of the DNS resolver configuration in a single message.
       
      repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getDnsResolvers in interface ClusterOrBuilder
    • getDnsResolversOrBuilder

      @Deprecated public AddressOrBuilder getDnsResolversOrBuilder(int index)
      Deprecated.
       If DNS resolvers are specified and the cluster type is either
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
       or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
       this value is used to specify the cluster’s dns resolvers.
       If this setting is not specified, the value defaults to the default
       resolver, which uses /etc/resolv.conf for configuration. For cluster types
       other than
       :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
       and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
       this setting is ignored.
       This field is deprecated in favor of ``dns_resolution_config``
       which aggregates all of the DNS resolver configuration in a single message.
       
      repeated .envoy.config.core.v3.Address dns_resolvers = 18 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getDnsResolversOrBuilder in interface ClusterOrBuilder
    • getUseTcpForDnsLookups

      @Deprecated public boolean getUseTcpForDnsLookups()
      Deprecated.
      envoy.config.cluster.v3.Cluster.use_tcp_for_dns_lookups is deprecated. See envoy/config/cluster/v3/cluster.proto;l=996
       Always use TCP queries instead of UDP queries for DNS lookups.
       This field is deprecated in favor of ``dns_resolution_config``
       which aggregates all of the DNS resolver configuration in a single message.
       
      bool use_tcp_for_dns_lookups = 45 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getUseTcpForDnsLookups in interface ClusterOrBuilder
      Returns:
      The useTcpForDnsLookups.
    • hasDnsResolutionConfig

      @Deprecated public boolean hasDnsResolutionConfig()
      Deprecated.
      envoy.config.cluster.v3.Cluster.dns_resolution_config is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1002
       DNS resolution configuration which includes the underlying dns resolver addresses and options.
       This field is deprecated in favor of
       :ref:`typed_dns_resolver_config <envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
       
      .envoy.config.core.v3.DnsResolutionConfig dns_resolution_config = 53 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      hasDnsResolutionConfig in interface ClusterOrBuilder
      Returns:
      Whether the dnsResolutionConfig field is set.
    • getDnsResolutionConfig

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

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

      public 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;
      Specified by:
      hasTypedDnsResolverConfig in interface ClusterOrBuilder
      Returns:
      Whether the typedDnsResolverConfig field is set.
    • getTypedDnsResolverConfig

      public 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;
      Specified by:
      getTypedDnsResolverConfig in interface ClusterOrBuilder
      Returns:
      The typedDnsResolverConfig.
    • getTypedDnsResolverConfigOrBuilder

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

      public 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;
      Specified by:
      hasWaitForWarmOnInit in interface ClusterOrBuilder
      Returns:
      Whether the waitForWarmOnInit field is set.
    • getWaitForWarmOnInit

      public 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;
      Specified by:
      getWaitForWarmOnInit in interface ClusterOrBuilder
      Returns:
      The waitForWarmOnInit.
    • getWaitForWarmOnInitOrBuilder

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

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

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

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

      public boolean hasCleanupInterval()
       The interval for removing stale hosts from a cluster type
       :ref:`ORIGINAL_DST<envoy_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) = { ... }
      Specified by:
      hasCleanupInterval in interface ClusterOrBuilder
      Returns:
      Whether the cleanupInterval field is set.
    • getCleanupInterval

      public com.google.protobuf.Duration getCleanupInterval()
       The interval for removing stale hosts from a cluster type
       :ref:`ORIGINAL_DST<envoy_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) = { ... }
      Specified by:
      getCleanupInterval in interface ClusterOrBuilder
      Returns:
      The cleanupInterval.
    • getCleanupIntervalOrBuilder

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

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

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

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

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

      public Cluster.LbSubsetConfig getLbSubsetConfig()
       Configuration for load balancing subsetting.
       
      .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
      Specified by:
      getLbSubsetConfig in interface ClusterOrBuilder
      Returns:
      The lbSubsetConfig.
    • getLbSubsetConfigOrBuilder

      public Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder()
       Configuration for load balancing subsetting.
       
      .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
      Specified by:
      getLbSubsetConfigOrBuilder in interface ClusterOrBuilder
    • hasRingHashLbConfig

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

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

      public Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder()
       Optional configuration for the Ring Hash load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
      Specified by:
      getRingHashLbConfigOrBuilder in interface ClusterOrBuilder
    • hasMaglevLbConfig

      public boolean hasMaglevLbConfig()
       Optional configuration for the Maglev load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52;
      Specified by:
      hasMaglevLbConfig in interface ClusterOrBuilder
      Returns:
      Whether the maglevLbConfig field is set.
    • getMaglevLbConfig

      public Cluster.MaglevLbConfig getMaglevLbConfig()
       Optional configuration for the Maglev load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52;
      Specified by:
      getMaglevLbConfig in interface ClusterOrBuilder
      Returns:
      The maglevLbConfig.
    • getMaglevLbConfigOrBuilder

      public Cluster.MaglevLbConfigOrBuilder getMaglevLbConfigOrBuilder()
       Optional configuration for the Maglev load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.MaglevLbConfig maglev_lb_config = 52;
      Specified by:
      getMaglevLbConfigOrBuilder in interface ClusterOrBuilder
    • hasOriginalDstLbConfig

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

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

      public Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder()
       Optional configuration for the Original Destination load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
      Specified by:
      getOriginalDstLbConfigOrBuilder in interface ClusterOrBuilder
    • hasLeastRequestLbConfig

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

      public Cluster.LeastRequestLbConfig getLeastRequestLbConfig()
       Optional configuration for the LeastRequest load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      Specified by:
      getLeastRequestLbConfig in interface ClusterOrBuilder
      Returns:
      The leastRequestLbConfig.
    • getLeastRequestLbConfigOrBuilder

      public Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder()
       Optional configuration for the LeastRequest load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
      Specified by:
      getLeastRequestLbConfigOrBuilder in interface ClusterOrBuilder
    • hasRoundRobinLbConfig

      public boolean hasRoundRobinLbConfig()
       Optional configuration for the RoundRobin load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56;
      Specified by:
      hasRoundRobinLbConfig in interface ClusterOrBuilder
      Returns:
      Whether the roundRobinLbConfig field is set.
    • getRoundRobinLbConfig

      public Cluster.RoundRobinLbConfig getRoundRobinLbConfig()
       Optional configuration for the RoundRobin load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56;
      Specified by:
      getRoundRobinLbConfig in interface ClusterOrBuilder
      Returns:
      The roundRobinLbConfig.
    • getRoundRobinLbConfigOrBuilder

      public Cluster.RoundRobinLbConfigOrBuilder getRoundRobinLbConfigOrBuilder()
       Optional configuration for the RoundRobin load balancing policy.
       
      .envoy.config.cluster.v3.Cluster.RoundRobinLbConfig round_robin_lb_config = 56;
      Specified by:
      getRoundRobinLbConfigOrBuilder in interface ClusterOrBuilder
    • hasCommonLbConfig

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

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

      public Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder()
       Common configuration for all load balancer implementations.
       
      .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27;
      Specified by:
      getCommonLbConfigOrBuilder in interface ClusterOrBuilder
    • hasTransportSocket

      public 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;
      Specified by:
      hasTransportSocket in interface ClusterOrBuilder
      Returns:
      Whether the transportSocket field is set.
    • getTransportSocket

      public TransportSocket getTransportSocket()
       Optional custom transport socket implementation to use for upstream connections.
       To setup TLS, set a transport socket with name ``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;
      Specified by:
      getTransportSocket in interface ClusterOrBuilder
      Returns:
      The transportSocket.
    • getTransportSocketOrBuilder

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

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

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

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

      @Deprecated public int getProtocolSelectionValue()
      Deprecated.
      envoy.config.cluster.v3.Cluster.protocol_selection is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1102
       Determines how Envoy selects the protocol used to speak to upstream hosts.
       This has been deprecated in favor of setting explicit protocol selection
       in the :ref:`http_protocol_options
       <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
       http_protocol_options can be set via the cluster's
       :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
       
      .envoy.config.cluster.v3.Cluster.ClusterProtocolSelection protocol_selection = 26 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getProtocolSelectionValue in interface ClusterOrBuilder
      Returns:
      The enum numeric value on the wire for protocolSelection.
    • getProtocolSelection

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

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

      public UpstreamConnectionOptions getUpstreamConnectionOptions()
       Optional options for upstream connections.
       
      .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
      Specified by:
      getUpstreamConnectionOptions in interface ClusterOrBuilder
      Returns:
      The upstreamConnectionOptions.
    • getUpstreamConnectionOptionsOrBuilder

      public UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder()
       Optional options for upstream connections.
       
      .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
      Specified by:
      getUpstreamConnectionOptionsOrBuilder in interface ClusterOrBuilder
    • getCloseConnectionsOnHostHealthFailure

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

      public boolean getIgnoreHealthOnHostRemoval()
       If set to true, Envoy will ignore the health value of a host when processing its removal
       from service discovery. This means that if active health checking is used, Envoy will *not*
       wait for the endpoint to go unhealthy before removing it.
       
      bool ignore_health_on_host_removal = 32;
      Specified by:
      getIgnoreHealthOnHostRemoval in interface ClusterOrBuilder
      Returns:
      The ignoreHealthOnHostRemoval.
    • getFiltersList

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

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

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

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

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

      public 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;
      Specified by:
      hasLoadBalancingPolicy in interface ClusterOrBuilder
      Returns:
      Whether the loadBalancingPolicy field is set.
    • getLoadBalancingPolicy

      public 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;
      Specified by:
      getLoadBalancingPolicy in interface ClusterOrBuilder
      Returns:
      The loadBalancingPolicy.
    • getLoadBalancingPolicyOrBuilder

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

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

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

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

      @Deprecated public boolean getTrackTimeoutBudgets()
      Deprecated.
      envoy.config.cluster.v3.Cluster.track_timeout_budgets is deprecated. See envoy/config/cluster/v3/cluster.proto;l=1163
       If track_timeout_budgets is true, the :ref:`timeout budget histograms
       <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
       request. These show what percentage of a request's per try and global timeout was used. A value
       of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
       of 100 would indicate that the request took the entirety of the timeout given to it.
      
       .. attention::
      
       This field has been deprecated in favor of ``timeout_budgets``, part of
       :ref:`track_cluster_stats <envoy_v3_api_field_config.cluster.v3.Cluster.track_cluster_stats>`.
       
      bool track_timeout_budgets = 47 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getTrackTimeoutBudgets in interface ClusterOrBuilder
      Returns:
      The trackTimeoutBudgets.
    • hasUpstreamConfig

      public 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;
      Specified by:
      hasUpstreamConfig in interface ClusterOrBuilder
      Returns:
      Whether the upstreamConfig field is set.
    • getUpstreamConfig

      public 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;
      Specified by:
      getUpstreamConfig in interface ClusterOrBuilder
      Returns:
      The upstreamConfig.
    • getUpstreamConfigOrBuilder

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

      public boolean hasTrackClusterStats()
       Configuration to track optional cluster stats.
       
      .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49;
      Specified by:
      hasTrackClusterStats in interface ClusterOrBuilder
      Returns:
      Whether the trackClusterStats field is set.
    • getTrackClusterStats

      public TrackClusterStats getTrackClusterStats()
       Configuration to track optional cluster stats.
       
      .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49;
      Specified by:
      getTrackClusterStats in interface ClusterOrBuilder
      Returns:
      The trackClusterStats.
    • getTrackClusterStatsOrBuilder

      public TrackClusterStatsOrBuilder getTrackClusterStatsOrBuilder()
       Configuration to track optional cluster stats.
       
      .envoy.config.cluster.v3.TrackClusterStats track_cluster_stats = 49;
      Specified by:
      getTrackClusterStatsOrBuilder in interface ClusterOrBuilder
    • hasPreconnectPolicy

      public boolean hasPreconnectPolicy()
       Preconnect configuration for this cluster.
       
      .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50;
      Specified by:
      hasPreconnectPolicy in interface ClusterOrBuilder
      Returns:
      Whether the preconnectPolicy field is set.
    • getPreconnectPolicy

      public Cluster.PreconnectPolicy getPreconnectPolicy()
       Preconnect configuration for this cluster.
       
      .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50;
      Specified by:
      getPreconnectPolicy in interface ClusterOrBuilder
      Returns:
      The preconnectPolicy.
    • getPreconnectPolicyOrBuilder

      public Cluster.PreconnectPolicyOrBuilder getPreconnectPolicyOrBuilder()
       Preconnect configuration for this cluster.
       
      .envoy.config.cluster.v3.Cluster.PreconnectPolicy preconnect_policy = 50;
      Specified by:
      getPreconnectPolicyOrBuilder in interface ClusterOrBuilder
    • getConnectionPoolPerDownstreamConnection

      public boolean getConnectionPoolPerDownstreamConnection()
       If ``connection_pool_per_downstream_connection`` is true, the cluster will use a separate
       connection pool for every downstream connection
       
      bool connection_pool_per_downstream_connection = 51;
      Specified by:
      getConnectionPoolPerDownstreamConnection in interface ClusterOrBuilder
      Returns:
      The connectionPoolPerDownstreamConnection.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static Cluster parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Cluster parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Cluster parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Cluster parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Cluster parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Cluster parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

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

      public static Cluster.Builder newBuilder()
    • newBuilder

      public static Cluster.Builder newBuilder(Cluster prototype)
    • toBuilder

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

      protected Cluster.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static Cluster getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Cluster> parser()
    • getParserForType

      public com.google.protobuf.Parser<Cluster> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

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