public final class RouteAction extends com.google.protobuf.GeneratedMessageV3 implements RouteActionOrBuilder
[#next-free-field: 34]Protobuf type
envoy.api.v2.route.RouteAction| Modifier and Type | Class and Description |
|---|---|
static class |
RouteAction.Builder
[#next-free-field: 34]
Protobuf type
envoy.api.v2.route.RouteAction |
static class |
RouteAction.ClusterNotFoundResponseCode
Protobuf enum
envoy.api.v2.route.RouteAction.ClusterNotFoundResponseCode |
static class |
RouteAction.ClusterSpecifierCase |
static class |
RouteAction.HashPolicy
Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer
<arch_overview_load_balancing_types>`.
|
static interface |
RouteAction.HashPolicyOrBuilder |
static class |
RouteAction.HostRewriteSpecifierCase |
static class |
RouteAction.InternalRedirectAction
Configures :ref:`internal redirect <arch_overview_internal_redirects>` behavior.
|
static class |
RouteAction.RequestMirrorPolicy
The router is capable of shadowing traffic from one cluster to another.
|
static interface |
RouteAction.RequestMirrorPolicyOrBuilder |
static class |
RouteAction.UpgradeConfig
Allows enabling and disabling upgrades on a per-route basis.
|
static interface |
RouteAction.UpgradeConfigOrBuilder |
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
com.google.protobuf.BoolValue |
getAutoHostRewrite()
Indicates that during forwarding, the host header will be swapped with
the hostname of the upstream host chosen by the cluster manager.
|
String |
getAutoHostRewriteHeader()
Indicates that during forwarding, the host header will be swapped with the content of given
downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
|
com.google.protobuf.ByteString |
getAutoHostRewriteHeaderBytes()
Indicates that during forwarding, the host header will be swapped with the content of given
downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
|
com.google.protobuf.BoolValueOrBuilder |
getAutoHostRewriteOrBuilder()
Indicates that during forwarding, the host header will be swapped with
the hostname of the upstream host chosen by the cluster manager.
|
String |
getCluster()
Indicates the upstream cluster to which the request should be routed
to.
|
com.google.protobuf.ByteString |
getClusterBytes()
Indicates the upstream cluster to which the request should be routed
to.
|
String |
getClusterHeader()
Envoy will determine the cluster to route to by reading the value of the
HTTP header named by cluster_header from the request headers.
|
com.google.protobuf.ByteString |
getClusterHeaderBytes()
Envoy will determine the cluster to route to by reading the value of the
HTTP header named by cluster_header from the request headers.
|
RouteAction.ClusterNotFoundResponseCode |
getClusterNotFoundResponseCode()
The HTTP status code to use when configured cluster is not found.
|
int |
getClusterNotFoundResponseCodeValue()
The HTTP status code to use when configured cluster is not found.
|
RouteAction.ClusterSpecifierCase |
getClusterSpecifierCase() |
CorsPolicy |
getCors()
Indicates that the route has a CORS policy.
|
CorsPolicyOrBuilder |
getCorsOrBuilder()
Indicates that the route has a CORS policy.
|
static RouteAction |
getDefaultInstance() |
RouteAction |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Duration |
getGrpcTimeoutOffset()
If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
the provided duration from the header.
|
com.google.protobuf.DurationOrBuilder |
getGrpcTimeoutOffsetOrBuilder()
If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
the provided duration from the header.
|
RouteAction.HashPolicy |
getHashPolicy(int index)
Specifies a list of hash policies to use for ring hash load balancing.
|
int |
getHashPolicyCount()
Specifies a list of hash policies to use for ring hash load balancing.
|
List<RouteAction.HashPolicy> |
getHashPolicyList()
Specifies a list of hash policies to use for ring hash load balancing.
|
RouteAction.HashPolicyOrBuilder |
getHashPolicyOrBuilder(int index)
Specifies a list of hash policies to use for ring hash load balancing.
|
List<? extends RouteAction.HashPolicyOrBuilder> |
getHashPolicyOrBuilderList()
Specifies a list of hash policies to use for ring hash load balancing.
|
HedgePolicy |
getHedgePolicy()
Indicates that the route has a hedge policy.
|
HedgePolicyOrBuilder |
getHedgePolicyOrBuilder()
Indicates that the route has a hedge policy.
|
String |
getHostRewrite()
Indicates that during forwarding, the host header will be swapped with
this value.
|
com.google.protobuf.ByteString |
getHostRewriteBytes()
Indicates that during forwarding, the host header will be swapped with
this value.
|
RouteAction.HostRewriteSpecifierCase |
getHostRewriteSpecifierCase() |
com.google.protobuf.Duration |
getIdleTimeout()
Specifies the idle timeout for the route.
|
com.google.protobuf.DurationOrBuilder |
getIdleTimeoutOrBuilder()
Specifies the idle timeout for the route.
|
com.google.protobuf.BoolValue |
getIncludeVhRateLimits()
Specifies if the rate limit filter should include the virtual host rate
limits.
|
com.google.protobuf.BoolValueOrBuilder |
getIncludeVhRateLimitsOrBuilder()
Specifies if the rate limit filter should include the virtual host rate
limits.
|
RouteAction.InternalRedirectAction |
getInternalRedirectAction()
.envoy.api.v2.route.RouteAction.InternalRedirectAction internal_redirect_action = 26; |
int |
getInternalRedirectActionValue()
.envoy.api.v2.route.RouteAction.InternalRedirectAction internal_redirect_action = 26; |
com.google.protobuf.Duration |
getMaxGrpcTimeout()
If present, and the request is a gRPC request, use the
`grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
or its default value (infinity) instead of
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
to the maximum value specified here.
|
com.google.protobuf.DurationOrBuilder |
getMaxGrpcTimeoutOrBuilder()
If present, and the request is a gRPC request, use the
`grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
or its default value (infinity) instead of
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
to the maximum value specified here.
|
com.google.protobuf.UInt32Value |
getMaxInternalRedirects()
An internal redirect is handled, iff the number of previous internal redirects that a
downstream request has encountered is lower than this value, and
:ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
is set to :ref:`HANDLE_INTERNAL_REDIRECT
<envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
In the case where a downstream request is bounced among multiple routes by internal redirect,
the first route that hits this threshold, or has
:ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
set to
:ref:`PASS_THROUGH_INTERNAL_REDIRECT
<envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
will pass the redirect back to downstream.
|
com.google.protobuf.UInt32ValueOrBuilder |
getMaxInternalRedirectsOrBuilder()
An internal redirect is handled, iff the number of previous internal redirects that a
downstream request has encountered is lower than this value, and
:ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
is set to :ref:`HANDLE_INTERNAL_REDIRECT
<envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
In the case where a downstream request is bounced among multiple routes by internal redirect,
the first route that hits this threshold, or has
:ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
set to
:ref:`PASS_THROUGH_INTERNAL_REDIRECT
<envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
will pass the redirect back to downstream.
|
Metadata |
getMetadataMatch()
Optional endpoint metadata match criteria used by the subset load balancer.
|
MetadataOrBuilder |
getMetadataMatchOrBuilder()
Optional endpoint metadata match criteria used by the subset load balancer.
|
com.google.protobuf.Parser<RouteAction> |
getParserForType() |
String |
getPrefixRewrite()
Indicates that during forwarding, the matched prefix (or path) should be
swapped with this value.
|
com.google.protobuf.ByteString |
getPrefixRewriteBytes()
Indicates that during forwarding, the matched prefix (or path) should be
swapped with this value.
|
RoutingPriority |
getPriority()
Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
|
int |
getPriorityValue()
Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
|
RateLimit |
getRateLimits(int index)
Specifies a set of rate limit configurations that could be applied to the
route.
|
int |
getRateLimitsCount()
Specifies a set of rate limit configurations that could be applied to the
route.
|
List<RateLimit> |
getRateLimitsList()
Specifies a set of rate limit configurations that could be applied to the
route.
|
RateLimitOrBuilder |
getRateLimitsOrBuilder(int index)
Specifies a set of rate limit configurations that could be applied to the
route.
|
List<? extends RateLimitOrBuilder> |
getRateLimitsOrBuilderList()
Specifies a set of rate limit configurations that could be applied to the
route.
|
RegexMatchAndSubstitute |
getRegexRewrite()
Indicates that during forwarding, portions of the path that match the
pattern should be rewritten, even allowing the substitution of capture
groups from the pattern into the new path as specified by the rewrite
substitution string.
|
RegexMatchAndSubstituteOrBuilder |
getRegexRewriteOrBuilder()
Indicates that during forwarding, portions of the path that match the
pattern should be rewritten, even allowing the substitution of capture
groups from the pattern into the new path as specified by the rewrite
substitution string.
|
RouteAction.RequestMirrorPolicy |
getRequestMirrorPolicies(int index)
Indicates that the route has request mirroring policies.
|
int |
getRequestMirrorPoliciesCount()
Indicates that the route has request mirroring policies.
|
List<RouteAction.RequestMirrorPolicy> |
getRequestMirrorPoliciesList()
Indicates that the route has request mirroring policies.
|
RouteAction.RequestMirrorPolicyOrBuilder |
getRequestMirrorPoliciesOrBuilder(int index)
Indicates that the route has request mirroring policies.
|
List<? extends RouteAction.RequestMirrorPolicyOrBuilder> |
getRequestMirrorPoliciesOrBuilderList()
Indicates that the route has request mirroring policies.
|
RouteAction.RequestMirrorPolicy |
getRequestMirrorPolicy()
Deprecated.
|
RouteAction.RequestMirrorPolicyOrBuilder |
getRequestMirrorPolicyOrBuilder()
Deprecated.
|
RetryPolicy |
getRetryPolicy()
Indicates that the route has a retry policy.
|
RetryPolicyOrBuilder |
getRetryPolicyOrBuilder()
Indicates that the route has a retry policy.
|
com.google.protobuf.Any |
getRetryPolicyTypedConfig()
[#not-implemented-hide:]
Specifies the configuration for retry policy extension.
|
com.google.protobuf.AnyOrBuilder |
getRetryPolicyTypedConfigOrBuilder()
[#not-implemented-hide:]
Specifies the configuration for retry policy extension.
|
int |
getSerializedSize() |
com.google.protobuf.Duration |
getTimeout()
Specifies the upstream timeout for the route.
|
com.google.protobuf.DurationOrBuilder |
getTimeoutOrBuilder()
Specifies the upstream timeout for the route.
|
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
RouteAction.UpgradeConfig |
getUpgradeConfigs(int index)
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25; |
int |
getUpgradeConfigsCount()
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25; |
List<RouteAction.UpgradeConfig> |
getUpgradeConfigsList()
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25; |
RouteAction.UpgradeConfigOrBuilder |
getUpgradeConfigsOrBuilder(int index)
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25; |
List<? extends RouteAction.UpgradeConfigOrBuilder> |
getUpgradeConfigsOrBuilderList()
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25; |
WeightedCluster |
getWeightedClusters()
Multiple upstream clusters can be specified for a given route.
|
WeightedClusterOrBuilder |
getWeightedClustersOrBuilder()
Multiple upstream clusters can be specified for a given route.
|
boolean |
hasAutoHostRewrite()
Indicates that during forwarding, the host header will be swapped with
the hostname of the upstream host chosen by the cluster manager.
|
boolean |
hasCors()
Indicates that the route has a CORS policy.
|
boolean |
hasGrpcTimeoutOffset()
If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
the provided duration from the header.
|
int |
hashCode() |
boolean |
hasHedgePolicy()
Indicates that the route has a hedge policy.
|
boolean |
hasIdleTimeout()
Specifies the idle timeout for the route.
|
boolean |
hasIncludeVhRateLimits()
Specifies if the rate limit filter should include the virtual host rate
limits.
|
boolean |
hasMaxGrpcTimeout()
If present, and the request is a gRPC request, use the
`grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
or its default value (infinity) instead of
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
to the maximum value specified here.
|
boolean |
hasMaxInternalRedirects()
An internal redirect is handled, iff the number of previous internal redirects that a
downstream request has encountered is lower than this value, and
:ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
is set to :ref:`HANDLE_INTERNAL_REDIRECT
<envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
In the case where a downstream request is bounced among multiple routes by internal redirect,
the first route that hits this threshold, or has
:ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
set to
:ref:`PASS_THROUGH_INTERNAL_REDIRECT
<envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
will pass the redirect back to downstream.
|
boolean |
hasMetadataMatch()
Optional endpoint metadata match criteria used by the subset load balancer.
|
boolean |
hasRegexRewrite()
Indicates that during forwarding, portions of the path that match the
pattern should be rewritten, even allowing the substitution of capture
groups from the pattern into the new path as specified by the rewrite
substitution string.
|
boolean |
hasRequestMirrorPolicy()
Deprecated.
|
boolean |
hasRetryPolicy()
Indicates that the route has a retry policy.
|
boolean |
hasRetryPolicyTypedConfig()
[#not-implemented-hide:]
Specifies the configuration for retry policy extension.
|
boolean |
hasTimeout()
Specifies the upstream timeout for the route.
|
boolean |
hasWeightedClusters()
Multiple upstream clusters can be specified for a given route.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static RouteAction.Builder |
newBuilder() |
static RouteAction.Builder |
newBuilder(RouteAction prototype) |
RouteAction.Builder |
newBuilderForType() |
protected RouteAction.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
protected Object |
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) |
static RouteAction |
parseDelimitedFrom(InputStream input) |
static RouteAction |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction |
parseFrom(byte[] data) |
static RouteAction |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction |
parseFrom(ByteBuffer data) |
static RouteAction |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction |
parseFrom(com.google.protobuf.ByteString data) |
static RouteAction |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction |
parseFrom(com.google.protobuf.CodedInputStream input) |
static RouteAction |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction |
parseFrom(InputStream input) |
static RouteAction |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<RouteAction> |
parser() |
RouteAction.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, 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, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int CLUSTER_FIELD_NUMBER
public static final int CLUSTER_HEADER_FIELD_NUMBER
public static final int WEIGHTED_CLUSTERS_FIELD_NUMBER
public static final int CLUSTER_NOT_FOUND_RESPONSE_CODE_FIELD_NUMBER
public static final int METADATA_MATCH_FIELD_NUMBER
public static final int PREFIX_REWRITE_FIELD_NUMBER
public static final int REGEX_REWRITE_FIELD_NUMBER
public static final int HOST_REWRITE_FIELD_NUMBER
public static final int AUTO_HOST_REWRITE_FIELD_NUMBER
public static final int AUTO_HOST_REWRITE_HEADER_FIELD_NUMBER
public static final int TIMEOUT_FIELD_NUMBER
public static final int IDLE_TIMEOUT_FIELD_NUMBER
public static final int RETRY_POLICY_FIELD_NUMBER
public static final int RETRY_POLICY_TYPED_CONFIG_FIELD_NUMBER
public static final int REQUEST_MIRROR_POLICY_FIELD_NUMBER
public static final int REQUEST_MIRROR_POLICIES_FIELD_NUMBER
public static final int PRIORITY_FIELD_NUMBER
public static final int RATE_LIMITS_FIELD_NUMBER
public static final int INCLUDE_VH_RATE_LIMITS_FIELD_NUMBER
public static final int HASH_POLICY_FIELD_NUMBER
public static final int CORS_FIELD_NUMBER
public static final int MAX_GRPC_TIMEOUT_FIELD_NUMBER
public static final int GRPC_TIMEOUT_OFFSET_FIELD_NUMBER
public static final int UPGRADE_CONFIGS_FIELD_NUMBER
public static final int INTERNAL_REDIRECT_ACTION_FIELD_NUMBER
public static final int MAX_INTERNAL_REDIRECTS_FIELD_NUMBER
public static final int HEDGE_POLICY_FIELD_NUMBER
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
newInstance in class com.google.protobuf.GeneratedMessageV3public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public RouteAction.ClusterSpecifierCase getClusterSpecifierCase()
getClusterSpecifierCase in interface RouteActionOrBuilderpublic RouteAction.HostRewriteSpecifierCase getHostRewriteSpecifierCase()
getHostRewriteSpecifierCase in interface RouteActionOrBuilderpublic String getCluster()
Indicates the upstream cluster to which the request should be routed to.
string cluster = 1 [(.validate.rules) = { ... }getCluster in interface RouteActionOrBuilderpublic com.google.protobuf.ByteString getClusterBytes()
Indicates the upstream cluster to which the request should be routed to.
string cluster = 1 [(.validate.rules) = { ... }getClusterBytes in interface RouteActionOrBuilderpublic String getClusterHeader()
Envoy will determine the cluster to route to by reading the value of the HTTP header named by cluster_header from the request headers. If the header is not found or the referenced cluster does not exist, Envoy will return a 404 response. .. attention:: Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead. .. note:: If the header appears multiple times only the first value is used.
string cluster_header = 2 [(.validate.rules) = { ... }getClusterHeader in interface RouteActionOrBuilderpublic com.google.protobuf.ByteString getClusterHeaderBytes()
Envoy will determine the cluster to route to by reading the value of the HTTP header named by cluster_header from the request headers. If the header is not found or the referenced cluster does not exist, Envoy will return a 404 response. .. attention:: Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead. .. note:: If the header appears multiple times only the first value is used.
string cluster_header = 2 [(.validate.rules) = { ... }getClusterHeaderBytes in interface RouteActionOrBuilderpublic boolean hasWeightedClusters()
Multiple upstream clusters can be specified for a given route. The request is routed to one of the upstream clusters based on weights assigned to each cluster. See :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>` for additional documentation.
.envoy.api.v2.route.WeightedCluster weighted_clusters = 3;hasWeightedClusters in interface RouteActionOrBuilderpublic WeightedCluster getWeightedClusters()
Multiple upstream clusters can be specified for a given route. The request is routed to one of the upstream clusters based on weights assigned to each cluster. See :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>` for additional documentation.
.envoy.api.v2.route.WeightedCluster weighted_clusters = 3;getWeightedClusters in interface RouteActionOrBuilderpublic WeightedClusterOrBuilder getWeightedClustersOrBuilder()
Multiple upstream clusters can be specified for a given route. The request is routed to one of the upstream clusters based on weights assigned to each cluster. See :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>` for additional documentation.
.envoy.api.v2.route.WeightedCluster weighted_clusters = 3;getWeightedClustersOrBuilder in interface RouteActionOrBuilderpublic int getClusterNotFoundResponseCodeValue()
The HTTP status code to use when configured cluster is not found. The default response code is 503 Service Unavailable.
.envoy.api.v2.route.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }getClusterNotFoundResponseCodeValue in interface RouteActionOrBuilderpublic RouteAction.ClusterNotFoundResponseCode getClusterNotFoundResponseCode()
The HTTP status code to use when configured cluster is not found. The default response code is 503 Service Unavailable.
.envoy.api.v2.route.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }getClusterNotFoundResponseCode in interface RouteActionOrBuilderpublic boolean hasMetadataMatch()
Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what's set in this field will be considered for load balancing. If using :ref:`weighted_clusters <envoy_api_field_route.RouteAction.weighted_clusters>`, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*.
.envoy.api.v2.core.Metadata metadata_match = 4;hasMetadataMatch in interface RouteActionOrBuilderpublic Metadata getMetadataMatch()
Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what's set in this field will be considered for load balancing. If using :ref:`weighted_clusters <envoy_api_field_route.RouteAction.weighted_clusters>`, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*.
.envoy.api.v2.core.Metadata metadata_match = 4;getMetadataMatch in interface RouteActionOrBuilderpublic MetadataOrBuilder getMetadataMatchOrBuilder()
Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what's set in this field will be considered for load balancing. If using :ref:`weighted_clusters <envoy_api_field_route.RouteAction.weighted_clusters>`, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*.
.envoy.api.v2.core.Metadata metadata_match = 4;getMetadataMatchOrBuilder in interface RouteActionOrBuilderpublic String getPrefixRewrite()
Indicates that during forwarding, the matched prefix (or path) should be
swapped with this value. This option allows application URLs to be rooted
at a different path from those exposed at the reverse proxy layer. The router filter will
place the original path before rewrite into the :ref:`x-envoy-original-path
<config_http_filters_router_x-envoy-original-path>` header.
Only one of *prefix_rewrite* or
:ref:`regex_rewrite <envoy_api_field_route.RouteAction.regex_rewrite>`
may be specified.
.. attention::
Pay careful attention to the use of trailing slashes in the
:ref:`route's match <envoy_api_field_route.Route.match>` prefix value.
Stripping a prefix from a path requires multiple Routes to handle all cases. For example,
rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single
:ref:`Route <envoy_api_msg_route.Route>`, as shown by the below config entries:
.. code-block:: yaml
- match:
prefix: "/prefix/"
route:
prefix_rewrite: "/"
- match:
prefix: "/prefix"
route:
prefix_rewrite: "/"
Having above entries in the config, requests to */prefix* will be stripped to */*, while
requests to */prefix/etc* will be stripped to */etc*.
string prefix_rewrite = 5 [(.validate.rules) = { ... }getPrefixRewrite in interface RouteActionOrBuilderpublic com.google.protobuf.ByteString getPrefixRewriteBytes()
Indicates that during forwarding, the matched prefix (or path) should be
swapped with this value. This option allows application URLs to be rooted
at a different path from those exposed at the reverse proxy layer. The router filter will
place the original path before rewrite into the :ref:`x-envoy-original-path
<config_http_filters_router_x-envoy-original-path>` header.
Only one of *prefix_rewrite* or
:ref:`regex_rewrite <envoy_api_field_route.RouteAction.regex_rewrite>`
may be specified.
.. attention::
Pay careful attention to the use of trailing slashes in the
:ref:`route's match <envoy_api_field_route.Route.match>` prefix value.
Stripping a prefix from a path requires multiple Routes to handle all cases. For example,
rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single
:ref:`Route <envoy_api_msg_route.Route>`, as shown by the below config entries:
.. code-block:: yaml
- match:
prefix: "/prefix/"
route:
prefix_rewrite: "/"
- match:
prefix: "/prefix"
route:
prefix_rewrite: "/"
Having above entries in the config, requests to */prefix* will be stripped to */*, while
requests to */prefix/etc* will be stripped to */etc*.
string prefix_rewrite = 5 [(.validate.rules) = { ... }getPrefixRewriteBytes in interface RouteActionOrBuilderpublic boolean hasRegexRewrite()
Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path <config_http_filters_router_x-envoy-original-path>` header. Only one of :ref:`prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>` or *regex_rewrite* may be specified. Examples using Google's `RE2 <https://github.com/google/re2>`_ engine: * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution string of ``\2/instance/\1`` would transform ``/service/foo/v1/api`` into ``/v1/api/instance/foo``. * The pattern ``one`` paired with a substitution string of ``two`` would transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``. * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of ``\1two\2`` would replace only the first occurrence of ``one``, transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``. * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/`` would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to ``/aaa/yyy/bbb``.
.envoy.type.matcher.RegexMatchAndSubstitute regex_rewrite = 32;hasRegexRewrite in interface RouteActionOrBuilderpublic RegexMatchAndSubstitute getRegexRewrite()
Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path <config_http_filters_router_x-envoy-original-path>` header. Only one of :ref:`prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>` or *regex_rewrite* may be specified. Examples using Google's `RE2 <https://github.com/google/re2>`_ engine: * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution string of ``\2/instance/\1`` would transform ``/service/foo/v1/api`` into ``/v1/api/instance/foo``. * The pattern ``one`` paired with a substitution string of ``two`` would transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``. * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of ``\1two\2`` would replace only the first occurrence of ``one``, transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``. * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/`` would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to ``/aaa/yyy/bbb``.
.envoy.type.matcher.RegexMatchAndSubstitute regex_rewrite = 32;getRegexRewrite in interface RouteActionOrBuilderpublic RegexMatchAndSubstituteOrBuilder getRegexRewriteOrBuilder()
Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path <config_http_filters_router_x-envoy-original-path>` header. Only one of :ref:`prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>` or *regex_rewrite* may be specified. Examples using Google's `RE2 <https://github.com/google/re2>`_ engine: * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution string of ``\2/instance/\1`` would transform ``/service/foo/v1/api`` into ``/v1/api/instance/foo``. * The pattern ``one`` paired with a substitution string of ``two`` would transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``. * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of ``\1two\2`` would replace only the first occurrence of ``one``, transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``. * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/`` would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to ``/aaa/yyy/bbb``.
.envoy.type.matcher.RegexMatchAndSubstitute regex_rewrite = 32;getRegexRewriteOrBuilder in interface RouteActionOrBuilderpublic String getHostRewrite()
Indicates that during forwarding, the host header will be swapped with this value.
string host_rewrite = 6 [(.validate.rules) = { ... }getHostRewrite in interface RouteActionOrBuilderpublic com.google.protobuf.ByteString getHostRewriteBytes()
Indicates that during forwarding, the host header will be swapped with this value.
string host_rewrite = 6 [(.validate.rules) = { ... }getHostRewriteBytes in interface RouteActionOrBuilderpublic boolean hasAutoHostRewrite()
Indicates that during forwarding, the host header will be swapped with the hostname of the upstream host chosen by the cluster manager. This option is applicable only when the destination cluster for a route is of type *strict_dns* or *logical_dns*. Setting this to true with other cluster types has no effect.
.google.protobuf.BoolValue auto_host_rewrite = 7;hasAutoHostRewrite in interface RouteActionOrBuilderpublic com.google.protobuf.BoolValue getAutoHostRewrite()
Indicates that during forwarding, the host header will be swapped with the hostname of the upstream host chosen by the cluster manager. This option is applicable only when the destination cluster for a route is of type *strict_dns* or *logical_dns*. Setting this to true with other cluster types has no effect.
.google.protobuf.BoolValue auto_host_rewrite = 7;getAutoHostRewrite in interface RouteActionOrBuilderpublic com.google.protobuf.BoolValueOrBuilder getAutoHostRewriteOrBuilder()
Indicates that during forwarding, the host header will be swapped with the hostname of the upstream host chosen by the cluster manager. This option is applicable only when the destination cluster for a route is of type *strict_dns* or *logical_dns*. Setting this to true with other cluster types has no effect.
.google.protobuf.BoolValue auto_host_rewrite = 7;getAutoHostRewriteOrBuilder in interface RouteActionOrBuilderpublic String getAutoHostRewriteHeader()
Indicates that during forwarding, the host header will be swapped with the content of given downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header. If header value is empty, host header is left intact. .. attention:: Pay attention to the potential security implications of using this option. Provided header must come from trusted source. .. note:: If the header appears multiple times only the first value is used.
string auto_host_rewrite_header = 29 [(.validate.rules) = { ... }getAutoHostRewriteHeader in interface RouteActionOrBuilderpublic com.google.protobuf.ByteString getAutoHostRewriteHeaderBytes()
Indicates that during forwarding, the host header will be swapped with the content of given downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header. If header value is empty, host header is left intact. .. attention:: Pay attention to the potential security implications of using this option. Provided header must come from trusted source. .. note:: If the header appears multiple times only the first value is used.
string auto_host_rewrite_header = 29 [(.validate.rules) = { ... }getAutoHostRewriteHeaderBytes in interface RouteActionOrBuilderpublic boolean hasTimeout()
Specifies the upstream timeout for the route. If not specified, the default is 15s. This spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has been completely processed. A value of 0 will disable the route's timeout. .. note:: This timeout includes all retries. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the :ref:`retry overview <arch_overview_http_routing_retry>`.
.google.protobuf.Duration timeout = 8;hasTimeout in interface RouteActionOrBuilderpublic com.google.protobuf.Duration getTimeout()
Specifies the upstream timeout for the route. If not specified, the default is 15s. This spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has been completely processed. A value of 0 will disable the route's timeout. .. note:: This timeout includes all retries. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the :ref:`retry overview <arch_overview_http_routing_retry>`.
.google.protobuf.Duration timeout = 8;getTimeout in interface RouteActionOrBuilderpublic com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder()
Specifies the upstream timeout for the route. If not specified, the default is 15s. This spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has been completely processed. A value of 0 will disable the route's timeout. .. note:: This timeout includes all retries. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the :ref:`retry overview <arch_overview_http_routing_retry>`.
.google.protobuf.Duration timeout = 8;getTimeoutOrBuilder in interface RouteActionOrBuilderpublic boolean hasIdleTimeout()
Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the connection manager wide :ref:`stream_idle_timeout <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.stream_idle_timeout>` will still apply. A value of 0 will completely disable the route's idle timeout, even if a connection manager stream idle timeout is configured. The idle timeout is distinct to :ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, which provides an upper bound on the upstream response time; :ref:`idle_timeout <envoy_api_field_route.RouteAction.idle_timeout>` instead bounds the amount of time the request's stream may be idle. After header decoding, the idle timeout will apply on downstream and upstream request events. Each time an encode/decode event for headers or data is processed for the stream, the timer will be reset. If the timeout fires, the stream is terminated with a 408 Request Timeout error code if no upstream response header has been received, otherwise a stream reset occurs.
.google.protobuf.Duration idle_timeout = 24;hasIdleTimeout in interface RouteActionOrBuilderpublic com.google.protobuf.Duration getIdleTimeout()
Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the connection manager wide :ref:`stream_idle_timeout <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.stream_idle_timeout>` will still apply. A value of 0 will completely disable the route's idle timeout, even if a connection manager stream idle timeout is configured. The idle timeout is distinct to :ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, which provides an upper bound on the upstream response time; :ref:`idle_timeout <envoy_api_field_route.RouteAction.idle_timeout>` instead bounds the amount of time the request's stream may be idle. After header decoding, the idle timeout will apply on downstream and upstream request events. Each time an encode/decode event for headers or data is processed for the stream, the timer will be reset. If the timeout fires, the stream is terminated with a 408 Request Timeout error code if no upstream response header has been received, otherwise a stream reset occurs.
.google.protobuf.Duration idle_timeout = 24;getIdleTimeout in interface RouteActionOrBuilderpublic com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder()
Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the connection manager wide :ref:`stream_idle_timeout <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.stream_idle_timeout>` will still apply. A value of 0 will completely disable the route's idle timeout, even if a connection manager stream idle timeout is configured. The idle timeout is distinct to :ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, which provides an upper bound on the upstream response time; :ref:`idle_timeout <envoy_api_field_route.RouteAction.idle_timeout>` instead bounds the amount of time the request's stream may be idle. After header decoding, the idle timeout will apply on downstream and upstream request events. Each time an encode/decode event for headers or data is processed for the stream, the timer will be reset. If the timeout fires, the stream is terminated with a 408 Request Timeout error code if no upstream response header has been received, otherwise a stream reset occurs.
.google.protobuf.Duration idle_timeout = 24;getIdleTimeoutOrBuilder in interface RouteActionOrBuilderpublic boolean hasRetryPolicy()
Indicates that the route has a retry policy. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy).
.envoy.api.v2.route.RetryPolicy retry_policy = 9;hasRetryPolicy in interface RouteActionOrBuilderpublic RetryPolicy getRetryPolicy()
Indicates that the route has a retry policy. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy).
.envoy.api.v2.route.RetryPolicy retry_policy = 9;getRetryPolicy in interface RouteActionOrBuilderpublic RetryPolicyOrBuilder getRetryPolicyOrBuilder()
Indicates that the route has a retry policy. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy).
.envoy.api.v2.route.RetryPolicy retry_policy = 9;getRetryPolicyOrBuilder in interface RouteActionOrBuilderpublic boolean hasRetryPolicyTypedConfig()
[#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>` should not be set if this field is used.
.google.protobuf.Any retry_policy_typed_config = 33;hasRetryPolicyTypedConfig in interface RouteActionOrBuilderpublic com.google.protobuf.Any getRetryPolicyTypedConfig()
[#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>` should not be set if this field is used.
.google.protobuf.Any retry_policy_typed_config = 33;getRetryPolicyTypedConfig in interface RouteActionOrBuilderpublic com.google.protobuf.AnyOrBuilder getRetryPolicyTypedConfigOrBuilder()
[#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>` should not be set if this field is used.
.google.protobuf.Any retry_policy_typed_config = 33;getRetryPolicyTypedConfigOrBuilder in interface RouteActionOrBuilder@Deprecated public boolean hasRequestMirrorPolicy()
Indicates that the route has a request mirroring policy. .. attention:: This field has been deprecated in favor of `request_mirror_policies` which supports one or more mirroring policies.
.envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policy = 10 [deprecated = true];hasRequestMirrorPolicy in interface RouteActionOrBuilder@Deprecated public RouteAction.RequestMirrorPolicy getRequestMirrorPolicy()
Indicates that the route has a request mirroring policy. .. attention:: This field has been deprecated in favor of `request_mirror_policies` which supports one or more mirroring policies.
.envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policy = 10 [deprecated = true];getRequestMirrorPolicy in interface RouteActionOrBuilder@Deprecated public RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPolicyOrBuilder()
Indicates that the route has a request mirroring policy. .. attention:: This field has been deprecated in favor of `request_mirror_policies` which supports one or more mirroring policies.
.envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policy = 10 [deprecated = true];getRequestMirrorPolicyOrBuilder in interface RouteActionOrBuilderpublic List<RouteAction.RequestMirrorPolicy> getRequestMirrorPoliciesList()
Indicates that the route has request mirroring policies.
repeated .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;getRequestMirrorPoliciesList in interface RouteActionOrBuilderpublic List<? extends RouteAction.RequestMirrorPolicyOrBuilder> getRequestMirrorPoliciesOrBuilderList()
Indicates that the route has request mirroring policies.
repeated .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;getRequestMirrorPoliciesOrBuilderList in interface RouteActionOrBuilderpublic int getRequestMirrorPoliciesCount()
Indicates that the route has request mirroring policies.
repeated .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;getRequestMirrorPoliciesCount in interface RouteActionOrBuilderpublic RouteAction.RequestMirrorPolicy getRequestMirrorPolicies(int index)
Indicates that the route has request mirroring policies.
repeated .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;getRequestMirrorPolicies in interface RouteActionOrBuilderpublic RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder(int index)
Indicates that the route has request mirroring policies.
repeated .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;getRequestMirrorPoliciesOrBuilder in interface RouteActionOrBuilderpublic int getPriorityValue()
Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
.envoy.api.v2.core.RoutingPriority priority = 11 [(.validate.rules) = { ... }getPriorityValue in interface RouteActionOrBuilderpublic RoutingPriority getPriority()
Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
.envoy.api.v2.core.RoutingPriority priority = 11 [(.validate.rules) = { ... }getPriority in interface RouteActionOrBuilderpublic List<RateLimit> getRateLimitsList()
Specifies a set of rate limit configurations that could be applied to the route.
repeated .envoy.api.v2.route.RateLimit rate_limits = 13;getRateLimitsList in interface RouteActionOrBuilderpublic List<? extends RateLimitOrBuilder> getRateLimitsOrBuilderList()
Specifies a set of rate limit configurations that could be applied to the route.
repeated .envoy.api.v2.route.RateLimit rate_limits = 13;getRateLimitsOrBuilderList in interface RouteActionOrBuilderpublic int getRateLimitsCount()
Specifies a set of rate limit configurations that could be applied to the route.
repeated .envoy.api.v2.route.RateLimit rate_limits = 13;getRateLimitsCount in interface RouteActionOrBuilderpublic RateLimit getRateLimits(int index)
Specifies a set of rate limit configurations that could be applied to the route.
repeated .envoy.api.v2.route.RateLimit rate_limits = 13;getRateLimits in interface RouteActionOrBuilderpublic RateLimitOrBuilder getRateLimitsOrBuilder(int index)
Specifies a set of rate limit configurations that could be applied to the route.
repeated .envoy.api.v2.route.RateLimit rate_limits = 13;getRateLimitsOrBuilder in interface RouteActionOrBuilderpublic boolean hasIncludeVhRateLimits()
Specifies if the rate limit filter should include the virtual host rate limits. By default, if the route configured rate limits, the virtual host :ref:`rate_limits <envoy_api_field_route.VirtualHost.rate_limits>` are not applied to the request.
.google.protobuf.BoolValue include_vh_rate_limits = 14;hasIncludeVhRateLimits in interface RouteActionOrBuilderpublic com.google.protobuf.BoolValue getIncludeVhRateLimits()
Specifies if the rate limit filter should include the virtual host rate limits. By default, if the route configured rate limits, the virtual host :ref:`rate_limits <envoy_api_field_route.VirtualHost.rate_limits>` are not applied to the request.
.google.protobuf.BoolValue include_vh_rate_limits = 14;getIncludeVhRateLimits in interface RouteActionOrBuilderpublic com.google.protobuf.BoolValueOrBuilder getIncludeVhRateLimitsOrBuilder()
Specifies if the rate limit filter should include the virtual host rate limits. By default, if the route configured rate limits, the virtual host :ref:`rate_limits <envoy_api_field_route.VirtualHost.rate_limits>` are not applied to the request.
.google.protobuf.BoolValue include_vh_rate_limits = 14;getIncludeVhRateLimitsOrBuilder in interface RouteActionOrBuilderpublic List<RouteAction.HashPolicy> getHashPolicyList()
Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list.
repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;getHashPolicyList in interface RouteActionOrBuilderpublic List<? extends RouteAction.HashPolicyOrBuilder> getHashPolicyOrBuilderList()
Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list.
repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;getHashPolicyOrBuilderList in interface RouteActionOrBuilderpublic int getHashPolicyCount()
Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list.
repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;getHashPolicyCount in interface RouteActionOrBuilderpublic RouteAction.HashPolicy getHashPolicy(int index)
Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list.
repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;getHashPolicy in interface RouteActionOrBuilderpublic RouteAction.HashPolicyOrBuilder getHashPolicyOrBuilder(int index)
Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list.
repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;getHashPolicyOrBuilder in interface RouteActionOrBuilderpublic boolean hasCors()
Indicates that the route has a CORS policy.
.envoy.api.v2.route.CorsPolicy cors = 17;hasCors in interface RouteActionOrBuilderpublic CorsPolicy getCors()
Indicates that the route has a CORS policy.
.envoy.api.v2.route.CorsPolicy cors = 17;getCors in interface RouteActionOrBuilderpublic CorsPolicyOrBuilder getCorsOrBuilder()
Indicates that the route has a CORS policy.
.envoy.api.v2.route.CorsPolicy cors = 17;getCorsOrBuilder in interface RouteActionOrBuilderpublic boolean hasMaxGrpcTimeout()
If present, and the request is a gRPC request, use the
`grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
or its default value (infinity) instead of
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
to the maximum value specified here. If configured as 0, the maximum allowed timeout for
gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
and gRPC requests time out like any other requests using
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>` or its default.
This can be used to prevent unexpected upstream request timeouts due to potentially long
time gaps between gRPC request and response in gRPC streaming mode.
.. note::
If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes
precedence over `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_, when
both are present. See also
:ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
:ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
:ref:`retry overview <arch_overview_http_routing_retry>`.
.google.protobuf.Duration max_grpc_timeout = 23;hasMaxGrpcTimeout in interface RouteActionOrBuilderpublic com.google.protobuf.Duration getMaxGrpcTimeout()
If present, and the request is a gRPC request, use the
`grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
or its default value (infinity) instead of
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
to the maximum value specified here. If configured as 0, the maximum allowed timeout for
gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
and gRPC requests time out like any other requests using
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>` or its default.
This can be used to prevent unexpected upstream request timeouts due to potentially long
time gaps between gRPC request and response in gRPC streaming mode.
.. note::
If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes
precedence over `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_, when
both are present. See also
:ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
:ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
:ref:`retry overview <arch_overview_http_routing_retry>`.
.google.protobuf.Duration max_grpc_timeout = 23;getMaxGrpcTimeout in interface RouteActionOrBuilderpublic com.google.protobuf.DurationOrBuilder getMaxGrpcTimeoutOrBuilder()
If present, and the request is a gRPC request, use the
`grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
or its default value (infinity) instead of
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
to the maximum value specified here. If configured as 0, the maximum allowed timeout for
gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
and gRPC requests time out like any other requests using
:ref:`timeout <envoy_api_field_route.RouteAction.timeout>` or its default.
This can be used to prevent unexpected upstream request timeouts due to potentially long
time gaps between gRPC request and response in gRPC streaming mode.
.. note::
If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes
precedence over `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_, when
both are present. See also
:ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
:ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
:ref:`retry overview <arch_overview_http_routing_retry>`.
.google.protobuf.Duration max_grpc_timeout = 23;getMaxGrpcTimeoutOrBuilder in interface RouteActionOrBuilderpublic boolean hasGrpcTimeoutOffset()
If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting the provided duration from the header. This is useful in allowing Envoy to set its global timeout to be less than that of the deadline imposed by the calling client, which makes it more likely that Envoy will handle the timeout instead of having the call canceled by the client. The offset will only be applied if the provided grpc_timeout is greater than the offset. This ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning infinity).
.google.protobuf.Duration grpc_timeout_offset = 28;hasGrpcTimeoutOffset in interface RouteActionOrBuilderpublic com.google.protobuf.Duration getGrpcTimeoutOffset()
If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting the provided duration from the header. This is useful in allowing Envoy to set its global timeout to be less than that of the deadline imposed by the calling client, which makes it more likely that Envoy will handle the timeout instead of having the call canceled by the client. The offset will only be applied if the provided grpc_timeout is greater than the offset. This ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning infinity).
.google.protobuf.Duration grpc_timeout_offset = 28;getGrpcTimeoutOffset in interface RouteActionOrBuilderpublic com.google.protobuf.DurationOrBuilder getGrpcTimeoutOffsetOrBuilder()
If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting the provided duration from the header. This is useful in allowing Envoy to set its global timeout to be less than that of the deadline imposed by the calling client, which makes it more likely that Envoy will handle the timeout instead of having the call canceled by the client. The offset will only be applied if the provided grpc_timeout is greater than the offset. This ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning infinity).
.google.protobuf.Duration grpc_timeout_offset = 28;getGrpcTimeoutOffsetOrBuilder in interface RouteActionOrBuilderpublic List<RouteAction.UpgradeConfig> getUpgradeConfigsList()
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsList in interface RouteActionOrBuilderpublic List<? extends RouteAction.UpgradeConfigOrBuilder> getUpgradeConfigsOrBuilderList()
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsOrBuilderList in interface RouteActionOrBuilderpublic int getUpgradeConfigsCount()
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsCount in interface RouteActionOrBuilderpublic RouteAction.UpgradeConfig getUpgradeConfigs(int index)
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigs in interface RouteActionOrBuilderpublic RouteAction.UpgradeConfigOrBuilder getUpgradeConfigsOrBuilder(int index)
repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsOrBuilder in interface RouteActionOrBuilderpublic int getInternalRedirectActionValue()
.envoy.api.v2.route.RouteAction.InternalRedirectAction internal_redirect_action = 26;getInternalRedirectActionValue in interface RouteActionOrBuilderpublic RouteAction.InternalRedirectAction getInternalRedirectAction()
.envoy.api.v2.route.RouteAction.InternalRedirectAction internal_redirect_action = 26;getInternalRedirectAction in interface RouteActionOrBuilderpublic boolean hasMaxInternalRedirects()
An internal redirect is handled, iff the number of previous internal redirects that a downstream request has encountered is lower than this value, and :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>` is set to :ref:`HANDLE_INTERNAL_REDIRECT <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>` In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or has :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>` set to :ref:`PASS_THROUGH_INTERNAL_REDIRECT <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>` will pass the redirect back to downstream. If not specified, at most one redirect will be followed.
.google.protobuf.UInt32Value max_internal_redirects = 31;hasMaxInternalRedirects in interface RouteActionOrBuilderpublic com.google.protobuf.UInt32Value getMaxInternalRedirects()
An internal redirect is handled, iff the number of previous internal redirects that a downstream request has encountered is lower than this value, and :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>` is set to :ref:`HANDLE_INTERNAL_REDIRECT <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>` In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or has :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>` set to :ref:`PASS_THROUGH_INTERNAL_REDIRECT <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>` will pass the redirect back to downstream. If not specified, at most one redirect will be followed.
.google.protobuf.UInt32Value max_internal_redirects = 31;getMaxInternalRedirects in interface RouteActionOrBuilderpublic com.google.protobuf.UInt32ValueOrBuilder getMaxInternalRedirectsOrBuilder()
An internal redirect is handled, iff the number of previous internal redirects that a downstream request has encountered is lower than this value, and :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>` is set to :ref:`HANDLE_INTERNAL_REDIRECT <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>` In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or has :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>` set to :ref:`PASS_THROUGH_INTERNAL_REDIRECT <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>` will pass the redirect back to downstream. If not specified, at most one redirect will be followed.
.google.protobuf.UInt32Value max_internal_redirects = 31;getMaxInternalRedirectsOrBuilder in interface RouteActionOrBuilderpublic boolean hasHedgePolicy()
Indicates that the route has a hedge policy. Note that if this is set, it'll take precedence over the virtual host level hedge policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy).
.envoy.api.v2.route.HedgePolicy hedge_policy = 27;hasHedgePolicy in interface RouteActionOrBuilderpublic HedgePolicy getHedgePolicy()
Indicates that the route has a hedge policy. Note that if this is set, it'll take precedence over the virtual host level hedge policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy).
.envoy.api.v2.route.HedgePolicy hedge_policy = 27;getHedgePolicy in interface RouteActionOrBuilderpublic HedgePolicyOrBuilder getHedgePolicyOrBuilder()
Indicates that the route has a hedge policy. Note that if this is set, it'll take precedence over the virtual host level hedge policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy).
.envoy.api.v2.route.HedgePolicy hedge_policy = 27;getHedgePolicyOrBuilder in interface RouteActionOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static RouteAction parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction parseFrom(InputStream input) throws IOException
IOExceptionpublic static RouteAction parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RouteAction parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static RouteAction parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RouteAction parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static RouteAction parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic RouteAction.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static RouteAction.Builder newBuilder()
public static RouteAction.Builder newBuilder(RouteAction prototype)
public RouteAction.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected RouteAction.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static RouteAction getDefaultInstance()
public static com.google.protobuf.Parser<RouteAction> parser()
public com.google.protobuf.Parser<RouteAction> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public RouteAction getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018–2021 The Envoy Project. All rights reserved.