public interface ClusterOrBuilder
extends com.google.protobuf.MessageOrBuilder
| Modifier and Type | Method and Description |
|---|---|
boolean |
containsExtensionProtocolOptions(String key)
Deprecated.
|
boolean |
containsTypedExtensionProtocolOptions(String key)
The extension_protocol_options field is used to provide extension-specific protocol options
for upstream connections.
|
String |
getAltStatName()
An optional alternative to the cluster name to be used while emitting stats.
|
com.google.protobuf.ByteString |
getAltStatNameBytes()
An optional alternative to the cluster name to be used while emitting stats.
|
CircuitBreakers |
getCircuitBreakers()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
|
CircuitBreakersOrBuilder |
getCircuitBreakersOrBuilder()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
|
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>`.
|
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>`.
|
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.
|
Cluster.ClusterDiscoveryTypeCase |
getClusterDiscoveryTypeCase() |
Cluster.CustomClusterType |
getClusterType()
The custom cluster type.
|
Cluster.CustomClusterTypeOrBuilder |
getClusterTypeOrBuilder()
The custom cluster type.
|
HttpProtocolOptions |
getCommonHttpProtocolOptions()
Additional options when handling HTTP requests upstream.
|
HttpProtocolOptionsOrBuilder |
getCommonHttpProtocolOptionsOrBuilder()
Additional options when handling HTTP requests upstream.
|
Cluster.CommonLbConfig |
getCommonLbConfig()
Common configuration for all load balancer implementations.
|
Cluster.CommonLbConfigOrBuilder |
getCommonLbConfigOrBuilder()
Common configuration for all load balancer implementations.
|
com.google.protobuf.Duration |
getConnectTimeout()
The timeout for new network connections to hosts in the cluster.
|
com.google.protobuf.DurationOrBuilder |
getConnectTimeoutOrBuilder()
The timeout for new network connections to hosts in the cluster.
|
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.
|
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.
|
Cluster.DnsLookupFamily |
getDnsLookupFamily()
The DNS IP address resolution policy.
|
int |
getDnsLookupFamilyValue()
The DNS IP address resolution policy.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
boolean |
getDrainConnectionsOnHostRemoval()
If set to true, Envoy will ignore the health value of a host when processing its removal
from service discovery.
|
Cluster.EdsClusterConfig |
getEdsClusterConfig()
Configuration to use for EDS updates for the Cluster.
|
Cluster.EdsClusterConfigOrBuilder |
getEdsClusterConfigOrBuilder()
Configuration to use for EDS updates for the Cluster.
|
Map<String,com.google.protobuf.Struct> |
getExtensionProtocolOptions()
Deprecated.
|
int |
getExtensionProtocolOptionsCount()
Deprecated.
|
Map<String,com.google.protobuf.Struct> |
getExtensionProtocolOptionsMap()
Deprecated.
|
com.google.protobuf.Struct |
getExtensionProtocolOptionsOrDefault(String key,
com.google.protobuf.Struct defaultValue)
Deprecated.
|
com.google.protobuf.Struct |
getExtensionProtocolOptionsOrThrow(String key)
Deprecated.
|
Filter |
getFilters(int index)
An (optional) network filter chain, listed in the order the filters should be applied.
|
int |
getFiltersCount()
An (optional) network filter chain, listed in the order the filters should be applied.
|
List<Filter> |
getFiltersList()
An (optional) network filter chain, listed in the order the filters should be applied.
|
FilterOrBuilder |
getFiltersOrBuilder(int index)
An (optional) network filter chain, listed in the order the filters should be applied.
|
List<? extends FilterOrBuilder> |
getFiltersOrBuilderList()
An (optional) network filter chain, listed in the order the filters should be applied.
|
HealthCheck |
getHealthChecks(int index)
Optional :ref:`active health checking <arch_overview_health_checking>`
configuration for the cluster.
|
int |
getHealthChecksCount()
Optional :ref:`active health checking <arch_overview_health_checking>`
configuration for the cluster.
|
List<HealthCheck> |
getHealthChecksList()
Optional :ref:`active health checking <arch_overview_health_checking>`
configuration for the cluster.
|
HealthCheckOrBuilder |
getHealthChecksOrBuilder(int index)
Optional :ref:`active health checking <arch_overview_health_checking>`
configuration for the cluster.
|
List<? extends HealthCheckOrBuilder> |
getHealthChecksOrBuilderList()
Optional :ref:`active health checking <arch_overview_health_checking>`
configuration for the cluster.
|
Address |
getHosts(int index)
Deprecated.
|
int |
getHostsCount()
Deprecated.
|
List<Address> |
getHostsList()
Deprecated.
|
AddressOrBuilder |
getHostsOrBuilder(int index)
Deprecated.
|
List<? extends AddressOrBuilder> |
getHostsOrBuilderList()
Deprecated.
|
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.
|
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.
|
Http1ProtocolOptions |
getHttpProtocolOptions()
Additional options when handling HTTP1 requests.
|
Http1ProtocolOptionsOrBuilder |
getHttpProtocolOptionsOrBuilder()
Additional options when handling HTTP1 requests.
|
Cluster.LbConfigCase |
getLbConfigCase() |
Cluster.LbPolicy |
getLbPolicy()
The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
when picking a host in the cluster.
|
int |
getLbPolicyValue()
The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
when picking a host in the cluster.
|
Cluster.LbSubsetConfig |
getLbSubsetConfig()
Configuration for load balancing subsetting.
|
Cluster.LbSubsetConfigOrBuilder |
getLbSubsetConfigOrBuilder()
Configuration for load balancing subsetting.
|
Cluster.LeastRequestLbConfig |
getLeastRequestLbConfig()
Optional configuration for the LeastRequest load balancing policy.
|
Cluster.LeastRequestLbConfigOrBuilder |
getLeastRequestLbConfigOrBuilder()
Optional configuration for the LeastRequest load balancing policy.
|
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.
|
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.
|
LoadBalancingPolicy |
getLoadBalancingPolicy()
[#not-implemented-hide:] New mechanism for LB policy configuration.
|
LoadBalancingPolicyOrBuilder |
getLoadBalancingPolicyOrBuilder()
[#not-implemented-hide:] New mechanism for LB policy configuration.
|
ConfigSource |
getLrsServer()
[#not-implemented-hide:]
If present, tells the client where to send load reports via LRS.
|
ConfigSourceOrBuilder |
getLrsServerOrBuilder()
[#not-implemented-hide:]
If present, tells the client where to send load reports via LRS.
|
com.google.protobuf.UInt32Value |
getMaxRequestsPerConnection()
Optional maximum requests for a single upstream connection.
|
com.google.protobuf.UInt32ValueOrBuilder |
getMaxRequestsPerConnectionOrBuilder()
Optional maximum requests for a single upstream connection.
|
Metadata |
getMetadata()
The Metadata field can be used to provide additional information about the
cluster.
|
MetadataOrBuilder |
getMetadataOrBuilder()
The Metadata field can be used to provide additional information about the
cluster.
|
String |
getName()
Supplies the name of the cluster which must be unique across all clusters.
|
com.google.protobuf.ByteString |
getNameBytes()
Supplies the name of the cluster which must be unique across all clusters.
|
Cluster.OriginalDstLbConfig |
getOriginalDstLbConfig()
Optional configuration for the Original Destination load balancing policy.
|
Cluster.OriginalDstLbConfigOrBuilder |
getOriginalDstLbConfigOrBuilder()
Optional configuration for the Original Destination load balancing policy.
|
OutlierDetection |
getOutlierDetection()
If specified, outlier detection will be enabled for this upstream cluster.
|
OutlierDetectionOrBuilder |
getOutlierDetectionOrBuilder()
If specified, outlier detection will be enabled for this upstream cluster.
|
com.google.protobuf.UInt32Value |
getPerConnectionBufferLimitBytes()
Soft limit on size of the cluster’s connections read and write buffers.
|
com.google.protobuf.UInt32ValueOrBuilder |
getPerConnectionBufferLimitBytesOrBuilder()
Soft limit on size of the cluster’s connections read and write buffers.
|
Cluster.ClusterProtocolSelection |
getProtocolSelection()
Determines how Envoy selects the protocol used to speak to upstream hosts.
|
int |
getProtocolSelectionValue()
Determines how Envoy selects the protocol used to speak to upstream hosts.
|
boolean |
getRespectDnsTtl()
Optional configuration for setting cluster's DNS refresh rate.
|
Cluster.RingHashLbConfig |
getRingHashLbConfig()
Optional configuration for the Ring Hash load balancing policy.
|
Cluster.RingHashLbConfigOrBuilder |
getRingHashLbConfigOrBuilder()
Optional configuration for the Ring Hash load balancing policy.
|
UpstreamTlsContext |
getTlsContext()
Deprecated.
|
UpstreamTlsContextOrBuilder |
getTlsContextOrBuilder()
Deprecated.
|
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.
|
TransportSocket |
getTransportSocket()
Optional custom transport socket implementation to use for upstream connections.
|
Cluster.TransportSocketMatch |
getTransportSocketMatches(int index)
Configuration to use different transport sockets for different endpoints.
|
int |
getTransportSocketMatchesCount()
Configuration to use different transport sockets for different endpoints.
|
List<Cluster.TransportSocketMatch> |
getTransportSocketMatchesList()
Configuration to use different transport sockets for different endpoints.
|
Cluster.TransportSocketMatchOrBuilder |
getTransportSocketMatchesOrBuilder(int index)
Configuration to use different transport sockets for different endpoints.
|
List<? extends Cluster.TransportSocketMatchOrBuilder> |
getTransportSocketMatchesOrBuilderList()
Configuration to use different transport sockets for different endpoints.
|
TransportSocketOrBuilder |
getTransportSocketOrBuilder()
Optional custom transport socket implementation to use for upstream connections.
|
Cluster.DiscoveryType |
getType()
The :ref:`service discovery type <arch_overview_service_discovery_types>`
to use for resolving the cluster.
|
Map<String,com.google.protobuf.Any> |
getTypedExtensionProtocolOptions()
Deprecated.
|
int |
getTypedExtensionProtocolOptionsCount()
The extension_protocol_options field is used to provide extension-specific protocol options
for upstream connections.
|
Map<String,com.google.protobuf.Any> |
getTypedExtensionProtocolOptionsMap()
The extension_protocol_options field is used to provide extension-specific protocol options
for upstream connections.
|
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.
|
com.google.protobuf.Any |
getTypedExtensionProtocolOptionsOrThrow(String key)
The extension_protocol_options field is used to provide extension-specific protocol options
for upstream connections.
|
int |
getTypeValue()
The :ref:`service discovery type <arch_overview_service_discovery_types>`
to use for resolving the cluster.
|
BindConfig |
getUpstreamBindConfig()
Optional configuration used to bind newly established upstream connections.
|
BindConfigOrBuilder |
getUpstreamBindConfigOrBuilder()
Optional configuration used to bind newly established upstream connections.
|
UpstreamConnectionOptions |
getUpstreamConnectionOptions()
Optional options for upstream connections.
|
UpstreamConnectionOptionsOrBuilder |
getUpstreamConnectionOptionsOrBuilder()
Optional options for upstream connections.
|
UpstreamHttpProtocolOptions |
getUpstreamHttpProtocolOptions()
HTTP protocol options that are applied only to upstream HTTP connections.
|
UpstreamHttpProtocolOptionsOrBuilder |
getUpstreamHttpProtocolOptionsOrBuilder()
HTTP protocol options that are applied only to upstream HTTP connections.
|
boolean |
getUseTcpForDnsLookups()
[#next-major-version: Reconcile DNS options in a single message.]
|
boolean |
hasCircuitBreakers()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
|
boolean |
hasCleanupInterval()
The interval for removing stale hosts from a cluster type
:ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
|
boolean |
hasClusterType()
The custom cluster type.
|
boolean |
hasCommonHttpProtocolOptions()
Additional options when handling HTTP requests upstream.
|
boolean |
hasCommonLbConfig()
Common configuration for all load balancer implementations.
|
boolean |
hasConnectTimeout()
The timeout for new network connections to hosts in the cluster.
|
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.
|
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.
|
boolean |
hasEdsClusterConfig()
Configuration to use for EDS updates for the Cluster.
|
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.
|
boolean |
hasHttpProtocolOptions()
Additional options when handling HTTP1 requests.
|
boolean |
hasLbSubsetConfig()
Configuration for load balancing subsetting.
|
boolean |
hasLeastRequestLbConfig()
Optional configuration for the LeastRequest load balancing policy.
|
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.
|
boolean |
hasLoadBalancingPolicy()
[#not-implemented-hide:] New mechanism for LB policy configuration.
|
boolean |
hasLrsServer()
[#not-implemented-hide:]
If present, tells the client where to send load reports via LRS.
|
boolean |
hasMaxRequestsPerConnection()
Optional maximum requests for a single upstream connection.
|
boolean |
hasMetadata()
The Metadata field can be used to provide additional information about the
cluster.
|
boolean |
hasOriginalDstLbConfig()
Optional configuration for the Original Destination load balancing policy.
|
boolean |
hasOutlierDetection()
If specified, outlier detection will be enabled for this upstream cluster.
|
boolean |
hasPerConnectionBufferLimitBytes()
Soft limit on size of the cluster’s connections read and write buffers.
|
boolean |
hasRingHashLbConfig()
Optional configuration for the Ring Hash load balancing policy.
|
boolean |
hasTlsContext()
Deprecated.
|
boolean |
hasTransportSocket()
Optional custom transport socket implementation to use for upstream connections.
|
boolean |
hasUpstreamBindConfig()
Optional configuration used to bind newly established upstream connections.
|
boolean |
hasUpstreamConnectionOptions()
Optional options for upstream connections.
|
boolean |
hasUpstreamHttpProtocolOptions()
HTTP protocol options that are applied only to upstream HTTP connections.
|
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneofList<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;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;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;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;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;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) = { ... }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) = { ... }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()
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;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) = { ... }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) = { ... }boolean hasClusterType()
The custom cluster type.
.envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;Cluster.CustomClusterType getClusterType()
The custom cluster type.
.envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;Cluster.CustomClusterTypeOrBuilder getClusterTypeOrBuilder()
The custom cluster type.
.envoy.api.v2.Cluster.CustomClusterType cluster_type = 38;boolean hasEdsClusterConfig()
Configuration to use for EDS updates for the Cluster.
.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;Cluster.EdsClusterConfig getEdsClusterConfig()
Configuration to use for EDS updates for the Cluster.
.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder()
Configuration to use for EDS updates for the Cluster.
.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;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()
The timeout for new network connections to hosts in the cluster.
.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }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()
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;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) = { ... }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) = { ... }@Deprecated List<Address> getHostsList()
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];@Deprecated Address getHosts(int index)
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];@Deprecated int getHostsCount()
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];@Deprecated List<? extends AddressOrBuilder> getHostsOrBuilderList()
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];@Deprecated AddressOrBuilder getHostsOrBuilder(int index)
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];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;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;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;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;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;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;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;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;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 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 hasCircuitBreakers()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;CircuitBreakers getCircuitBreakers()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;CircuitBreakersOrBuilder getCircuitBreakersOrBuilder()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;@Deprecated boolean hasTlsContext()
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];@Deprecated UpstreamTlsContext getTlsContext()
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];@Deprecated UpstreamTlsContextOrBuilder getTlsContextOrBuilder()
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];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;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;UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder()
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;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;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;HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder()
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;boolean hasHttpProtocolOptions()
Additional options when handling HTTP1 requests.
.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;Http1ProtocolOptions getHttpProtocolOptions()
Additional options when handling HTTP1 requests.
.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder()
Additional options when handling HTTP1 requests.
.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;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;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;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;@Deprecated int getExtensionProtocolOptionsCount()
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];@Deprecated boolean containsExtensionProtocolOptions(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.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];@Deprecated Map<String,com.google.protobuf.Struct> getExtensionProtocolOptions()
getExtensionProtocolOptionsMap() instead.@Deprecated Map<String,com.google.protobuf.Struct> getExtensionProtocolOptionsMap()
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];@Deprecated com.google.protobuf.Struct getExtensionProtocolOptionsOrDefault(String key, com.google.protobuf.Struct 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.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];@Deprecated com.google.protobuf.Struct getExtensionProtocolOptionsOrThrow(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.Struct> extension_protocol_options = 35 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];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(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;@Deprecated Map<String,com.google.protobuf.Any> getTypedExtensionProtocolOptions()
getTypedExtensionProtocolOptionsMap() instead.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;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;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;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) = { ... }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) = { ... }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) = { ... }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;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;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;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;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) = { ... }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) = { ... }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;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;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;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;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;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;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;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;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;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) = { ... }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) = { ... }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) = { ... }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;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;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;boolean hasLbSubsetConfig()
Configuration for load balancing subsetting.
.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;Cluster.LbSubsetConfig getLbSubsetConfig()
Configuration for load balancing subsetting.
.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder()
Configuration for load balancing subsetting.
.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;boolean hasRingHashLbConfig()
Optional configuration for the Ring Hash load balancing policy.
.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;Cluster.RingHashLbConfig getRingHashLbConfig()
Optional configuration for the Ring Hash load balancing policy.
.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder()
Optional configuration for the Ring Hash load balancing policy.
.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;boolean hasOriginalDstLbConfig()
Optional configuration for the Original Destination load balancing policy.
.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;Cluster.OriginalDstLbConfig getOriginalDstLbConfig()
Optional configuration for the Original Destination load balancing policy.
.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder()
Optional configuration for the Original Destination load balancing policy.
.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;boolean hasLeastRequestLbConfig()
Optional configuration for the LeastRequest load balancing policy.
.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;Cluster.LeastRequestLbConfig getLeastRequestLbConfig()
Optional configuration for the LeastRequest load balancing policy.
.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder()
Optional configuration for the LeastRequest load balancing policy.
.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;boolean hasCommonLbConfig()
Common configuration for all load balancer implementations.
.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;Cluster.CommonLbConfig getCommonLbConfig()
Common configuration for all load balancer implementations.
.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder()
Common configuration for all load balancer implementations.
.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;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;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;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;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;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;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;int getProtocolSelectionValue()
Determines how Envoy selects the protocol used to speak to upstream hosts.
.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;Cluster.ClusterProtocolSelection getProtocolSelection()
Determines how Envoy selects the protocol used to speak to upstream hosts.
.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;boolean hasUpstreamConnectionOptions()
Optional options for upstream connections.
.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;UpstreamConnectionOptions getUpstreamConnectionOptions()
Optional options for upstream connections.
.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder()
Optional options for upstream connections.
.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;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;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) = { ... }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;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;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;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;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;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;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;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;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;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;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;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;Cluster.ClusterDiscoveryTypeCase getClusterDiscoveryTypeCase()
Cluster.LbConfigCase getLbConfigCase()
Copyright © 2018–2021 The Envoy Project. All rights reserved.