Class 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.GeneratedMessageV3
    implements ClusterOrBuilder
     Configuration for a single upstream cluster.
     [#next-free-field: 48]
     
    Protobuf type envoy.api.v2.Cluster
    See Also:
    Serialized Form
    • Field Detail

      • TRANSPORT_SOCKET_MATCHES_FIELD_NUMBER

        public static final int TRANSPORT_SOCKET_MATCHES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ALT_STAT_NAME_FIELD_NUMBER

        public static final int ALT_STAT_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CLUSTER_TYPE_FIELD_NUMBER

        public static final int CLUSTER_TYPE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • EDS_CLUSTER_CONFIG_FIELD_NUMBER

        public static final int EDS_CLUSTER_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CONNECT_TIMEOUT_FIELD_NUMBER

        public static final int CONNECT_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PER_CONNECTION_BUFFER_LIMIT_BYTES_FIELD_NUMBER

        public static final int PER_CONNECTION_BUFFER_LIMIT_BYTES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LOAD_ASSIGNMENT_FIELD_NUMBER

        public static final int LOAD_ASSIGNMENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HEALTH_CHECKS_FIELD_NUMBER

        public static final int HEALTH_CHECKS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER

        public static final int MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CIRCUIT_BREAKERS_FIELD_NUMBER

        public static final int CIRCUIT_BREAKERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TLS_CONTEXT_FIELD_NUMBER

        public static final int TLS_CONTEXT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TYPED_EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int TYPED_EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DNS_REFRESH_RATE_FIELD_NUMBER

        public static final int DNS_REFRESH_RATE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DNS_FAILURE_REFRESH_RATE_FIELD_NUMBER

        public static final int DNS_FAILURE_REFRESH_RATE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RESPECT_DNS_TTL_FIELD_NUMBER

        public static final int RESPECT_DNS_TTL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DNS_LOOKUP_FAMILY_FIELD_NUMBER

        public static final int DNS_LOOKUP_FAMILY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DNS_RESOLVERS_FIELD_NUMBER

        public static final int DNS_RESOLVERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • USE_TCP_FOR_DNS_LOOKUPS_FIELD_NUMBER

        public static final int USE_TCP_FOR_DNS_LOOKUPS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • OUTLIER_DETECTION_FIELD_NUMBER

        public static final int OUTLIER_DETECTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CLEANUP_INTERVAL_FIELD_NUMBER

        public static final int CLEANUP_INTERVAL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • UPSTREAM_BIND_CONFIG_FIELD_NUMBER

        public static final int UPSTREAM_BIND_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LB_SUBSET_CONFIG_FIELD_NUMBER

        public static final int LB_SUBSET_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RING_HASH_LB_CONFIG_FIELD_NUMBER

        public static final int RING_HASH_LB_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ORIGINAL_DST_LB_CONFIG_FIELD_NUMBER

        public static final int ORIGINAL_DST_LB_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LEAST_REQUEST_LB_CONFIG_FIELD_NUMBER

        public static final int LEAST_REQUEST_LB_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COMMON_LB_CONFIG_FIELD_NUMBER

        public static final int COMMON_LB_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TRANSPORT_SOCKET_FIELD_NUMBER

        public static final int TRANSPORT_SOCKET_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PROTOCOL_SELECTION_FIELD_NUMBER

        public static final int PROTOCOL_SELECTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • UPSTREAM_CONNECTION_OPTIONS_FIELD_NUMBER

        public static final int UPSTREAM_CONNECTION_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE_FIELD_NUMBER

        public static final int CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DRAIN_CONNECTIONS_ON_HOST_REMOVAL_FIELD_NUMBER

        public static final int DRAIN_CONNECTIONS_ON_HOST_REMOVAL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LOAD_BALANCING_POLICY_FIELD_NUMBER

        public static final int LOAD_BALANCING_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LRS_SERVER_FIELD_NUMBER

        public static final int LRS_SERVER_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TRACK_TIMEOUT_BUDGETS_FIELD_NUMBER

        public static final int TRACK_TIMEOUT_BUDGETS_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        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_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        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_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        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_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        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_api_field_endpoint.LbEndpoint.metadata>`
         is used to match against the transport sockets as they appear in the list. The first
         :ref:`match <envoy_api_msg_Cluster.TransportSocketMatch>` is used.
         For example, with the following match
         .. code-block:: yaml
          transport_socket_matches:
          - name: "enableMTLS"
            match:
              acceptMTLS: true
            transport_socket:
              name: envoy.transport_sockets.tls
              config: { ... } # tls socket configuration
          - name: "defaultToPlaintext"
            match: {}
            transport_socket:
              name: envoy.transport_sockets.raw_buffer
         Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
         having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
         If a :ref:`socket match <envoy_api_msg_Cluster.TransportSocketMatch>` with empty match
         criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
         socket match in case above.
         If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
         *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
         *transport_socket* specified in this cluster.
         This field allows gradual and flexible transport socket configuration changes.
         The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
         an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
         "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
         has "acceptPlaintext": "true" metadata information.
         Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
         traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
         *TransportSocketMatch* in this field. Other client Envoys receive CDS without
         *transport_socket_match* set, and still send plain text traffic to the same cluster.
         [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
         
        repeated .envoy.api.v2.Cluster.TransportSocketMatch transport_socket_matches = 43;
        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_api_field_Cluster.alt_stat_name>` is not provided.
         Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
         
        string name = 1 [(.validate.rules) = { ... }
        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_api_field_Cluster.alt_stat_name>` is not provided.
         Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
         
        string name = 1 [(.validate.rules) = { ... }
        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 while emitting stats.
         Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
         confused with :ref:`Router Filter Header
         <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
         
        string alt_stat_name = 28;
        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 while emitting stats.
         Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
         confused with :ref:`Router Filter Header
         <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
         
        string alt_stat_name = 28;
        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.api.v2.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.api.v2.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.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
        Specified by:
        getType in interface ClusterOrBuilder
        Returns:
        The type.
      • hasClusterType

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

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

        public boolean hasConnectTimeout()
         The timeout for new network connections to hosts in the cluster.
         
        .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.
         
        .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.
         
        .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;
        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;
        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;
        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.api.v2.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.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
        Specified by:
        getLbPolicy in interface ClusterOrBuilder
        Returns:
        The lbPolicy.
      • getHostsList

        @Deprecated
        public List<Address> getHostsList()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsList in interface ClusterOrBuilder
      • getHostsOrBuilderList

        @Deprecated
        public List<? extends AddressOrBuilder> getHostsOrBuilderList()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsOrBuilderList in interface ClusterOrBuilder
      • getHostsCount

        @Deprecated
        public int getHostsCount()
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsCount in interface ClusterOrBuilder
      • getHosts

        @Deprecated
        public Address getHosts​(int index)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHosts in interface ClusterOrBuilder
      • getHostsOrBuilder

        @Deprecated
        public AddressOrBuilder getHostsOrBuilder​(int index)
        Deprecated.
         If the service discovery type is
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         then hosts is required.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
         
        repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];
        Specified by:
        getHostsOrBuilder in interface ClusterOrBuilder
      • hasLoadAssignment

        public boolean hasLoadAssignment()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
        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_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
        Specified by:
        getLoadAssignment in interface ClusterOrBuilder
        Returns:
        The loadAssignment.
      • getLoadAssignmentOrBuilder

        public ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder()
         Setting this is required for specifying members of
         :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
         This field supersedes the *hosts* field in the v2 API.
         .. attention::
           Setting this allows non-EDS cluster types to contain embedded EDS equivalent
           :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
         
        .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
        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.api.v2.core.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.api.v2.core.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.api.v2.core.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.api.v2.core.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.api.v2.core.HealthCheck health_checks = 8;
        Specified by:
        getHealthChecksOrBuilder in interface ClusterOrBuilder
      • hasMaxRequestsPerConnection

        public boolean hasMaxRequestsPerConnection()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
        Specified by:
        hasMaxRequestsPerConnection in interface ClusterOrBuilder
        Returns:
        Whether the maxRequestsPerConnection field is set.
      • getMaxRequestsPerConnection

        public com.google.protobuf.UInt32Value getMaxRequestsPerConnection()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
        Specified by:
        getMaxRequestsPerConnection in interface ClusterOrBuilder
        Returns:
        The maxRequestsPerConnection.
      • getMaxRequestsPerConnectionOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder()
         Optional maximum requests for a single upstream connection. This parameter
         is respected by both the HTTP/1.1 and HTTP/2 connection pool
         implementations. If not specified, there is no limit. Setting this
         parameter to 1 will effectively disable keep alive.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 9;
        Specified by:
        getMaxRequestsPerConnectionOrBuilder in interface ClusterOrBuilder
      • hasCircuitBreakers

        public boolean hasCircuitBreakers()
         Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
         
        .envoy.api.v2.cluster.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.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
        Specified by:
        getCircuitBreakers in interface ClusterOrBuilder
        Returns:
        The circuitBreakers.
      • hasTlsContext

        @Deprecated
        public boolean hasTlsContext()
        Deprecated.
        envoy.api.v2.Cluster.tls_context is deprecated. See envoy/api/v2/cluster.proto;l=607
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        hasTlsContext in interface ClusterOrBuilder
        Returns:
        Whether the tlsContext field is set.
      • getTlsContext

        @Deprecated
        public UpstreamTlsContext getTlsContext()
        Deprecated.
        envoy.api.v2.Cluster.tls_context is deprecated. See envoy/api/v2/cluster.proto;l=607
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getTlsContext in interface ClusterOrBuilder
        Returns:
        The tlsContext.
      • getTlsContextOrBuilder

        @Deprecated
        public UpstreamTlsContextOrBuilder getTlsContextOrBuilder()
        Deprecated.
         The TLS configuration for connections to the upstream cluster.
         .. attention::
           **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
           set, `transport_socket` takes priority.
         
        .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getTlsContextOrBuilder in interface ClusterOrBuilder
      • hasUpstreamHttpProtocolOptions

        public boolean hasUpstreamHttpProtocolOptions()
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
        Specified by:
        hasUpstreamHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the upstreamHttpProtocolOptions field is set.
      • getUpstreamHttpProtocolOptions

        public UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions()
         HTTP protocol options that are applied only to upstream HTTP connections.
         These options apply to all HTTP versions.
         
        .envoy.api.v2.core.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
        Specified by:
        getUpstreamHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        The upstreamHttpProtocolOptions.
      • hasCommonHttpProtocolOptions

        public boolean hasCommonHttpProtocolOptions()
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
        Specified by:
        hasCommonHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the commonHttpProtocolOptions field is set.
      • getCommonHttpProtocolOptions

        public HttpProtocolOptions getCommonHttpProtocolOptions()
         Additional options when handling HTTP requests upstream. These options will be applicable to
         both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
        Specified by:
        getCommonHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        The commonHttpProtocolOptions.
      • hasHttpProtocolOptions

        public boolean hasHttpProtocolOptions()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
        Specified by:
        hasHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the httpProtocolOptions field is set.
      • getHttpProtocolOptions

        public Http1ProtocolOptions getHttpProtocolOptions()
         Additional options when handling HTTP1 requests.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
        Specified by:
        getHttpProtocolOptions in interface ClusterOrBuilder
        Returns:
        The httpProtocolOptions.
      • hasHttp2ProtocolOptions

        public boolean hasHttp2ProtocolOptions()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
        Specified by:
        hasHttp2ProtocolOptions in interface ClusterOrBuilder
        Returns:
        Whether the http2ProtocolOptions field is set.
      • getHttp2ProtocolOptions

        public Http2ProtocolOptions getHttp2ProtocolOptions()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
        Specified by:
        getHttp2ProtocolOptions in interface ClusterOrBuilder
        Returns:
        The http2ProtocolOptions.
      • getHttp2ProtocolOptionsOrBuilder

        public Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder()
         Even if default HTTP2 protocol options are desired, this field must be
         set so that Envoy will assume that the upstream supports HTTP/2 when
         making new HTTP connection pool connections. Currently, Envoy only
         supports prior knowledge for upstream connections. Even if TLS is used
         with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
         connections to happen over plain text.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
        Specified by:
        getHttp2ProtocolOptionsOrBuilder in interface ClusterOrBuilder
      • getExtensionProtocolOptionsCount

        @Deprecated
        public int getExtensionProtocolOptionsCount()
        Deprecated.
        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.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsCount in interface ClusterOrBuilder
      • containsExtensionProtocolOptions

        @Deprecated
        public boolean containsExtensionProtocolOptions​(String key)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        containsExtensionProtocolOptions in interface ClusterOrBuilder
      • getExtensionProtocolOptionsMap

        @Deprecated
        public Map<String,​com.google.protobuf.Struct> getExtensionProtocolOptionsMap()
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsMap in interface ClusterOrBuilder
      • getExtensionProtocolOptionsOrDefault

        @Deprecated
        public com.google.protobuf.Struct getExtensionProtocolOptionsOrDefault​(String key,
                                                                               com.google.protobuf.Struct defaultValue)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsOrDefault in interface ClusterOrBuilder
      • getExtensionProtocolOptionsOrThrow

        @Deprecated
        public com.google.protobuf.Struct getExtensionProtocolOptionsOrThrow​(String key)
        Deprecated.
         The extension_protocol_options field is used to provide extension-specific protocol options
         for upstream connections. The key should match the extension filter name, such as
         "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
         specific options.
         
        map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getExtensionProtocolOptionsOrThrow in interface ClusterOrBuilder
      • 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.
         
        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.
         
        map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
        Specified by:
        containsTypedExtensionProtocolOptions 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.
         
        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.
         
        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.
         
        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_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as the cluster’s DNS refresh
         rate. The value configured must be at least 1ms. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
        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_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as the cluster’s DNS refresh
         rate. The value configured must be at least 1ms. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
        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_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used as the cluster’s DNS refresh
         rate. The value configured must be at least 1ms. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         
        .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
        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_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
         not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
        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_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
         not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
        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_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
         not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
         other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
         :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
         ignored.
         
        .envoy.api.v2.Cluster.RefreshRate dns_failure_refresh_rate = 44;
        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_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.api.v2.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_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
         
        .envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
        Specified by:
        getDnsLookupFamily in interface ClusterOrBuilder
        Returns:
        The dnsLookupFamily.
      • getDnsResolversList

        public List<Address> getDnsResolversList()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversList in interface ClusterOrBuilder
      • getDnsResolversOrBuilderList

        public List<? extends AddressOrBuilder> getDnsResolversOrBuilderList()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversOrBuilderList in interface ClusterOrBuilder
      • getDnsResolversCount

        public int getDnsResolversCount()
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversCount in interface ClusterOrBuilder
      • getDnsResolvers

        public Address getDnsResolvers​(int index)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolvers in interface ClusterOrBuilder
      • getDnsResolversOrBuilder

        public AddressOrBuilder getDnsResolversOrBuilder​(int index)
         If DNS resolvers are specified and the cluster type is either
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
         or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
         this value is used to specify the cluster’s dns resolvers.
         If this setting is not specified, the value defaults to the default
         resolver, which uses /etc/resolv.conf for configuration. For cluster types
         other than
         :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
         and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
         this setting is ignored.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple's API only allows overriding DNS resolvers via system settings.
         
        repeated .envoy.api.v2.core.Address dns_resolvers = 18;
        Specified by:
        getDnsResolversOrBuilder in interface ClusterOrBuilder
      • getUseTcpForDnsLookups

        public boolean getUseTcpForDnsLookups()
         [#next-major-version: Reconcile DNS options in a single message.]
         Always use TCP queries instead of UDP queries for DNS lookups.
         Setting this value causes failure if the
         ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
         server startup. Apple' API only uses UDP for DNS resolution.
         
        bool use_tcp_for_dns_lookups = 45;
        Specified by:
        getUseTcpForDnsLookups in interface ClusterOrBuilder
        Returns:
        The useTcpForDnsLookups.
      • 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.api.v2.cluster.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.api.v2.cluster.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.api.v2.cluster.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_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
        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_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
        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_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
         Hosts are considered stale if they have not been used
         as upstream destinations during this interval. New hosts are added
         to original destination clusters on demand as new connections are
         redirected to Envoy, causing the number of hosts in the cluster to
         grow over time. Hosts that are not stale (they are actively used as
         destinations) are kept in the cluster, which allows connections to
         them remain open, saving the latency that would otherwise be spent
         on opening new connections. If this setting is not specified, the
         value defaults to 5000ms. For cluster types other than
         :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
         this setting is ignored.
         
        .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
        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.api.v2.core.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.api.v2.core.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.api.v2.core.BindConfig upstream_bind_config = 21;
        Specified by:
        getUpstreamBindConfigOrBuilder in interface ClusterOrBuilder
      • hasLbSubsetConfig

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

        public boolean hasRingHashLbConfig()
         Optional configuration for the Ring Hash load balancing policy.
         
        .envoy.api.v2.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.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
        Specified by:
        getRingHashLbConfig in interface ClusterOrBuilder
        Returns:
        The ringHashLbConfig.
      • hasOriginalDstLbConfig

        public boolean hasOriginalDstLbConfig()
         Optional configuration for the Original Destination load balancing policy.
         
        .envoy.api.v2.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.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
        Specified by:
        getOriginalDstLbConfig in interface ClusterOrBuilder
        Returns:
        The originalDstLbConfig.
      • hasLeastRequestLbConfig

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

        public boolean hasCommonLbConfig()
         Common configuration for all load balancer implementations.
         
        .envoy.api.v2.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.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
        Specified by:
        getCommonLbConfig in interface ClusterOrBuilder
        Returns:
        The commonLbConfig.
      • hasTransportSocket

        public boolean hasTransportSocket()
         Optional custom transport socket implementation to use for upstream connections.
         To setup TLS, set a transport socket with name `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
        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 `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
        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 `tls` and
         :ref:`UpstreamTlsContexts <envoy_api_msg_auth.UpstreamTlsContext>` in the `typed_config`.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         
        .envoy.api.v2.core.TransportSocket transport_socket = 24;
        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.api.v2.core.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.api.v2.core.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.api.v2.core.Metadata metadata = 25;
        Specified by:
        getMetadataOrBuilder in interface ClusterOrBuilder
      • getProtocolSelectionValue

        public int getProtocolSelectionValue()
         Determines how Envoy selects the protocol used to speak to upstream hosts.
         
        .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
        Specified by:
        getProtocolSelectionValue in interface ClusterOrBuilder
        Returns:
        The enum numeric value on the wire for protocolSelection.
      • hasUpstreamConnectionOptions

        public boolean hasUpstreamConnectionOptions()
         Optional options for upstream connections.
         
        .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
        Specified by:
        hasUpstreamConnectionOptions in interface ClusterOrBuilder
        Returns:
        Whether the upstreamConnectionOptions field is set.
      • 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.
      • getDrainConnectionsOnHostRemoval

        public boolean getDrainConnectionsOnHostRemoval()
         If set to true, Envoy will ignore the health value of a host when processing its removal
         from service discovery. This means that if active health checking is used, Envoy will *not*
         wait for the endpoint to go unhealthy before removing it.
         
        bool drain_connections_on_host_removal = 32 [(.udpa.annotations.field_migrate) = { ... }
        Specified by:
        getDrainConnectionsOnHostRemoval in interface ClusterOrBuilder
        Returns:
        The drainConnectionsOnHostRemoval.
      • 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.api.v2.cluster.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.api.v2.cluster.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.api.v2.cluster.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.api.v2.cluster.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.api.v2.cluster.Filter filters = 40;
        Specified by:
        getFiltersOrBuilder in interface ClusterOrBuilder
      • hasLoadBalancingPolicy

        public boolean hasLoadBalancingPolicy()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
        Specified by:
        hasLoadBalancingPolicy in interface ClusterOrBuilder
        Returns:
        Whether the loadBalancingPolicy field is set.
      • getLoadBalancingPolicy

        public LoadBalancingPolicy getLoadBalancingPolicy()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
        Specified by:
        getLoadBalancingPolicy in interface ClusterOrBuilder
        Returns:
        The loadBalancingPolicy.
      • getLoadBalancingPolicyOrBuilder

        public LoadBalancingPolicyOrBuilder getLoadBalancingPolicyOrBuilder()
         [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
         :ref:`lb_policy<envoy_api_field_Cluster.lb_policy>` field has the value
         :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
         
        .envoy.api.v2.LoadBalancingPolicy load_balancing_policy = 41;
        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.api.v2.core.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.api.v2.core.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.api.v2.core.ConfigSource lrs_server = 42;
        Specified by:
        getLrsServerOrBuilder in interface ClusterOrBuilder
      • getTrackTimeoutBudgets

        public boolean getTrackTimeoutBudgets()
         If track_timeout_budgets is true, the :ref:`timeout budget histograms
         <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
         request. These show what percentage of a request's per try and global timeout was used. A value
         of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
         of 100 would indicate that the request took the entirety of the timeout given to it.
         
        bool track_timeout_budgets = 47;
        Specified by:
        getTrackTimeoutBudgets in interface ClusterOrBuilder
        Returns:
        The trackTimeoutBudgets.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • 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​(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
      • 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.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
      • getDefaultInstanceForType

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