public interface ClusterOrBuilder
extends com.google.protobuf.MessageOrBuilder
| Modifier and Type | Method and Description |
|---|---|
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_config.cluster.v4alpha.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_config.cluster.v4alpha.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.
|
Cluster.CommonLbConfig |
getCommonLbConfig()
Common configuration for all load balancer implementations.
|
Cluster.CommonLbConfigOrBuilder |
getCommonLbConfigOrBuilder()
Common configuration for all load balancer implementations.
|
boolean |
getConnectionPoolPerDownstreamConnection()
If `connection_pool_per_downstream_connection` is true, the cluster will use a separate
connection pool for every downstream connection
bool connection_pool_per_downstream_connection = 51; |
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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.LOGICAL_DNS>`,
this value is used to specify the cluster’s dns resolvers.
|
Cluster.EdsClusterConfig |
getEdsClusterConfig()
Configuration to use for EDS updates for the Cluster.
|
Cluster.EdsClusterConfigOrBuilder |
getEdsClusterConfigOrBuilder()
Configuration to use for EDS updates for the Cluster.
|
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.
|
boolean |
getIgnoreHealthOnHostRemoval()
If set to true, Envoy will ignore the health value of a host when processing its removal
from service discovery.
|
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_config.cluster.v4alpha.Cluster.DiscoveryType.STATIC>`,
:ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
|
ClusterLoadAssignmentOrBuilder |
getLoadAssignmentOrBuilder()
Setting this is required for specifying members of
:ref:`STATIC<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STATIC>`,
:ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.
|
Cluster.MaglevLbConfig |
getMaglevLbConfig()
Optional configuration for the Maglev load balancing policy.
|
Cluster.MaglevLbConfigOrBuilder |
getMaglevLbConfigOrBuilder()
Optional configuration for the Maglev load balancing policy.
|
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.PreconnectPolicy |
getPreconnectPolicy()
[#not-implemented-hide:]
Preconnect configuration for this cluster.
|
Cluster.PreconnectPolicyOrBuilder |
getPreconnectPolicyOrBuilder()
[#not-implemented-hide:]
Preconnect configuration for this cluster.
|
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.
|
TrackClusterStats |
getTrackClusterStats()
Configuration to track optional cluster stats.
|
TrackClusterStatsOrBuilder |
getTrackClusterStatsOrBuilder()
Configuration to track optional cluster stats.
|
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.
|
TypedExtensionConfig |
getUpstreamConfig()
Optional customization and configuration of upstream connection pool, and upstream type.
|
TypedExtensionConfigOrBuilder |
getUpstreamConfigOrBuilder()
Optional customization and configuration of upstream connection pool, and upstream type.
|
UpstreamConnectionOptions |
getUpstreamConnectionOptions()
Optional options for upstream connections.
|
UpstreamConnectionOptionsOrBuilder |
getUpstreamConnectionOptionsOrBuilder()
Optional options for upstream 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_config.cluster.v4alpha.Cluster.DiscoveryType.ORIGINAL_DST>`.
|
boolean |
hasClusterType()
The custom cluster type.
|
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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`,
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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 |
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_config.cluster.v4alpha.Cluster.DiscoveryType.STATIC>`,
:ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`
or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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 |
hasMaglevLbConfig()
Optional configuration for the Maglev load balancing policy.
|
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 |
hasPreconnectPolicy()
[#not-implemented-hide:]
Preconnect configuration for this cluster.
|
boolean |
hasRingHashLbConfig()
Optional configuration for the Ring Hash load balancing policy.
|
boolean |
hasTrackClusterStats()
Configuration to track optional cluster stats.
|
boolean |
hasTransportSocket()
Optional custom transport socket implementation to use for upstream connections.
|
boolean |
hasUpstreamBindConfig()
Optional configuration used to bind newly established upstream connections.
|
boolean |
hasUpstreamConfig()
Optional customization and configuration of upstream connection pool, and upstream type.
|
boolean |
hasUpstreamConnectionOptions()
Optional options for upstream 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_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.v4alpha.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_config.cluster.v4alpha.Cluster.TransportSocketMatch>` with empty match
criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
socket match in case above.
If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
*TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
*transport_socket* specified in this cluster.
This field allows gradual and flexible transport socket configuration changes.
The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
"acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
has "acceptPlaintext": "true" metadata information.
Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
*TransportSocketMatch* in this field. Other client Envoys receive CDS without
*transport_socket_match* set, and still send plain text traffic to the same cluster.
This field can be used to specify custom transport socket configurations for health
checks by adding matching key/value pairs in a health check's
:ref:`transport socket match criteria <envoy_api_field_config.core.v4alpha.HealthCheck.transport_socket_match_criteria>` field.
[#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
repeated .envoy.config.cluster.v4alpha.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_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.v4alpha.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_config.cluster.v4alpha.Cluster.TransportSocketMatch>` with empty match
criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
socket match in case above.
If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
*TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
*transport_socket* specified in this cluster.
This field allows gradual and flexible transport socket configuration changes.
The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
"acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
has "acceptPlaintext": "true" metadata information.
Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
*TransportSocketMatch* in this field. Other client Envoys receive CDS without
*transport_socket_match* set, and still send plain text traffic to the same cluster.
This field can be used to specify custom transport socket configurations for health
checks by adding matching key/value pairs in a health check's
:ref:`transport socket match criteria <envoy_api_field_config.core.v4alpha.HealthCheck.transport_socket_match_criteria>` field.
[#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
repeated .envoy.config.cluster.v4alpha.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_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.v4alpha.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_config.cluster.v4alpha.Cluster.TransportSocketMatch>` with empty match
criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
socket match in case above.
If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
*TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
*transport_socket* specified in this cluster.
This field allows gradual and flexible transport socket configuration changes.
The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
"acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
has "acceptPlaintext": "true" metadata information.
Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
*TransportSocketMatch* in this field. Other client Envoys receive CDS without
*transport_socket_match* set, and still send plain text traffic to the same cluster.
This field can be used to specify custom transport socket configurations for health
checks by adding matching key/value pairs in a health check's
:ref:`transport socket match criteria <envoy_api_field_config.core.v4alpha.HealthCheck.transport_socket_match_criteria>` field.
[#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
repeated .envoy.config.cluster.v4alpha.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_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.v4alpha.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_config.cluster.v4alpha.Cluster.TransportSocketMatch>` with empty match
criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
socket match in case above.
If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
*TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
*transport_socket* specified in this cluster.
This field allows gradual and flexible transport socket configuration changes.
The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
"acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
has "acceptPlaintext": "true" metadata information.
Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
*TransportSocketMatch* in this field. Other client Envoys receive CDS without
*transport_socket_match* set, and still send plain text traffic to the same cluster.
This field can be used to specify custom transport socket configurations for health
checks by adding matching key/value pairs in a health check's
:ref:`transport socket match criteria <envoy_api_field_config.core.v4alpha.HealthCheck.transport_socket_match_criteria>` field.
[#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
repeated .envoy.config.cluster.v4alpha.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_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.v4alpha.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_config.cluster.v4alpha.Cluster.TransportSocketMatch>` with empty match
criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
socket match in case above.
If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
*TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
*transport_socket* specified in this cluster.
This field allows gradual and flexible transport socket configuration changes.
The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
"acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
has "acceptPlaintext": "true" metadata information.
Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
*TransportSocketMatch* in this field. Other client Envoys receive CDS without
*transport_socket_match* set, and still send plain text traffic to the same cluster.
This field can be used to specify custom transport socket configurations for health
checks by adding matching key/value pairs in a health check's
:ref:`transport socket match criteria <envoy_api_field_config.core.v4alpha.HealthCheck.transport_socket_match_criteria>` field.
[#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
repeated .envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.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_config.cluster.v4alpha.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.config.cluster.v4alpha.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.config.cluster.v4alpha.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }boolean hasClusterType()
The custom cluster type.
.envoy.config.cluster.v4alpha.Cluster.CustomClusterType cluster_type = 38;Cluster.CustomClusterType getClusterType()
The custom cluster type.
.envoy.config.cluster.v4alpha.Cluster.CustomClusterType cluster_type = 38;Cluster.CustomClusterTypeOrBuilder getClusterTypeOrBuilder()
The custom cluster type.
.envoy.config.cluster.v4alpha.Cluster.CustomClusterType cluster_type = 38;boolean hasEdsClusterConfig()
Configuration to use for EDS updates for the Cluster.
.envoy.config.cluster.v4alpha.Cluster.EdsClusterConfig eds_cluster_config = 3;Cluster.EdsClusterConfig getEdsClusterConfig()
Configuration to use for EDS updates for the Cluster.
.envoy.config.cluster.v4alpha.Cluster.EdsClusterConfig eds_cluster_config = 3;Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder()
Configuration to use for EDS updates for the Cluster.
.envoy.config.cluster.v4alpha.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 [(.udpa.annotations.security) = { ... }com.google.protobuf.UInt32Value getPerConnectionBufferLimitBytes()
Soft limit on size of the cluster’s connections read and write buffers. If unspecified, an implementation defined default is applied (1MiB).
.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5 [(.udpa.annotations.security) = { ... }com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder()
Soft limit on size of the cluster’s connections read and write buffers. If unspecified, an implementation defined default is applied (1MiB).
.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5 [(.udpa.annotations.security) = { ... }int getLbPolicyValue()
The :ref:`load balancer type <arch_overview_load_balancing_types>` to use when picking a host in the cluster. [#comment:TODO: Remove enum constraint :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v4alpha.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>` when implemented.]
.envoy.config.cluster.v4alpha.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. [#comment:TODO: Remove enum constraint :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v4alpha.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>` when implemented.]
.envoy.config.cluster.v4alpha.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }boolean hasLoadAssignment()
Setting this is required for specifying members of :ref:`STATIC<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STATIC>`, :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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;ClusterLoadAssignment getLoadAssignment()
Setting this is required for specifying members of :ref:`STATIC<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STATIC>`, :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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;ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder()
Setting this is required for specifying members of :ref:`STATIC<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STATIC>`, :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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;List<HealthCheck> getHealthChecksList()
Optional :ref:`active health checking <arch_overview_health_checking>` configuration for the cluster. If no configuration is specified no health checking will be done and all cluster members will be considered healthy at all times.
repeated .envoy.config.core.v4alpha.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.config.core.v4alpha.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.v4alpha.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.config.core.v4alpha.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.config.core.v4alpha.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.config.cluster.v4alpha.CircuitBreakers circuit_breakers = 10;CircuitBreakers getCircuitBreakers()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
.envoy.config.cluster.v4alpha.CircuitBreakers circuit_breakers = 10;CircuitBreakersOrBuilder getCircuitBreakersOrBuilder()
Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
.envoy.config.cluster.v4alpha.CircuitBreakers circuit_breakers = 10;int getTypedExtensionProtocolOptionsCount()
The extension_protocol_options field is used to provide extension-specific protocol options for upstream connections. The key should match the extension filter name, such as "envoy.filters.network.thrift_proxy". See the extension's documentation for details on specific options. [#next-major-version: make this a list of typed extensions.]
map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;boolean containsTypedExtensionProtocolOptions(String key)
The extension_protocol_options field is used to provide extension-specific protocol options for upstream connections. The key should match the extension filter name, such as "envoy.filters.network.thrift_proxy". See the extension's documentation for details on specific options. [#next-major-version: make this a list of typed extensions.]
map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;@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. [#next-major-version: make this a list of typed extensions.]
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. [#next-major-version: make this a list of typed extensions.]
map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow(String key)
The extension_protocol_options field is used to provide extension-specific protocol options for upstream connections. The key should match the extension filter name, such as "envoy.filters.network.thrift_proxy". See the extension's documentation for details on specific options. [#next-major-version: make this a list of typed extensions.]
map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;boolean hasDnsRefreshRate()
If the DNS refresh rate is specified and the cluster type is either :ref:`STRICT_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is ignored.
.envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is ignored.
.envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is ignored.
.envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DnsLookupFamily.AUTO>`.
.envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DnsLookupFamily.AUTO>`.
.envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.config.core.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.config.core.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.config.core.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.config.core.v4alpha.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_config.cluster.v4alpha.Cluster.DiscoveryType.STRICT_DNS>`, or :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_config.cluster.v4alpha.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.config.core.v4alpha.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.config.cluster.v4alpha.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.config.cluster.v4alpha.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.config.cluster.v4alpha.OutlierDetection outlier_detection = 19;boolean hasCleanupInterval()
The interval for removing stale hosts from a cluster type :ref:`ORIGINAL_DST<envoy_api_enum_value_config.cluster.v4alpha.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.v4alpha.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.v4alpha.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.v4alpha.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_config.cluster.v4alpha.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.v4alpha.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.config.core.v4alpha.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.config.core.v4alpha.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.config.core.v4alpha.BindConfig upstream_bind_config = 21;boolean hasLbSubsetConfig()
Configuration for load balancing subsetting.
.envoy.config.cluster.v4alpha.Cluster.LbSubsetConfig lb_subset_config = 22;Cluster.LbSubsetConfig getLbSubsetConfig()
Configuration for load balancing subsetting.
.envoy.config.cluster.v4alpha.Cluster.LbSubsetConfig lb_subset_config = 22;Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder()
Configuration for load balancing subsetting.
.envoy.config.cluster.v4alpha.Cluster.LbSubsetConfig lb_subset_config = 22;boolean hasRingHashLbConfig()
Optional configuration for the Ring Hash load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.RingHashLbConfig ring_hash_lb_config = 23;Cluster.RingHashLbConfig getRingHashLbConfig()
Optional configuration for the Ring Hash load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.RingHashLbConfig ring_hash_lb_config = 23;Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder()
Optional configuration for the Ring Hash load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.RingHashLbConfig ring_hash_lb_config = 23;boolean hasMaglevLbConfig()
Optional configuration for the Maglev load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.MaglevLbConfig maglev_lb_config = 52;Cluster.MaglevLbConfig getMaglevLbConfig()
Optional configuration for the Maglev load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.MaglevLbConfig maglev_lb_config = 52;Cluster.MaglevLbConfigOrBuilder getMaglevLbConfigOrBuilder()
Optional configuration for the Maglev load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.MaglevLbConfig maglev_lb_config = 52;boolean hasOriginalDstLbConfig()
Optional configuration for the Original Destination load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;Cluster.OriginalDstLbConfig getOriginalDstLbConfig()
Optional configuration for the Original Destination load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder()
Optional configuration for the Original Destination load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;boolean hasLeastRequestLbConfig()
Optional configuration for the LeastRequest load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.LeastRequestLbConfig least_request_lb_config = 37;Cluster.LeastRequestLbConfig getLeastRequestLbConfig()
Optional configuration for the LeastRequest load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.LeastRequestLbConfig least_request_lb_config = 37;Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder()
Optional configuration for the LeastRequest load balancing policy.
.envoy.config.cluster.v4alpha.Cluster.LeastRequestLbConfig least_request_lb_config = 37;boolean hasCommonLbConfig()
Common configuration for all load balancer implementations.
.envoy.config.cluster.v4alpha.Cluster.CommonLbConfig common_lb_config = 27;Cluster.CommonLbConfig getCommonLbConfig()
Common configuration for all load balancer implementations.
.envoy.config.cluster.v4alpha.Cluster.CommonLbConfig common_lb_config = 27;Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder()
Common configuration for all load balancer implementations.
.envoy.config.cluster.v4alpha.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_extensions.transport_sockets.tls.v4alpha.UpstreamTlsContext>` in the `typed_config`. If no transport socket configuration is specified, new connections will be set up with plaintext.
.envoy.config.core.v4alpha.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_extensions.transport_sockets.tls.v4alpha.UpstreamTlsContext>` in the `typed_config`. If no transport socket configuration is specified, new connections will be set up with plaintext.
.envoy.config.core.v4alpha.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_extensions.transport_sockets.tls.v4alpha.UpstreamTlsContext>` in the `typed_config`. If no transport socket configuration is specified, new connections will be set up with plaintext.
.envoy.config.core.v4alpha.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.config.core.v4alpha.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.config.core.v4alpha.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.config.core.v4alpha.Metadata metadata = 25;boolean hasUpstreamConnectionOptions()
Optional options for upstream connections.
.envoy.config.cluster.v4alpha.UpstreamConnectionOptions upstream_connection_options = 30;UpstreamConnectionOptions getUpstreamConnectionOptions()
Optional options for upstream connections.
.envoy.config.cluster.v4alpha.UpstreamConnectionOptions upstream_connection_options = 30;UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder()
Optional options for upstream connections.
.envoy.config.cluster.v4alpha.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 getIgnoreHealthOnHostRemoval()
If set to true, Envoy will ignore the health value of a host when processing its removal from service discovery. This means that if active health checking is used, Envoy will *not* wait for the endpoint to go unhealthy before removing it.
bool ignore_health_on_host_removal = 32;List<Filter> getFiltersList()
An (optional) network filter chain, listed in the order the filters should be applied. The chain will be applied to all outgoing connections that Envoy makes to the upstream servers of this cluster.
repeated .envoy.config.cluster.v4alpha.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.config.cluster.v4alpha.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.v4alpha.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.config.cluster.v4alpha.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.config.cluster.v4alpha.Filter filters = 40;boolean hasLoadBalancingPolicy()
[#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the :ref:`lb_policy<envoy_api_field_config.cluster.v4alpha.Cluster.lb_policy>` field has the value :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v4alpha.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
.envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.lb_policy>` field has the value :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v4alpha.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
.envoy.config.cluster.v4alpha.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_config.cluster.v4alpha.Cluster.lb_policy>` field has the value :ref:`LOAD_BALANCING_POLICY_CONFIG<envoy_api_enum_value_config.cluster.v4alpha.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG>`.
.envoy.config.cluster.v4alpha.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.config.core.v4alpha.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.config.core.v4alpha.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.config.core.v4alpha.ConfigSource lrs_server = 42;boolean hasUpstreamConfig()
Optional customization and configuration of upstream connection pool, and upstream type. Currently this field only applies for HTTP traffic but is designed for eventual use for custom TCP upstreams. For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream HTTP, using the http connection pool and the codec from `http2_protocol_options` For routes where CONNECT termination is configured, Envoy will take downstream CONNECT requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool. The default pool used is the generic connection pool which creates the HTTP upstream for most HTTP requests, and the TCP upstream if CONNECT termination is configured. If users desire custom connection pool or upstream behavior, for example terminating CONNECT only if a custom filter indicates it is appropriate, the custom factories can be registered and configured here.
.envoy.config.core.v4alpha.TypedExtensionConfig upstream_config = 48;TypedExtensionConfig getUpstreamConfig()
Optional customization and configuration of upstream connection pool, and upstream type. Currently this field only applies for HTTP traffic but is designed for eventual use for custom TCP upstreams. For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream HTTP, using the http connection pool and the codec from `http2_protocol_options` For routes where CONNECT termination is configured, Envoy will take downstream CONNECT requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool. The default pool used is the generic connection pool which creates the HTTP upstream for most HTTP requests, and the TCP upstream if CONNECT termination is configured. If users desire custom connection pool or upstream behavior, for example terminating CONNECT only if a custom filter indicates it is appropriate, the custom factories can be registered and configured here.
.envoy.config.core.v4alpha.TypedExtensionConfig upstream_config = 48;TypedExtensionConfigOrBuilder getUpstreamConfigOrBuilder()
Optional customization and configuration of upstream connection pool, and upstream type. Currently this field only applies for HTTP traffic but is designed for eventual use for custom TCP upstreams. For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream HTTP, using the http connection pool and the codec from `http2_protocol_options` For routes where CONNECT termination is configured, Envoy will take downstream CONNECT requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool. The default pool used is the generic connection pool which creates the HTTP upstream for most HTTP requests, and the TCP upstream if CONNECT termination is configured. If users desire custom connection pool or upstream behavior, for example terminating CONNECT only if a custom filter indicates it is appropriate, the custom factories can be registered and configured here.
.envoy.config.core.v4alpha.TypedExtensionConfig upstream_config = 48;boolean hasTrackClusterStats()
Configuration to track optional cluster stats.
.envoy.config.cluster.v4alpha.TrackClusterStats track_cluster_stats = 49;TrackClusterStats getTrackClusterStats()
Configuration to track optional cluster stats.
.envoy.config.cluster.v4alpha.TrackClusterStats track_cluster_stats = 49;TrackClusterStatsOrBuilder getTrackClusterStatsOrBuilder()
Configuration to track optional cluster stats.
.envoy.config.cluster.v4alpha.TrackClusterStats track_cluster_stats = 49;boolean hasPreconnectPolicy()
[#not-implemented-hide:] Preconnect configuration for this cluster.
.envoy.config.cluster.v4alpha.Cluster.PreconnectPolicy preconnect_policy = 50;Cluster.PreconnectPolicy getPreconnectPolicy()
[#not-implemented-hide:] Preconnect configuration for this cluster.
.envoy.config.cluster.v4alpha.Cluster.PreconnectPolicy preconnect_policy = 50;Cluster.PreconnectPolicyOrBuilder getPreconnectPolicyOrBuilder()
[#not-implemented-hide:] Preconnect configuration for this cluster.
.envoy.config.cluster.v4alpha.Cluster.PreconnectPolicy preconnect_policy = 50;boolean getConnectionPoolPerDownstreamConnection()
If `connection_pool_per_downstream_connection` is true, the cluster will use a separate connection pool for every downstream connection
bool connection_pool_per_downstream_connection = 51;Cluster.ClusterDiscoveryTypeCase getClusterDiscoveryTypeCase()
Cluster.LbConfigCase getLbConfigCase()
Copyright © 2018–2021 The Envoy Project. All rights reserved.