
io.envoyproxy.envoy.api.v2.ClusterOrBuilder Maven / Gradle / Ivy
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/api/v2/cds.proto
package io.envoyproxy.envoy.api.v2;
public interface ClusterOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster)
com.google.protobuf.MessageOrBuilder {
/**
*
* 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.
* By default, the maximum length of a cluster name is limited to 60
* characters. This limit can be increased by setting the
* :option:`--max-obj-name-len` command line argument to the desired value.
*
*
* string name = 1 [(.validate.rules) = { ... }
*/
java.lang.String getName();
/**
*
* Supplies the name of the cluster which must be unique across all clusters.
* The cluster name is used when emitting
* :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
* <envoy_api_field_Cluster.alt_stat_name>` is not provided.
* Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
* By default, the maximum length of a cluster name is limited to 60
* characters. This limit can be increased by setting the
* :option:`--max-obj-name-len` command line argument to the desired value.
*
*
* string name = 1 [(.validate.rules) = { ... }
*/
com.google.protobuf.ByteString
getNameBytes();
/**
*
* An optional alternative to the cluster name to be used while emitting stats.
* Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
* confused with :ref:`Router Filter Header
* <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
*
*
* string alt_stat_name = 28;
*/
java.lang.String getAltStatName();
/**
*
* An optional alternative to the cluster name to be used while emitting stats.
* Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
* confused with :ref:`Router Filter Header
* <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
*
*
* string alt_stat_name = 28;
*/
com.google.protobuf.ByteString
getAltStatNameBytes();
/**
*
* The :ref:`service discovery type <arch_overview_service_discovery_types>`
* to use for resolving the cluster.
*
*
* .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
*/
int getTypeValue();
/**
*
* The :ref:`service discovery type <arch_overview_service_discovery_types>`
* to use for resolving the cluster.
*
*
* .envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.api.v2.Cluster.DiscoveryType getType();
/**
*
* Configuration to use for EDS updates for the Cluster.
*
*
* .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
*/
boolean hasEdsClusterConfig();
/**
*
* Configuration to use for EDS updates for the Cluster.
*
*
* .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
*/
io.envoyproxy.envoy.api.v2.Cluster.EdsClusterConfig getEdsClusterConfig();
/**
*
* Configuration to use for EDS updates for the Cluster.
*
*
* .envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;
*/
io.envoyproxy.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder();
/**
*
* The timeout for new network connections to hosts in the cluster.
*
*
* .google.protobuf.Duration connect_timeout = 4 [(.gogoproto.nullable) = false, (.gogoproto.stdduration) = true, (.validate.rules) = { ... }
*/
boolean hasConnectTimeout();
/**
*
* The timeout for new network connections to hosts in the cluster.
*
*
* .google.protobuf.Duration connect_timeout = 4 [(.gogoproto.nullable) = false, (.gogoproto.stdduration) = true, (.validate.rules) = { ... }
*/
com.google.protobuf.Duration getConnectTimeout();
/**
*
* The timeout for new network connections to hosts in the cluster.
*
*
* .google.protobuf.Duration connect_timeout = 4 [(.gogoproto.nullable) = false, (.gogoproto.stdduration) = true, (.validate.rules) = { ... }
*/
com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder();
/**
*
* Soft limit on size of the cluster’s connections read and write buffers. If
* unspecified, an implementation defined default is applied (1MiB).
*
*
* .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
*/
boolean hasPerConnectionBufferLimitBytes();
/**
*
* Soft limit on size of the cluster’s connections read and write buffers. If
* unspecified, an implementation defined default is applied (1MiB).
*
*
* .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
*/
com.google.protobuf.UInt32Value getPerConnectionBufferLimitBytes();
/**
*
* Soft limit on size of the cluster’s connections read and write buffers. If
* unspecified, an implementation defined default is applied (1MiB).
*
*
* .google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
*/
com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder();
/**
*
* The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
* when picking a host in the cluster.
*
*
* .envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
*/
int getLbPolicyValue();
/**
*
* The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
* when picking a host in the cluster.
*
*
* .envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.api.v2.Cluster.LbPolicy getLbPolicy();
/**
*
* 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];
*/
@java.lang.Deprecated java.util.List
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];
*/
@java.lang.Deprecated io.envoyproxy.envoy.api.v2.core.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];
*/
@java.lang.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];
*/
@java.lang.Deprecated java.util.List extends io.envoyproxy.envoy.api.v2.core.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];
*/
@java.lang.Deprecated io.envoyproxy.envoy.api.v2.core.AddressOrBuilder getHostsOrBuilder(
int index);
/**
*
* 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 :ref:`hosts<envoy_api_field_Cluster.hosts>` field.
* [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
* once load_assignment is implemented.]
* .. attention::
* Setting this allows non-EDS cluster types to contain embedded EDS equivalent
* :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
* Setting this overrides :ref:`hosts<envoy_api_field_Cluster.hosts>` values.
*
*
* .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
*/
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 :ref:`hosts<envoy_api_field_Cluster.hosts>` field.
* [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
* once load_assignment is implemented.]
* .. attention::
* Setting this allows non-EDS cluster types to contain embedded EDS equivalent
* :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
* Setting this overrides :ref:`hosts<envoy_api_field_Cluster.hosts>` values.
*
*
* .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
*/
io.envoyproxy.envoy.api.v2.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 :ref:`hosts<envoy_api_field_Cluster.hosts>` field.
* [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
* once load_assignment is implemented.]
* .. attention::
* Setting this allows non-EDS cluster types to contain embedded EDS equivalent
* :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
* Setting this overrides :ref:`hosts<envoy_api_field_Cluster.hosts>` values.
*
*
* .envoy.api.v2.ClusterLoadAssignment load_assignment = 33;
*/
io.envoyproxy.envoy.api.v2.ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder();
/**
*
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
*
*
* repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
*/
java.util.List
getHealthChecksList();
/**
*
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
*
*
* repeated .envoy.api.v2.core.HealthCheck health_checks = 8;
*/
io.envoyproxy.envoy.api.v2.core.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;
*/
java.util.List extends io.envoyproxy.envoy.api.v2.core.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;
*/
io.envoyproxy.envoy.api.v2.core.HealthCheckOrBuilder getHealthChecksOrBuilder(
int index);
/**
*
* Optional maximum requests for a single upstream connection. This parameter
* is respected by both the HTTP/1.1 and HTTP/2 connection pool
* implementations. If not specified, there is no limit. Setting this
* parameter to 1 will effectively disable keep alive.
*
*
* .google.protobuf.UInt32Value max_requests_per_connection = 9;
*/
boolean hasMaxRequestsPerConnection();
/**
*
* Optional maximum requests for a single upstream connection. This parameter
* is respected by both the HTTP/1.1 and HTTP/2 connection pool
* implementations. If not specified, there is no limit. Setting this
* parameter to 1 will effectively disable keep alive.
*
*
* .google.protobuf.UInt32Value max_requests_per_connection = 9;
*/
com.google.protobuf.UInt32Value getMaxRequestsPerConnection();
/**
*
* Optional maximum requests for a single upstream connection. This parameter
* is respected by both the HTTP/1.1 and HTTP/2 connection pool
* implementations. If not specified, there is no limit. Setting this
* parameter to 1 will effectively disable keep alive.
*
*
* .google.protobuf.UInt32Value max_requests_per_connection = 9;
*/
com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder();
/**
*
* Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
*
*
* .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
*/
boolean hasCircuitBreakers();
/**
*
* Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
*
*
* .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
*/
io.envoyproxy.envoy.api.v2.cluster.CircuitBreakers getCircuitBreakers();
/**
*
* Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
*
*
* .envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;
*/
io.envoyproxy.envoy.api.v2.cluster.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder();
/**
*
* The TLS configuration for connections to the upstream cluster. If no TLS
* configuration is specified, TLS will not be used for new connections.
* .. attention::
* Server certificate verification is not enabled by default. Configure
* :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable
* verification.
*
*
* .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;
*/
boolean hasTlsContext();
/**
*
* The TLS configuration for connections to the upstream cluster. If no TLS
* configuration is specified, TLS will not be used for new connections.
* .. attention::
* Server certificate verification is not enabled by default. Configure
* :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable
* verification.
*
*
* .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;
*/
io.envoyproxy.envoy.api.v2.auth.UpstreamTlsContext getTlsContext();
/**
*
* The TLS configuration for connections to the upstream cluster. If no TLS
* configuration is specified, TLS will not be used for new connections.
* .. attention::
* Server certificate verification is not enabled by default. Configure
* :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable
* verification.
*
*
* .envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;
*/
io.envoyproxy.envoy.api.v2.auth.UpstreamTlsContextOrBuilder getTlsContextOrBuilder();
/**
*
* Additional options when handling HTTP requests. These options will be applicable to both
* HTTP1 and HTTP2 requests.
*
*
* .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
*/
boolean hasCommonHttpProtocolOptions();
/**
*
* Additional options when handling HTTP requests. These options will be applicable to both
* HTTP1 and HTTP2 requests.
*
*
* .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
*/
io.envoyproxy.envoy.api.v2.core.HttpProtocolOptions getCommonHttpProtocolOptions();
/**
*
* Additional options when handling HTTP requests. These options will be applicable to both
* HTTP1 and HTTP2 requests.
*
*
* .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;
*/
io.envoyproxy.envoy.api.v2.core.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder();
/**
*
* Additional options when handling HTTP1 requests.
*
*
* .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
*/
boolean hasHttpProtocolOptions();
/**
*
* Additional options when handling HTTP1 requests.
*
*
* .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
*/
io.envoyproxy.envoy.api.v2.core.Http1ProtocolOptions getHttpProtocolOptions();
/**
*
* Additional options when handling HTTP1 requests.
*
*
* .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;
*/
io.envoyproxy.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder();
/**
*
* Even if default HTTP2 protocol options are desired, this field must be
* set so that Envoy will assume that the upstream supports HTTP/2 when
* making new HTTP connection pool connections. Currently, Envoy only
* supports prior knowledge for upstream connections. Even if TLS is used
* with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
* connections to happen over plain text.
*
*
* .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
*/
boolean hasHttp2ProtocolOptions();
/**
*
* Even if default HTTP2 protocol options are desired, this field must be
* set so that Envoy will assume that the upstream supports HTTP/2 when
* making new HTTP connection pool connections. Currently, Envoy only
* supports prior knowledge for upstream connections. Even if TLS is used
* with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
* connections to happen over plain text.
*
*
* .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;
*/
io.envoyproxy.envoy.api.v2.core.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;
*/
io.envoyproxy.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true];
*/
@java.lang.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];
*/
@java.lang.Deprecated boolean containsExtensionProtocolOptions(
java.lang.String key);
/**
* Use {@link #getExtensionProtocolOptionsMap()} instead.
*/
@java.lang.Deprecated
java.util.Map
getExtensionProtocolOptions();
/**
*
* 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];
*/
@java.lang.Deprecated java.util.Map
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];
*/
@java.lang.Deprecated
com.google.protobuf.Struct getExtensionProtocolOptionsOrDefault(
java.lang.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];
*/
@java.lang.Deprecated
com.google.protobuf.Struct getExtensionProtocolOptionsOrThrow(
java.lang.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;
*/
int getTypedExtensionProtocolOptionsCount();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
boolean containsTypedExtensionProtocolOptions(
java.lang.String key);
/**
* Use {@link #getTypedExtensionProtocolOptionsMap()} instead.
*/
@java.lang.Deprecated
java.util.Map
getTypedExtensionProtocolOptions();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
java.util.Map
getTypedExtensionProtocolOptionsMap();
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
com.google.protobuf.Any getTypedExtensionProtocolOptionsOrDefault(
java.lang.String key,
com.google.protobuf.Any defaultValue);
/**
*
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
*
*
* map<string, .google.protobuf.Any> typed_extension_protocol_options = 36;
*/
com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow(
java.lang.String key);
/**
*
* If the DNS refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_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. 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 [(.gogoproto.stdduration) = true, (.validate.rules) = { ... }
*/
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. 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 [(.gogoproto.stdduration) = true, (.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. 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 [(.gogoproto.stdduration) = true, (.validate.rules) = { ... }
*/
com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder();
/**
*
* 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) = { ... }
*/
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) = { ... }
*/
io.envoyproxy.envoy.api.v2.Cluster.DnsLookupFamily getDnsLookupFamily();
/**
*
* 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.
*
*
* repeated .envoy.api.v2.core.Address dns_resolvers = 18;
*/
java.util.List
getDnsResolversList();
/**
*
* If DNS resolvers are specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_api_enum_value_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.
*
*
* repeated .envoy.api.v2.core.Address dns_resolvers = 18;
*/
io.envoyproxy.envoy.api.v2.core.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.
*
*
* 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.
*
*
* repeated .envoy.api.v2.core.Address dns_resolvers = 18;
*/
java.util.List extends io.envoyproxy.envoy.api.v2.core.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.
*
*
* repeated .envoy.api.v2.core.Address dns_resolvers = 18;
*/
io.envoyproxy.envoy.api.v2.core.AddressOrBuilder getDnsResolversOrBuilder(
int index);
/**
*
* 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 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;
*/
io.envoyproxy.envoy.api.v2.cluster.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;
*/
io.envoyproxy.envoy.api.v2.cluster.OutlierDetectionOrBuilder getOutlierDetectionOrBuilder();
/**
*
* 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 [(.gogoproto.stdduration) = true, (.validate.rules) = { ... }
*/
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 [(.gogoproto.stdduration) = true, (.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 [(.gogoproto.stdduration) = true, (.validate.rules) = { ... }
*/
com.google.protobuf.DurationOrBuilder getCleanupIntervalOrBuilder();
/**
*
* Optional configuration used to bind newly established upstream connections.
* This overrides any bind_config specified in the bootstrap proto.
* If the address and port are empty, no bind will be performed.
*
*
* .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
*/
boolean hasUpstreamBindConfig();
/**
*
* Optional configuration used to bind newly established upstream connections.
* This overrides any bind_config specified in the bootstrap proto.
* If the address and port are empty, no bind will be performed.
*
*
* .envoy.api.v2.core.BindConfig upstream_bind_config = 21;
*/
io.envoyproxy.envoy.api.v2.core.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;
*/
io.envoyproxy.envoy.api.v2.core.BindConfigOrBuilder getUpstreamBindConfigOrBuilder();
/**
*
* Configuration for load balancing subsetting.
*
*
* .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
*/
boolean hasLbSubsetConfig();
/**
*
* Configuration for load balancing subsetting.
*
*
* .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
*/
io.envoyproxy.envoy.api.v2.Cluster.LbSubsetConfig getLbSubsetConfig();
/**
*
* Configuration for load balancing subsetting.
*
*
* .envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;
*/
io.envoyproxy.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder();
/**
*
* Optional configuration for the Ring Hash load balancing policy.
*
*
* .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
*/
boolean hasRingHashLbConfig();
/**
*
* Optional configuration for the Ring Hash load balancing policy.
*
*
* .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
*/
io.envoyproxy.envoy.api.v2.Cluster.RingHashLbConfig getRingHashLbConfig();
/**
*
* Optional configuration for the Ring Hash load balancing policy.
*
*
* .envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;
*/
io.envoyproxy.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder();
/**
*
* Optional configuration for the Original Destination load balancing policy.
*
*
* .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
*/
boolean hasOriginalDstLbConfig();
/**
*
* Optional configuration for the Original Destination load balancing policy.
*
*
* .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
*/
io.envoyproxy.envoy.api.v2.Cluster.OriginalDstLbConfig getOriginalDstLbConfig();
/**
*
* Optional configuration for the Original Destination load balancing policy.
*
*
* .envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;
*/
io.envoyproxy.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder();
/**
*
* Optional configuration for the LeastRequest load balancing policy.
*
*
* .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
*/
boolean hasLeastRequestLbConfig();
/**
*
* Optional configuration for the LeastRequest load balancing policy.
*
*
* .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
*/
io.envoyproxy.envoy.api.v2.Cluster.LeastRequestLbConfig getLeastRequestLbConfig();
/**
*
* Optional configuration for the LeastRequest load balancing policy.
*
*
* .envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;
*/
io.envoyproxy.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder();
/**
*
* Common configuration for all load balancer implementations.
*
*
* .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
*/
boolean hasCommonLbConfig();
/**
*
* Common configuration for all load balancer implementations.
*
*
* .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
*/
io.envoyproxy.envoy.api.v2.Cluster.CommonLbConfig getCommonLbConfig();
/**
*
* Common configuration for all load balancer implementations.
*
*
* .envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;
*/
io.envoyproxy.envoy.api.v2.Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder();
/**
*
* Optional custom transport socket implementation to use for upstream connections.
*
*
* .envoy.api.v2.core.TransportSocket transport_socket = 24;
*/
boolean hasTransportSocket();
/**
*
* Optional custom transport socket implementation to use for upstream connections.
*
*
* .envoy.api.v2.core.TransportSocket transport_socket = 24;
*/
io.envoyproxy.envoy.api.v2.core.TransportSocket getTransportSocket();
/**
*
* Optional custom transport socket implementation to use for upstream connections.
*
*
* .envoy.api.v2.core.TransportSocket transport_socket = 24;
*/
io.envoyproxy.envoy.api.v2.core.TransportSocketOrBuilder getTransportSocketOrBuilder();
/**
*
* The Metadata field can be used to provide additional information about the
* cluster. It can be used for stats, logging, and varying filter behavior.
* Fields should use reverse DNS notation to denote which entity within Envoy
* will need the information. For instance, if the metadata is intended for
* the Router filter, the filter name should be specified as *envoy.router*.
*
*
* .envoy.api.v2.core.Metadata metadata = 25;
*/
boolean hasMetadata();
/**
*
* The Metadata field can be used to provide additional information about the
* cluster. It can be used for stats, logging, and varying filter behavior.
* Fields should use reverse DNS notation to denote which entity within Envoy
* will need the information. For instance, if the metadata is intended for
* the Router filter, the filter name should be specified as *envoy.router*.
*
*
* .envoy.api.v2.core.Metadata metadata = 25;
*/
io.envoyproxy.envoy.api.v2.core.Metadata getMetadata();
/**
*
* The Metadata field can be used to provide additional information about the
* cluster. It can be used for stats, logging, and varying filter behavior.
* Fields should use reverse DNS notation to denote which entity within Envoy
* will need the information. For instance, if the metadata is intended for
* the Router filter, the filter name should be specified as *envoy.router*.
*
*
* .envoy.api.v2.core.Metadata metadata = 25;
*/
io.envoyproxy.envoy.api.v2.core.MetadataOrBuilder getMetadataOrBuilder();
/**
*
* Determines how Envoy selects the protocol used to speak to upstream hosts.
*
*
* .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
*/
int getProtocolSelectionValue();
/**
*
* Determines how Envoy selects the protocol used to speak to upstream hosts.
*
*
* .envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;
*/
io.envoyproxy.envoy.api.v2.Cluster.ClusterProtocolSelection getProtocolSelection();
/**
*
* Optional options for upstream connections.
*
*
* .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
*/
boolean hasUpstreamConnectionOptions();
/**
*
* Optional options for upstream connections.
*
*
* .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
*/
io.envoyproxy.envoy.api.v2.UpstreamConnectionOptions getUpstreamConnectionOptions();
/**
*
* Optional options for upstream connections.
*
*
* .envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
*/
io.envoyproxy.envoy.api.v2.UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder();
/**
*
* If an upstream host becomes unhealthy (as determined by the configured health checks
* or outlier detection), immediately close all connections to the failed host.
* .. note::
* This is currently only supported for connections created by tcp_proxy.
* .. note::
* The current implementation of this feature closes all connections immediately when
* the unhealthy status is detected. If there are a large number of connections open
* to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
* time exclusively closing these connections, and not processing any other traffic.
*
*
* bool close_connections_on_host_health_failure = 31;
*/
boolean getCloseConnectionsOnHostHealthFailure();
/**
*
* If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
* connections from any hosts that are removed from service discovery.
* This only affects behavior for hosts that are being actively health checked.
* If this flag is not set to true, Envoy will wait until the hosts fail active health
* checking before removing it from the cluster.
*
*
* bool drain_connections_on_host_removal = 32;
*/
boolean getDrainConnectionsOnHostRemoval();
public io.envoyproxy.envoy.api.v2.Cluster.LbConfigCase getLbConfigCase();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy