Class HttpProtocolOptions
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,HttpProtocolOptionsOrBuilder,Serializable
public final class HttpProtocolOptions
extends com.google.protobuf.GeneratedMessageV3
implements HttpProtocolOptionsOrBuilder
HttpProtocolOptions specifies Http upstream protocol options. This object
is used in
:ref:`typed_extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`,
keyed by the name ``envoy.extensions.upstreams.http.v3.HttpProtocolOptions``.
This controls what protocol(s) should be used for upstream and how said protocol(s) are configured.
This replaces the prior pattern of explicit protocol configuration directly
in the cluster. So a configuration like this, explicitly configuring the use of HTTP/2 upstream:
.. code::
clusters:
- name: some_service
connect_timeout: 5s
upstream_http_protocol_options:
auto_sni: true
common_http_protocol_options:
idle_timeout: 1s
http2_protocol_options:
max_concurrent_streams: 100
.... [further cluster config]
Would now look like this:
.. code::
clusters:
- name: some_service
connect_timeout: 5s
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
upstream_http_protocol_options:
auto_sni: true
common_http_protocol_options:
idle_timeout: 1s
explicit_http_config:
http2_protocol_options:
max_concurrent_streams: 100
.... [further cluster config]
[#next-free-field: 12]
Protobuf type envoy.extensions.upstreams.http.v3.HttpProtocolOptions- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classIf this is used, the cluster can use either HTTP/1 or HTTP/2, and will use whichever protocol is negotiated by ALPN with the upstream.static interfacestatic final classHttpProtocolOptions specifies Http upstream protocol options.static final classIf this is used, the cluster will only operate on one of the possible upstream protocols.static interfacestatic final classProtobuf typeenvoy.extensions.upstreams.http.v3.HttpProtocolOptions.OutlierDetectionstatic interfacestatic enumstatic final classIf this is used, the cluster can use either of the configured protocols, and will use whichever protocol was used by the downstream connection.static interfaceNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanThis allows switching on protocol based on ALPNThis allows switching on protocol based on ALPNThis contains options common across HTTP/1 and HTTP/2This contains options common across HTTP/1 and HTTP/2static HttpProtocolOptionsstatic final com.google.protobuf.Descriptors.DescriptorTo explicitly configure either HTTP/1 or HTTP/2 (but not both!)To explicitly configure either HTTP/1 or HTTP/2 (but not both!)getHashPolicy(int index) Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster.intSpecifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster.Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster.getHashPolicyOrBuilder(int index) Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster.List<? extends RouteAction.HashPolicyOrBuilder>Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster.Configuration options for Unified Header Validation (UHV).Configuration options for Unified Header Validation (UHV).getHttpFilters(int index) Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha.intOptional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha.Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha.getHttpFiltersOrBuilder(int index) Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha.List<? extends HttpFilterOrBuilder>Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha.Defines http specific outlier detection parameters.Defines http specific outlier detection parameters.com.google.protobuf.Parser<HttpProtocolOptions>getRequestMirrorPolicies(int index) Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.intSpecifies a list of HTTP-level mirroring policies for requests routed to this cluster.Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.getRequestMirrorPoliciesOrBuilder(int index) Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.List<? extends RouteAction.RequestMirrorPolicyOrBuilder>Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.Specifies the retry policy for requests routed to this cluster.Specifies the retry policy for requests routed to this cluster.intThis contains common protocol options which are only applied upstream.This contains common protocol options which are only applied upstream.This allows switching on protocol based on what protocol the downstream connection used.This allows switching on protocol based on what protocol the downstream connection used.booleanThis allows switching on protocol based on ALPNbooleanThis contains options common across HTTP/1 and HTTP/2booleanTo explicitly configure either HTTP/1 or HTTP/2 (but not both!)inthashCode()booleanConfiguration options for Unified Header Validation (UHV).booleanDefines http specific outlier detection parameters.booleanSpecifies the retry policy for requests routed to this cluster.booleanThis contains common protocol options which are only applied upstream.booleanThis allows switching on protocol based on what protocol the downstream connection used.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic HttpProtocolOptions.Builderstatic HttpProtocolOptions.BuildernewBuilder(HttpProtocolOptions prototype) protected HttpProtocolOptions.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static HttpProtocolOptionsparseDelimitedFrom(InputStream input) static HttpProtocolOptionsparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static HttpProtocolOptionsparseFrom(byte[] data) static HttpProtocolOptionsparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static HttpProtocolOptionsparseFrom(com.google.protobuf.ByteString data) static HttpProtocolOptionsparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static HttpProtocolOptionsparseFrom(com.google.protobuf.CodedInputStream input) static HttpProtocolOptionsparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static HttpProtocolOptionsparseFrom(InputStream input) static HttpProtocolOptionsparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static HttpProtocolOptionsparseFrom(ByteBuffer data) static HttpProtocolOptionsparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<HttpProtocolOptions>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
public static final int COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER- See Also:
-
UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
public static final int UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER- See Also:
-
EXPLICIT_HTTP_CONFIG_FIELD_NUMBER
public static final int EXPLICIT_HTTP_CONFIG_FIELD_NUMBER- See Also:
-
USE_DOWNSTREAM_PROTOCOL_CONFIG_FIELD_NUMBER
public static final int USE_DOWNSTREAM_PROTOCOL_CONFIG_FIELD_NUMBER- See Also:
-
AUTO_CONFIG_FIELD_NUMBER
public static final int AUTO_CONFIG_FIELD_NUMBER- See Also:
-
HTTP_FILTERS_FIELD_NUMBER
public static final int HTTP_FILTERS_FIELD_NUMBER- See Also:
-
HEADER_VALIDATION_CONFIG_FIELD_NUMBER
public static final int HEADER_VALIDATION_CONFIG_FIELD_NUMBER- See Also:
-
OUTLIER_DETECTION_FIELD_NUMBER
public static final int OUTLIER_DETECTION_FIELD_NUMBER- See Also:
-
REQUEST_MIRROR_POLICIES_FIELD_NUMBER
public static final int REQUEST_MIRROR_POLICIES_FIELD_NUMBER- See Also:
-
HASH_POLICY_FIELD_NUMBER
public static final int HASH_POLICY_FIELD_NUMBER- See Also:
-
RETRY_POLICY_FIELD_NUMBER
public static final int RETRY_POLICY_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getUpstreamProtocolOptionsCase
- Specified by:
getUpstreamProtocolOptionsCasein interfaceHttpProtocolOptionsOrBuilder
-
hasCommonHttpProtocolOptions
public boolean hasCommonHttpProtocolOptions()This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;- Specified by:
hasCommonHttpProtocolOptionsin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the commonHttpProtocolOptions field is set.
-
getCommonHttpProtocolOptions
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;- Specified by:
getCommonHttpProtocolOptionsin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The commonHttpProtocolOptions.
-
getCommonHttpProtocolOptionsOrBuilder
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;- Specified by:
getCommonHttpProtocolOptionsOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
hasUpstreamHttpProtocolOptions
public boolean hasUpstreamHttpProtocolOptions()This contains common protocol options which are only applied upstream.
.envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;- Specified by:
hasUpstreamHttpProtocolOptionsin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the upstreamHttpProtocolOptions field is set.
-
getUpstreamHttpProtocolOptions
This contains common protocol options which are only applied upstream.
.envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;- Specified by:
getUpstreamHttpProtocolOptionsin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The upstreamHttpProtocolOptions.
-
getUpstreamHttpProtocolOptionsOrBuilder
This contains common protocol options which are only applied upstream.
.envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;- Specified by:
getUpstreamHttpProtocolOptionsOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
hasExplicitHttpConfig
public boolean hasExplicitHttpConfig()To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;- Specified by:
hasExplicitHttpConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the explicitHttpConfig field is set.
-
getExplicitHttpConfig
To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;- Specified by:
getExplicitHttpConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The explicitHttpConfig.
-
getExplicitHttpConfigOrBuilder
To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;- Specified by:
getExplicitHttpConfigOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
hasUseDownstreamProtocolConfig
public boolean hasUseDownstreamProtocolConfig()This allows switching on protocol based on what protocol the downstream connection used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;- Specified by:
hasUseDownstreamProtocolConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the useDownstreamProtocolConfig field is set.
-
getUseDownstreamProtocolConfig
This allows switching on protocol based on what protocol the downstream connection used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;- Specified by:
getUseDownstreamProtocolConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The useDownstreamProtocolConfig.
-
getUseDownstreamProtocolConfigOrBuilder
public HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder getUseDownstreamProtocolConfigOrBuilder()This allows switching on protocol based on what protocol the downstream connection used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;- Specified by:
getUseDownstreamProtocolConfigOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
hasAutoConfig
public boolean hasAutoConfig()This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;- Specified by:
hasAutoConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the autoConfig field is set.
-
getAutoConfig
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;- Specified by:
getAutoConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The autoConfig.
-
getAutoConfigOrBuilder
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;- Specified by:
getAutoConfigOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
getHttpFiltersList
Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha. These filters will be applied for all HTTP streams which flow through this cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests. If using upstream HTTP filters, please be aware that local errors sent by upstream HTTP filters will not trigger retries, and local errors sent by upstream HTTP filters will count as a final response if hedging is configured. [#extension-category: envoy.filters.http.upstream]
repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;- Specified by:
getHttpFiltersListin interfaceHttpProtocolOptionsOrBuilder
-
getHttpFiltersOrBuilderList
Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha. These filters will be applied for all HTTP streams which flow through this cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests. If using upstream HTTP filters, please be aware that local errors sent by upstream HTTP filters will not trigger retries, and local errors sent by upstream HTTP filters will count as a final response if hedging is configured. [#extension-category: envoy.filters.http.upstream]
repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;- Specified by:
getHttpFiltersOrBuilderListin interfaceHttpProtocolOptionsOrBuilder
-
getHttpFiltersCount
public int getHttpFiltersCount()Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha. These filters will be applied for all HTTP streams which flow through this cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests. If using upstream HTTP filters, please be aware that local errors sent by upstream HTTP filters will not trigger retries, and local errors sent by upstream HTTP filters will count as a final response if hedging is configured. [#extension-category: envoy.filters.http.upstream]
repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;- Specified by:
getHttpFiltersCountin interfaceHttpProtocolOptionsOrBuilder
-
getHttpFilters
Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha. These filters will be applied for all HTTP streams which flow through this cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests. If using upstream HTTP filters, please be aware that local errors sent by upstream HTTP filters will not trigger retries, and local errors sent by upstream HTTP filters will count as a final response if hedging is configured. [#extension-category: envoy.filters.http.upstream]
repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;- Specified by:
getHttpFiltersin interfaceHttpProtocolOptionsOrBuilder
-
getHttpFiltersOrBuilder
Optional HTTP filters for the upstream HTTP filter chain. .. note:: Upstream HTTP filters are currently in alpha. These filters will be applied for all HTTP streams which flow through this cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests. If using upstream HTTP filters, please be aware that local errors sent by upstream HTTP filters will not trigger retries, and local errors sent by upstream HTTP filters will count as a final response if hedging is configured. [#extension-category: envoy.filters.http.upstream]
repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;- Specified by:
getHttpFiltersOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
hasHeaderValidationConfig
public boolean hasHeaderValidationConfig()Configuration options for Unified Header Validation (UHV). UHV is an extensible mechanism for checking validity of HTTP responses. [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.] Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``. [#not-implemented-hide:] [#extension-category: envoy.http.header_validators]
.envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7;- Specified by:
hasHeaderValidationConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the headerValidationConfig field is set.
-
getHeaderValidationConfig
Configuration options for Unified Header Validation (UHV). UHV is an extensible mechanism for checking validity of HTTP responses. [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.] Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``. [#not-implemented-hide:] [#extension-category: envoy.http.header_validators]
.envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7;- Specified by:
getHeaderValidationConfigin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The headerValidationConfig.
-
getHeaderValidationConfigOrBuilder
Configuration options for Unified Header Validation (UHV). UHV is an extensible mechanism for checking validity of HTTP responses. [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.] Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``. [#not-implemented-hide:] [#extension-category: envoy.http.header_validators]
.envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7;- Specified by:
getHeaderValidationConfigOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
hasOutlierDetection
public boolean hasOutlierDetection()Defines http specific outlier detection parameters.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.OutlierDetection outlier_detection = 8;- Specified by:
hasOutlierDetectionin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the outlierDetection field is set.
-
getOutlierDetection
Defines http specific outlier detection parameters.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.OutlierDetection outlier_detection = 8;- Specified by:
getOutlierDetectionin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The outlierDetection.
-
getOutlierDetectionOrBuilder
Defines http specific outlier detection parameters.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.OutlierDetection outlier_detection = 8;- Specified by:
getOutlierDetectionOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
getRequestMirrorPoliciesList
Specifies a list of HTTP-level mirroring policies for requests routed to this cluster. Cluster-level policies override route-level policies when they both are configured. .. note:: Mirroring will not be triggered if the :ref:`primary cluster <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;- Specified by:
getRequestMirrorPoliciesListin interfaceHttpProtocolOptionsOrBuilder
-
getRequestMirrorPoliciesOrBuilderList
public List<? extends RouteAction.RequestMirrorPolicyOrBuilder> getRequestMirrorPoliciesOrBuilderList()Specifies a list of HTTP-level mirroring policies for requests routed to this cluster. Cluster-level policies override route-level policies when they both are configured. .. note:: Mirroring will not be triggered if the :ref:`primary cluster <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;- Specified by:
getRequestMirrorPoliciesOrBuilderListin interfaceHttpProtocolOptionsOrBuilder
-
getRequestMirrorPoliciesCount
public int getRequestMirrorPoliciesCount()Specifies a list of HTTP-level mirroring policies for requests routed to this cluster. Cluster-level policies override route-level policies when they both are configured. .. note:: Mirroring will not be triggered if the :ref:`primary cluster <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;- Specified by:
getRequestMirrorPoliciesCountin interfaceHttpProtocolOptionsOrBuilder
-
getRequestMirrorPolicies
Specifies a list of HTTP-level mirroring policies for requests routed to this cluster. Cluster-level policies override route-level policies when they both are configured. .. note:: Mirroring will not be triggered if the :ref:`primary cluster <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;- Specified by:
getRequestMirrorPoliciesin interfaceHttpProtocolOptionsOrBuilder
-
getRequestMirrorPoliciesOrBuilder
Specifies a list of HTTP-level mirroring policies for requests routed to this cluster. Cluster-level policies override route-level policies when they both are configured. .. note:: Mirroring will not be triggered if the :ref:`primary cluster <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;- Specified by:
getRequestMirrorPoliciesOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
getHashPolicyList
Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster. When configured, cluster-level policies override route-level policies. When not configured, route-level policies (if any) will be used. This enables consistent routing to the same upstream host for all requests to a cluster, which is particularly useful for stateful services like caching, session management, or sticky routing requirements. .. note:: Hash policies are only effective when the cluster is configured with a hash-based load balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>` or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;- Specified by:
getHashPolicyListin interfaceHttpProtocolOptionsOrBuilder
-
getHashPolicyOrBuilderList
Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster. When configured, cluster-level policies override route-level policies. When not configured, route-level policies (if any) will be used. This enables consistent routing to the same upstream host for all requests to a cluster, which is particularly useful for stateful services like caching, session management, or sticky routing requirements. .. note:: Hash policies are only effective when the cluster is configured with a hash-based load balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>` or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;- Specified by:
getHashPolicyOrBuilderListin interfaceHttpProtocolOptionsOrBuilder
-
getHashPolicyCount
public int getHashPolicyCount()Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster. When configured, cluster-level policies override route-level policies. When not configured, route-level policies (if any) will be used. This enables consistent routing to the same upstream host for all requests to a cluster, which is particularly useful for stateful services like caching, session management, or sticky routing requirements. .. note:: Hash policies are only effective when the cluster is configured with a hash-based load balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>` or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;- Specified by:
getHashPolicyCountin interfaceHttpProtocolOptionsOrBuilder
-
getHashPolicy
Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster. When configured, cluster-level policies override route-level policies. When not configured, route-level policies (if any) will be used. This enables consistent routing to the same upstream host for all requests to a cluster, which is particularly useful for stateful services like caching, session management, or sticky routing requirements. .. note:: Hash policies are only effective when the cluster is configured with a hash-based load balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>` or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;- Specified by:
getHashPolicyin interfaceHttpProtocolOptionsOrBuilder
-
getHashPolicyOrBuilder
Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or Maglev) for requests routed to this cluster. When configured, cluster-level policies override route-level policies. When not configured, route-level policies (if any) will be used. This enables consistent routing to the same upstream host for all requests to a cluster, which is particularly useful for stateful services like caching, session management, or sticky routing requirements. .. note:: Hash policies are only effective when the cluster is configured with a hash-based load balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>` or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;- Specified by:
getHashPolicyOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
hasRetryPolicy
public boolean hasRetryPolicy()Specifies the retry policy for requests routed to this cluster. When configured, cluster-level retry policy overrides route-level retry policy. When not configured, route-level retry policy (if any) will be used. .. note:: Cluster-level retry policy will override route-level retry policy entirely. Policies are not merged.
.envoy.config.route.v3.RetryPolicy retry_policy = 11;- Specified by:
hasRetryPolicyin interfaceHttpProtocolOptionsOrBuilder- Returns:
- Whether the retryPolicy field is set.
-
getRetryPolicy
Specifies the retry policy for requests routed to this cluster. When configured, cluster-level retry policy overrides route-level retry policy. When not configured, route-level retry policy (if any) will be used. .. note:: Cluster-level retry policy will override route-level retry policy entirely. Policies are not merged.
.envoy.config.route.v3.RetryPolicy retry_policy = 11;- Specified by:
getRetryPolicyin interfaceHttpProtocolOptionsOrBuilder- Returns:
- The retryPolicy.
-
getRetryPolicyOrBuilder
Specifies the retry policy for requests routed to this cluster. When configured, cluster-level retry policy overrides route-level retry policy. When not configured, route-level retry policy (if any) will be used. .. note:: Cluster-level retry policy will override route-level retry policy entirely. Policies are not merged.
.envoy.config.route.v3.RetryPolicy retry_policy = 11;- Specified by:
getRetryPolicyOrBuilderin interfaceHttpProtocolOptionsOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static HttpProtocolOptions parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static HttpProtocolOptions parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static HttpProtocolOptions parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static HttpProtocolOptions parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static HttpProtocolOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static HttpProtocolOptions parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static HttpProtocolOptions parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static HttpProtocolOptions parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static HttpProtocolOptions parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static HttpProtocolOptions parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected HttpProtocolOptions.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-