
io.envoyproxy.envoy.config.cluster.v3.ClusterOrBuilder Maven / Gradle / Ivy
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/cluster/v3/cluster.proto
package io.envoyproxy.envoy.config.cluster.v3;
public interface ClusterOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.cluster.v3.Cluster)
com.google.protobuf.MessageOrBuilder {
/**
*
* Configuration to use different transport sockets for different endpoints.
* The entry of *envoy.transport_socket* in the
* :ref:`LbEndpoint.Metadata <envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>`
* is used to match against the transport sockets as they appear in the list. The first
* :ref:`match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
* For example, with the following match
* .. code-block:: yaml
* transport_socket_matches:
* - name: "enableMTLS"
* match:
* acceptMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
* - name: "defaultToPlaintext"
* match: {}
* transport_socket:
* name: envoy.transport_sockets.raw_buffer
* Connections to the endpoints whose metadata value under *envoy.transport_socket*
* having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
* If a :ref:`socket match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
* criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
* socket match in case above.
* If an endpoint metadata's value under *envoy.transport_socket* 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.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43;
*/
java.util.List
getTransportSocketMatchesList();
/**
*
* Configuration to use different transport sockets for different endpoints.
* The entry of *envoy.transport_socket* in the
* :ref:`LbEndpoint.Metadata <envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>`
* is used to match against the transport sockets as they appear in the list. The first
* :ref:`match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
* For example, with the following match
* .. code-block:: yaml
* transport_socket_matches:
* - name: "enableMTLS"
* match:
* acceptMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
* - name: "defaultToPlaintext"
* match: {}
* transport_socket:
* name: envoy.transport_sockets.raw_buffer
* Connections to the endpoints whose metadata value under *envoy.transport_socket*
* having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
* If a :ref:`socket match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
* criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
* socket match in case above.
* If an endpoint metadata's value under *envoy.transport_socket* 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.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch getTransportSocketMatches(int index);
/**
*
* Configuration to use different transport sockets for different endpoints.
* The entry of *envoy.transport_socket* in the
* :ref:`LbEndpoint.Metadata <envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>`
* is used to match against the transport sockets as they appear in the list. The first
* :ref:`match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
* For example, with the following match
* .. code-block:: yaml
* transport_socket_matches:
* - name: "enableMTLS"
* match:
* acceptMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
* - name: "defaultToPlaintext"
* match: {}
* transport_socket:
* name: envoy.transport_sockets.raw_buffer
* Connections to the endpoints whose metadata value under *envoy.transport_socket*
* having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
* If a :ref:`socket match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
* criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
* socket match in case above.
* If an endpoint metadata's value under *envoy.transport_socket* 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.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43;
*/
int getTransportSocketMatchesCount();
/**
*
* Configuration to use different transport sockets for different endpoints.
* The entry of *envoy.transport_socket* in the
* :ref:`LbEndpoint.Metadata <envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>`
* is used to match against the transport sockets as they appear in the list. The first
* :ref:`match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
* For example, with the following match
* .. code-block:: yaml
* transport_socket_matches:
* - name: "enableMTLS"
* match:
* acceptMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
* - name: "defaultToPlaintext"
* match: {}
* transport_socket:
* name: envoy.transport_sockets.raw_buffer
* Connections to the endpoints whose metadata value under *envoy.transport_socket*
* having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
* If a :ref:`socket match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
* criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
* socket match in case above.
* If an endpoint metadata's value under *envoy.transport_socket* 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.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43;
*/
java.util.List extends io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatchOrBuilder>
getTransportSocketMatchesOrBuilderList();
/**
*
* Configuration to use different transport sockets for different endpoints.
* The entry of *envoy.transport_socket* in the
* :ref:`LbEndpoint.Metadata <envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>`
* is used to match against the transport sockets as they appear in the list. The first
* :ref:`match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
* For example, with the following match
* .. code-block:: yaml
* transport_socket_matches:
* - name: "enableMTLS"
* match:
* acceptMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
* - name: "defaultToPlaintext"
* match: {}
* transport_socket:
* name: envoy.transport_sockets.raw_buffer
* Connections to the endpoints whose metadata value under *envoy.transport_socket*
* having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
* If a :ref:`socket match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
* criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
* socket match in case above.
* If an endpoint metadata's value under *envoy.transport_socket* 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.config.cluster.v3.Cluster.TransportSocketMatch transport_socket_matches = 43;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatchOrBuilder getTransportSocketMatchesOrBuilder(
int index);
/**
*
* Supplies the name of the cluster which must be unique across all clusters.
* The cluster name is used when emitting
* :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
* <envoy_api_field_config.cluster.v3.Cluster.alt_stat_name>` is not provided.
* Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
*
*
* string name = 1 [(.validate.rules) = { ... }
*/
java.lang.String getName();
/**
*
* Supplies the name of the cluster which must be unique across all clusters.
* The cluster name is used when emitting
* :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
* <envoy_api_field_config.cluster.v3.Cluster.alt_stat_name>` is not provided.
* Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
*
*
* string name = 1 [(.validate.rules) = { ... }
*/
com.google.protobuf.ByteString
getNameBytes();
/**
*
* 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;
*/
java.lang.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;
*/
com.google.protobuf.ByteString
getAltStatNameBytes();
/**
*
* The :ref:`service discovery type <arch_overview_service_discovery_types>`
* to use for resolving the cluster.
*
*
* .envoy.config.cluster.v3.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
*/
int getTypeValue();
/**
*
* The :ref:`service discovery type <arch_overview_service_discovery_types>`
* to use for resolving the cluster.
*
*
* .envoy.config.cluster.v3.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType getType();
/**
*
* The custom cluster type.
*
*
* .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38;
*/
boolean hasClusterType();
/**
*
* The custom cluster type.
*
*
* .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType getClusterType();
/**
*
* The custom cluster type.
*
*
* .envoy.config.cluster.v3.Cluster.CustomClusterType cluster_type = 38;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterTypeOrBuilder getClusterTypeOrBuilder();
/**
*
* Configuration to use for EDS updates for the Cluster.
*
*
* .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3;
*/
boolean hasEdsClusterConfig();
/**
*
* Configuration to use for EDS updates for the Cluster.
*
*
* .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig getEdsClusterConfig();
/**
*
* Configuration to use for EDS updates for the Cluster.
*
*
* .envoy.config.cluster.v3.Cluster.EdsClusterConfig eds_cluster_config = 3;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder();
/**
*
* The timeout for new network connections to hosts in the cluster.
*
*
* .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
*/
boolean hasConnectTimeout();
/**
*
* The timeout for new network connections to hosts in the cluster.
*
*
* .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
*/
com.google.protobuf.Duration getConnectTimeout();
/**
*
* The timeout for new network connections to hosts in the cluster.
*
*
* .google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }
*/
com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder();
/**
*
* Soft limit on size of the cluster’s connections read and write buffers. If
* unspecified, an implementation defined default is applied (1MiB).
*
*
* .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
*/
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;
*/
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;
*/
com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder();
/**
*
* The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
* when picking a host in the cluster.
*
*
* .envoy.config.cluster.v3.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
*/
int getLbPolicyValue();
/**
*
* The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
* when picking a host in the cluster.
*
*
* .envoy.config.cluster.v3.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy getLbPolicy();
/**
*
* Setting this is required for specifying members of
* :ref:`STATIC<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC>`,
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
* This field supersedes the *hosts* field in the v2 API.
* .. attention::
* Setting this allows non-EDS cluster types to contain embedded EDS equivalent
* :ref:`endpoint assignments<envoy_api_msg_config.endpoint.v3.ClusterLoadAssignment>`.
*
*
* .envoy.config.endpoint.v3.ClusterLoadAssignment load_assignment = 33;
*/
boolean hasLoadAssignment();
/**
*
* Setting this is required for specifying members of
* :ref:`STATIC<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC>`,
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
* This field supersedes the *hosts* field in the v2 API.
* .. attention::
* Setting this allows non-EDS cluster types to contain embedded EDS equivalent
* :ref:`endpoint assignments<envoy_api_msg_config.endpoint.v3.ClusterLoadAssignment>`.
*
*
* .envoy.config.endpoint.v3.ClusterLoadAssignment load_assignment = 33;
*/
io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment getLoadAssignment();
/**
*
* Setting this is required for specifying members of
* :ref:`STATIC<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC>`,
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
* This field supersedes the *hosts* field in the v2 API.
* .. attention::
* Setting this allows non-EDS cluster types to contain embedded EDS equivalent
* :ref:`endpoint assignments<envoy_api_msg_config.endpoint.v3.ClusterLoadAssignment>`.
*
*
* .envoy.config.endpoint.v3.ClusterLoadAssignment load_assignment = 33;
*/
io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder();
/**
*
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
*
*
* repeated .envoy.config.core.v3.HealthCheck health_checks = 8;
*/
java.util.List
getHealthChecksList();
/**
*
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
*
*
* repeated .envoy.config.core.v3.HealthCheck health_checks = 8;
*/
io.envoyproxy.envoy.config.core.v3.HealthCheck getHealthChecks(int index);
/**
*
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
*
*
* repeated .envoy.config.core.v3.HealthCheck health_checks = 8;
*/
int getHealthChecksCount();
/**
*
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
*
*
* repeated .envoy.config.core.v3.HealthCheck health_checks = 8;
*/
java.util.List extends io.envoyproxy.envoy.config.core.v3.HealthCheckOrBuilder>
getHealthChecksOrBuilderList();
/**
*
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
*
*
* repeated .envoy.config.core.v3.HealthCheck health_checks = 8;
*/
io.envoyproxy.envoy.config.core.v3.HealthCheckOrBuilder getHealthChecksOrBuilder(
int index);
/**
*
* Optional maximum requests for a single upstream connection. This parameter
* is respected by both the HTTP/1.1 and HTTP/2 connection pool
* implementations. If not specified, there is no limit. Setting this
* parameter to 1 will effectively disable keep alive.
*
*
* .google.protobuf.UInt32Value max_requests_per_connection = 9;
*/
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;
*/
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;
*/
com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder();
/**
*
* Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
*
*
* .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 10;
*/
boolean hasCircuitBreakers();
/**
*
* Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
*
*
* .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 10;
*/
io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers getCircuitBreakers();
/**
*
* Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
*
*
* .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 10;
*/
io.envoyproxy.envoy.config.cluster.v3.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder();
/**
*
* HTTP protocol options that are applied only to upstream HTTP connections.
* These options apply to all HTTP versions.
*
*
* .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
*/
boolean hasUpstreamHttpProtocolOptions();
/**
*
* HTTP protocol options that are applied only to upstream HTTP connections.
* These options apply to all HTTP versions.
*
*
* .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
*/
io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions();
/**
*
* HTTP protocol options that are applied only to upstream HTTP connections.
* These options apply to all HTTP versions.
*
*
* .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46;
*/
io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder();
/**
*
* Additional options when handling HTTP requests upstream. These options will be applicable to
* both HTTP1 and HTTP2 requests.
*
*
* .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 29;
*/
boolean hasCommonHttpProtocolOptions();
/**
*
* Additional options when handling HTTP requests upstream. These options will be applicable to
* both HTTP1 and HTTP2 requests.
*
*
* .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 29;
*/
io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions getCommonHttpProtocolOptions();
/**
*
* Additional options when handling HTTP requests upstream. These options will be applicable to
* both HTTP1 and HTTP2 requests.
*
*
* .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 29;
*/
io.envoyproxy.envoy.config.core.v3.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder();
/**
*
* Additional options when handling HTTP1 requests.
*
*
* .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 13;
*/
boolean hasHttpProtocolOptions();
/**
*
* Additional options when handling HTTP1 requests.
*
*
* .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 13;
*/
io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions();
/**
*
* Additional options when handling HTTP1 requests.
*
*
* .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 13;
*/
io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder();
/**
*
* Even if default HTTP2 protocol options are desired, this field must be
* set so that Envoy will assume that the upstream supports HTTP/2 when
* making new HTTP connection pool connections. Currently, Envoy only
* supports prior knowledge for upstream connections. Even if TLS is used
* with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
* connections to happen over plain text.
*
*
* .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14;
*/
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.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14;
*/
io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions();
/**
*
* Even if default HTTP2 protocol options are desired, this field must be
* set so that Envoy will assume that the upstream supports HTTP/2 when
* making new HTTP connection pool connections. Currently, Envoy only
* supports prior knowledge for upstream connections. Even if TLS is used
* with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
* connections to happen over plain text.
*
*
* .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 14;
*/
io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
int getTypedExtensionProtocolOptionsCount();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
boolean containsTypedExtensionProtocolOptions(
java.lang.String key);
/**
* Use {@link #getTypedExtensionProtocolOptionsMap()} instead.
*/
@java.lang.Deprecated
java.util.Map
getTypedExtensionProtocolOptions();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
java.util.Map
getTypedExtensionProtocolOptionsMap();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
com.google.protobuf.Any getTypedExtensionProtocolOptionsOrDefault(
java.lang.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;
*/
com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow(
java.lang.String key);
/**
*
* If the DNS refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used as the cluster’s DNS refresh
* rate. The value configured must be at least 1ms. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
*/
boolean hasDnsRefreshRate();
/**
*
* If the DNS refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used as the cluster’s DNS refresh
* rate. The value configured must be at least 1ms. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
*/
com.google.protobuf.Duration getDnsRefreshRate();
/**
*
* If the DNS refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used as the cluster’s DNS refresh
* rate. The value configured must be at least 1ms. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* .google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }
*/
com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder();
/**
*
* If the DNS failure refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
* not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
* other than :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
* :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
* ignored.
* Note: Currently, DNS failures and empty DNS responses are not treated differently and this
* configuration is applied in both situations.
*
*
* .envoy.config.cluster.v3.Cluster.RefreshRate dns_failure_refresh_rate = 44;
*/
boolean hasDnsFailureRefreshRate();
/**
*
* If the DNS failure refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
* not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
* other than :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
* :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
* ignored.
* Note: Currently, DNS failures and empty DNS responses are not treated differently and this
* configuration is applied in both situations.
*
*
* .envoy.config.cluster.v3.Cluster.RefreshRate dns_failure_refresh_rate = 44;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate getDnsFailureRefreshRate();
/**
*
* If the DNS failure refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
* not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
* other than :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
* :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
* ignored.
* Note: Currently, DNS failures and empty DNS responses are not treated differently and this
* configuration is applied in both situations.
*
*
* .envoy.config.cluster.v3.Cluster.RefreshRate dns_failure_refresh_rate = 44;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRateOrBuilder getDnsFailureRefreshRateOrBuilder();
/**
*
* Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
* cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
* resolution.
*
*
* bool respect_dns_ttl = 39;
*/
boolean getRespectDnsTtl();
/**
*
* The DNS IP address resolution policy. If this setting is not specified, the
* value defaults to
* :ref:`AUTO<envoy_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
*
*
* .envoy.config.cluster.v3.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
*/
int getDnsLookupFamilyValue();
/**
*
* The DNS IP address resolution policy. If this setting is not specified, the
* value defaults to
* :ref:`AUTO<envoy_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
*
*
* .envoy.config.cluster.v3.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily getDnsLookupFamily();
/**
*
* If DNS resolvers are specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used to specify the cluster’s dns resolvers.
* If this setting is not specified, the value defaults to the default
* resolver, which uses /etc/resolv.conf for configuration. For cluster types
* other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* repeated .envoy.config.core.v3.Address dns_resolvers = 18;
*/
java.util.List
getDnsResolversList();
/**
*
* If DNS resolvers are specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used to specify the cluster’s dns resolvers.
* If this setting is not specified, the value defaults to the default
* resolver, which uses /etc/resolv.conf for configuration. For cluster types
* other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* repeated .envoy.config.core.v3.Address dns_resolvers = 18;
*/
io.envoyproxy.envoy.config.core.v3.Address getDnsResolvers(int index);
/**
*
* If DNS resolvers are specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used to specify the cluster’s dns resolvers.
* If this setting is not specified, the value defaults to the default
* resolver, which uses /etc/resolv.conf for configuration. For cluster types
* other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* repeated .envoy.config.core.v3.Address dns_resolvers = 18;
*/
int getDnsResolversCount();
/**
*
* If DNS resolvers are specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used to specify the cluster’s dns resolvers.
* If this setting is not specified, the value defaults to the default
* resolver, which uses /etc/resolv.conf for configuration. For cluster types
* other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* repeated .envoy.config.core.v3.Address dns_resolvers = 18;
*/
java.util.List extends io.envoyproxy.envoy.config.core.v3.AddressOrBuilder>
getDnsResolversOrBuilderList();
/**
*
* If DNS resolvers are specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used to specify the cluster’s dns resolvers.
* If this setting is not specified, the value defaults to the default
* resolver, which uses /etc/resolv.conf for configuration. For cluster types
* other than
* :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
*
*
* repeated .envoy.config.core.v3.Address dns_resolvers = 18;
*/
io.envoyproxy.envoy.config.core.v3.AddressOrBuilder getDnsResolversOrBuilder(
int index);
/**
*
* [#next-major-version: Reconcile DNS options in a single message.]
* Always use TCP queries instead of UDP queries for DNS lookups.
*
*
* bool use_tcp_for_dns_lookups = 45;
*/
boolean getUseTcpForDnsLookups();
/**
*
* If specified, outlier detection will be enabled for this upstream cluster.
* Each of the configuration values can be overridden via
* :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
*
*
* .envoy.config.cluster.v3.OutlierDetection outlier_detection = 19;
*/
boolean hasOutlierDetection();
/**
*
* If specified, outlier detection will be enabled for this upstream cluster.
* Each of the configuration values can be overridden via
* :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
*
*
* .envoy.config.cluster.v3.OutlierDetection outlier_detection = 19;
*/
io.envoyproxy.envoy.config.cluster.v3.OutlierDetection getOutlierDetection();
/**
*
* If specified, outlier detection will be enabled for this upstream cluster.
* Each of the configuration values can be overridden via
* :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
*
*
* .envoy.config.cluster.v3.OutlierDetection outlier_detection = 19;
*/
io.envoyproxy.envoy.config.cluster.v3.OutlierDetectionOrBuilder getOutlierDetectionOrBuilder();
/**
*
* The interval for removing stale hosts from a cluster type
* :ref:`ORIGINAL_DST<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`.
* Hosts are considered stale if they have not been used
* as upstream destinations during this interval. New hosts are added
* to original destination clusters on demand as new connections are
* redirected to Envoy, causing the number of hosts in the cluster to
* grow over time. Hosts that are not stale (they are actively used as
* destinations) are kept in the cluster, which allows connections to
* them remain open, saving the latency that would otherwise be spent
* on opening new connections. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`ORIGINAL_DST<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`
* this setting is ignored.
*
*
* .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
*/
boolean hasCleanupInterval();
/**
*
* The interval for removing stale hosts from a cluster type
* :ref:`ORIGINAL_DST<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`.
* Hosts are considered stale if they have not been used
* as upstream destinations during this interval. New hosts are added
* to original destination clusters on demand as new connections are
* redirected to Envoy, causing the number of hosts in the cluster to
* grow over time. Hosts that are not stale (they are actively used as
* destinations) are kept in the cluster, which allows connections to
* them remain open, saving the latency that would otherwise be spent
* on opening new connections. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`ORIGINAL_DST<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`
* this setting is ignored.
*
*
* .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
*/
com.google.protobuf.Duration getCleanupInterval();
/**
*
* The interval for removing stale hosts from a cluster type
* :ref:`ORIGINAL_DST<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`.
* Hosts are considered stale if they have not been used
* as upstream destinations during this interval. New hosts are added
* to original destination clusters on demand as new connections are
* redirected to Envoy, causing the number of hosts in the cluster to
* grow over time. Hosts that are not stale (they are actively used as
* destinations) are kept in the cluster, which allows connections to
* them remain open, saving the latency that would otherwise be spent
* on opening new connections. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`ORIGINAL_DST<envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`
* this setting is ignored.
*
*
* .google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }
*/
com.google.protobuf.DurationOrBuilder getCleanupIntervalOrBuilder();
/**
*
* Optional configuration used to bind newly established upstream connections.
* This overrides any bind_config specified in the bootstrap proto.
* If the address and port are empty, no bind will be performed.
*
*
* .envoy.config.core.v3.BindConfig upstream_bind_config = 21;
*/
boolean hasUpstreamBindConfig();
/**
*
* Optional configuration used to bind newly established upstream connections.
* This overrides any bind_config specified in the bootstrap proto.
* If the address and port are empty, no bind will be performed.
*
*
* .envoy.config.core.v3.BindConfig upstream_bind_config = 21;
*/
io.envoyproxy.envoy.config.core.v3.BindConfig getUpstreamBindConfig();
/**
*
* Optional configuration used to bind newly established upstream connections.
* This overrides any bind_config specified in the bootstrap proto.
* If the address and port are empty, no bind will be performed.
*
*
* .envoy.config.core.v3.BindConfig upstream_bind_config = 21;
*/
io.envoyproxy.envoy.config.core.v3.BindConfigOrBuilder getUpstreamBindConfigOrBuilder();
/**
*
* Configuration for load balancing subsetting.
*
*
* .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
*/
boolean hasLbSubsetConfig();
/**
*
* Configuration for load balancing subsetting.
*
*
* .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig getLbSubsetConfig();
/**
*
* Configuration for load balancing subsetting.
*
*
* .envoy.config.cluster.v3.Cluster.LbSubsetConfig lb_subset_config = 22;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder();
/**
*
* Optional configuration for the Ring Hash load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
*/
boolean hasRingHashLbConfig();
/**
*
* Optional configuration for the Ring Hash load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig getRingHashLbConfig();
/**
*
* Optional configuration for the Ring Hash load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder();
/**
*
* Optional configuration for the Original Destination load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
*/
boolean hasOriginalDstLbConfig();
/**
*
* Optional configuration for the Original Destination load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig getOriginalDstLbConfig();
/**
*
* Optional configuration for the Original Destination load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder();
/**
*
* Optional configuration for the LeastRequest load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
*/
boolean hasLeastRequestLbConfig();
/**
*
* Optional configuration for the LeastRequest load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig getLeastRequestLbConfig();
/**
*
* Optional configuration for the LeastRequest load balancing policy.
*
*
* .envoy.config.cluster.v3.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder();
/**
*
* Common configuration for all load balancer implementations.
*
*
* .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27;
*/
boolean hasCommonLbConfig();
/**
*
* Common configuration for all load balancer implementations.
*
*
* .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig getCommonLbConfig();
/**
*
* Common configuration for all load balancer implementations.
*
*
* .envoy.config.cluster.v3.Cluster.CommonLbConfig common_lb_config = 27;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder();
/**
*
* Optional custom transport socket implementation to use for upstream connections.
* To setup TLS, set a transport socket with name `tls` and
* :ref:`UpstreamTlsContexts <envoy_api_msg_extensions.transport_sockets.tls.v3.UpstreamTlsContext>` in the `typed_config`.
* If no transport socket configuration is specified, new connections
* will be set up with plaintext.
*
*
* .envoy.config.core.v3.TransportSocket transport_socket = 24;
*/
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_extensions.transport_sockets.tls.v3.UpstreamTlsContext>` in the `typed_config`.
* If no transport socket configuration is specified, new connections
* will be set up with plaintext.
*
*
* .envoy.config.core.v3.TransportSocket transport_socket = 24;
*/
io.envoyproxy.envoy.config.core.v3.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_extensions.transport_sockets.tls.v3.UpstreamTlsContext>` in the `typed_config`.
* If no transport socket configuration is specified, new connections
* will be set up with plaintext.
*
*
* .envoy.config.core.v3.TransportSocket transport_socket = 24;
*/
io.envoyproxy.envoy.config.core.v3.TransportSocketOrBuilder getTransportSocketOrBuilder();
/**
*
* The Metadata field can be used to provide additional information about the
* cluster. It can be used for stats, logging, and varying filter behavior.
* Fields should use reverse DNS notation to denote which entity within Envoy
* will need the information. For instance, if the metadata is intended for
* the Router filter, the filter name should be specified as *envoy.router*.
*
*
* .envoy.config.core.v3.Metadata metadata = 25;
*/
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.router*.
*
*
* .envoy.config.core.v3.Metadata metadata = 25;
*/
io.envoyproxy.envoy.config.core.v3.Metadata getMetadata();
/**
*
* The Metadata field can be used to provide additional information about the
* cluster. It can be used for stats, logging, and varying filter behavior.
* Fields should use reverse DNS notation to denote which entity within Envoy
* will need the information. For instance, if the metadata is intended for
* the Router filter, the filter name should be specified as *envoy.router*.
*
*
* .envoy.config.core.v3.Metadata metadata = 25;
*/
io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder();
/**
*
* Determines how Envoy selects the protocol used to speak to upstream hosts.
*
*
* .envoy.config.cluster.v3.Cluster.ClusterProtocolSelection protocol_selection = 26;
*/
int getProtocolSelectionValue();
/**
*
* Determines how Envoy selects the protocol used to speak to upstream hosts.
*
*
* .envoy.config.cluster.v3.Cluster.ClusterProtocolSelection protocol_selection = 26;
*/
io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection getProtocolSelection();
/**
*
* Optional options for upstream connections.
*
*
* .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
*/
boolean hasUpstreamConnectionOptions();
/**
*
* Optional options for upstream connections.
*
*
* .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
*/
io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions getUpstreamConnectionOptions();
/**
*
* Optional options for upstream connections.
*
*
* .envoy.config.cluster.v3.UpstreamConnectionOptions upstream_connection_options = 30;
*/
io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder();
/**
*
* If an upstream host becomes unhealthy (as determined by the configured health checks
* or outlier detection), immediately close all connections to the failed host.
* .. note::
* This is currently only supported for connections created by tcp_proxy.
* .. note::
* The current implementation of this feature closes all connections immediately when
* the unhealthy status is detected. If there are a large number of connections open
* to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
* time exclusively closing these connections, and not processing any other traffic.
*
*
* bool close_connections_on_host_health_failure = 31;
*/
boolean getCloseConnectionsOnHostHealthFailure();
/**
*
* If set to true, Envoy will ignore the health value of a host when processing its removal
* from service discovery. This means that if active health checking is used, Envoy will *not*
* wait for the endpoint to go unhealthy before removing it.
*
*
* bool ignore_health_on_host_removal = 32;
*/
boolean getIgnoreHealthOnHostRemoval();
/**
*
* An (optional) network filter chain, listed in the order the filters should be applied.
* The chain will be applied to all outgoing connections that Envoy makes to the upstream
* servers of this cluster.
*
*
* repeated .envoy.config.cluster.v3.Filter filters = 40;
*/
java.util.List
getFiltersList();
/**
*
* An (optional) network filter chain, listed in the order the filters should be applied.
* The chain will be applied to all outgoing connections that Envoy makes to the upstream
* servers of this cluster.
*
*
* repeated .envoy.config.cluster.v3.Filter filters = 40;
*/
io.envoyproxy.envoy.config.cluster.v3.Filter getFilters(int index);
/**
*
* An (optional) network filter chain, listed in the order the filters should be applied.
* The chain will be applied to all outgoing connections that Envoy makes to the upstream
* servers of this cluster.
*
*
* repeated .envoy.config.cluster.v3.Filter filters = 40;
*/
int getFiltersCount();
/**
*
* An (optional) network filter chain, listed in the order the filters should be applied.
* The chain will be applied to all outgoing connections that Envoy makes to the upstream
* servers of this cluster.
*
*
* repeated .envoy.config.cluster.v3.Filter filters = 40;
*/
java.util.List extends io.envoyproxy.envoy.config.cluster.v3.FilterOrBuilder>
getFiltersOrBuilderList();
/**
*
* An (optional) network filter chain, listed in the order the filters should be applied.
* The chain will be applied to all outgoing connections that Envoy makes to the upstream
* servers of this cluster.
*
*
* repeated .envoy.config.cluster.v3.Filter filters = 40;
*/
io.envoyproxy.envoy.config.cluster.v3.FilterOrBuilder getFiltersOrBuilder(
int index);
/**
*
* [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
* :ref:`lb_policy<envoy_api_field_config.cluster.v3.Cluster.lb_policy>` field has the value
* :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v3.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
*
*
* .envoy.config.cluster.v3.LoadBalancingPolicy load_balancing_policy = 41;
*/
boolean hasLoadBalancingPolicy();
/**
*
* [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
* :ref:`lb_policy<envoy_api_field_config.cluster.v3.Cluster.lb_policy>` field has the value
* :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v3.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
*
*
* .envoy.config.cluster.v3.LoadBalancingPolicy load_balancing_policy = 41;
*/
io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy getLoadBalancingPolicy();
/**
*
* [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the
* :ref:`lb_policy<envoy_api_field_config.cluster.v3.Cluster.lb_policy>` field has the value
* :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v3.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
*
*
* .envoy.config.cluster.v3.LoadBalancingPolicy load_balancing_policy = 41;
*/
io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicyOrBuilder getLoadBalancingPolicyOrBuilder();
/**
*
* [#not-implemented-hide:]
* If present, tells the client where to send load reports via LRS. If not present, the
* client will fall back to a client-side default, which may be either (a) don't send any
* load reports or (b) send load reports for all clusters to a single default server
* (which may be configured in the bootstrap file).
* Note that if multiple clusters point to the same LRS server, the client may choose to
* create a separate stream for each cluster or it may choose to coalesce the data for
* multiple clusters onto a single stream. Either way, the client must make sure to send
* the data for any given cluster on no more than one stream.
* [#next-major-version: In the v3 API, we should consider restructuring this somehow,
* maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
* from the LRS stream here.]
*
*
* .envoy.config.core.v3.ConfigSource lrs_server = 42;
*/
boolean hasLrsServer();
/**
*
* [#not-implemented-hide:]
* If present, tells the client where to send load reports via LRS. If not present, the
* client will fall back to a client-side default, which may be either (a) don't send any
* load reports or (b) send load reports for all clusters to a single default server
* (which may be configured in the bootstrap file).
* Note that if multiple clusters point to the same LRS server, the client may choose to
* create a separate stream for each cluster or it may choose to coalesce the data for
* multiple clusters onto a single stream. Either way, the client must make sure to send
* the data for any given cluster on no more than one stream.
* [#next-major-version: In the v3 API, we should consider restructuring this somehow,
* maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
* from the LRS stream here.]
*
*
* .envoy.config.core.v3.ConfigSource lrs_server = 42;
*/
io.envoyproxy.envoy.config.core.v3.ConfigSource getLrsServer();
/**
*
* [#not-implemented-hide:]
* If present, tells the client where to send load reports via LRS. If not present, the
* client will fall back to a client-side default, which may be either (a) don't send any
* load reports or (b) send load reports for all clusters to a single default server
* (which may be configured in the bootstrap file).
* Note that if multiple clusters point to the same LRS server, the client may choose to
* create a separate stream for each cluster or it may choose to coalesce the data for
* multiple clusters onto a single stream. Either way, the client must make sure to send
* the data for any given cluster on no more than one stream.
* [#next-major-version: In the v3 API, we should consider restructuring this somehow,
* maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
* from the LRS stream here.]
*
*
* .envoy.config.core.v3.ConfigSource lrs_server = 42;
*/
io.envoyproxy.envoy.config.core.v3.ConfigSourceOrBuilder getLrsServerOrBuilder();
/**
*
* If track_timeout_budgets is true, the :ref:`timeout budget histograms
* <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
* request. These show what percentage of a request's per try and global timeout was used. A value
* of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
* of 100 would indicate that the request took the entirety of the timeout given to it.
*
*
* bool track_timeout_budgets = 47;
*/
boolean getTrackTimeoutBudgets();
public io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryTypeCase getClusterDiscoveryTypeCase();
public io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfigCase getLbConfigCase();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy