public final class RouteAction extends com.google.protobuf.GeneratedMessageV3 implements RouteActionOrBuilder
[#next-free-field: 37]Protobuf type
envoy.config.route.v4alpha.RouteAction| Modifier and Type | Class and Description |
|---|---|
static class |
RouteAction.Builder
[#next-free-field: 37]
Protobuf type
envoy.config.route.v4alpha.RouteAction |
static class |
RouteAction.ClusterNotFoundResponseCode
Protobuf enum
envoy.config.route.v4alpha.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.MaxStreamDuration
Protobuf type
envoy.config.route.v4alpha.RouteAction.MaxStreamDuration |
static interface |
RouteAction.MaxStreamDurationOrBuilder |
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.
|
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() |
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 |
getHostRewriteHeader()
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 |
getHostRewriteHeaderBytes()
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.
|
String |
getHostRewriteLiteral()
Indicates that during forwarding, the host header will be swapped with
this value.
|
com.google.protobuf.ByteString |
getHostRewriteLiteralBytes()
Indicates that during forwarding, the host header will be swapped with
this value.
|
RegexMatchAndSubstitute |
getHostRewritePathRegex()
Indicates that during forwarding, the host header will be swapped with
the result of the regex substitution executed on path value with query and fragment removed.
|
RegexMatchAndSubstituteOrBuilder |
getHostRewritePathRegexOrBuilder()
Indicates that during forwarding, the host header will be swapped with
the result of the regex substitution executed on path value with query and fragment removed.
|
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.
|
InternalRedirectPolicy |
getInternalRedirectPolicy()
If present, Envoy will try to follow an upstream redirect response instead of proxying the
response back to the downstream.
|
InternalRedirectPolicyOrBuilder |
getInternalRedirectPolicyOrBuilder()
If present, Envoy will try to follow an upstream redirect response instead of proxying the
response back to the downstream.
|
RouteAction.MaxStreamDuration |
getMaxStreamDuration()
Specifies the maximum stream duration for this route.
|
RouteAction.MaxStreamDurationOrBuilder |
getMaxStreamDurationOrBuilder()
Specifies the maximum stream duration for this route.
|
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.
|
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.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25; |
int |
getUpgradeConfigsCount()
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25; |
List<RouteAction.UpgradeConfig> |
getUpgradeConfigsList()
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25; |
RouteAction.UpgradeConfigOrBuilder |
getUpgradeConfigsOrBuilder(int index)
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25; |
List<? extends RouteAction.UpgradeConfigOrBuilder> |
getUpgradeConfigsOrBuilderList()
repeated .envoy.config.route.v4alpha.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.
|
int |
hashCode() |
boolean |
hasHedgePolicy()
Indicates that the route has a hedge policy.
|
boolean |
hasHostRewritePathRegex()
Indicates that during forwarding, the host header will be swapped with
the result of the regex substitution executed on path value with query and fragment removed.
|
boolean |
hasIdleTimeout()
Specifies the idle timeout for the route.
|
boolean |
hasInternalRedirectPolicy()
If present, Envoy will try to follow an upstream redirect response instead of proxying the
response back to the downstream.
|
boolean |
hasMaxStreamDuration()
Specifies the maximum stream duration for this route.
|
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 |
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_LITERAL_FIELD_NUMBER
public static final int AUTO_HOST_REWRITE_FIELD_NUMBER
public static final int HOST_REWRITE_HEADER_FIELD_NUMBER
public static final int HOST_REWRITE_PATH_REGEX_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_POLICIES_FIELD_NUMBER
public static final int PRIORITY_FIELD_NUMBER
public static final int RATE_LIMITS_FIELD_NUMBER
public static final int HASH_POLICY_FIELD_NUMBER
public static final int CORS_FIELD_NUMBER
public static final int UPGRADE_CONFIGS_FIELD_NUMBER
public static final int INTERNAL_REDIRECT_POLICY_FIELD_NUMBER
public static final int HEDGE_POLICY_FIELD_NUMBER
public static final int MAX_STREAM_DURATION_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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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_config.route.v4alpha.RouteAction.weighted_clusters>`, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*.
.envoy.config.core.v4alpha.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_config.route.v4alpha.RouteAction.weighted_clusters>`, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*.
.envoy.config.core.v4alpha.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_config.route.v4alpha.RouteAction.weighted_clusters>`, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*.
.envoy.config.core.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.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.v4alpha.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_config.route.v4alpha.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.v4alpha.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_config.route.v4alpha.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.v4alpha.RegexMatchAndSubstitute regex_rewrite = 32;getRegexRewriteOrBuilder in interface RouteActionOrBuilderpublic String getHostRewriteLiteral()
Indicates that during forwarding, the host header will be swapped with this value.
string host_rewrite_literal = 6 [(.validate.rules) = { ... }getHostRewriteLiteral in interface RouteActionOrBuilderpublic com.google.protobuf.ByteString getHostRewriteLiteralBytes()
Indicates that during forwarding, the host header will be swapped with this value.
string host_rewrite_literal = 6 [(.validate.rules) = { ... }getHostRewriteLiteralBytes 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 getHostRewriteHeader()
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 host_rewrite_header = 29 [(.validate.rules) = { ... }getHostRewriteHeader in interface RouteActionOrBuilderpublic com.google.protobuf.ByteString getHostRewriteHeaderBytes()
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 host_rewrite_header = 29 [(.validate.rules) = { ... }getHostRewriteHeaderBytes in interface RouteActionOrBuilderpublic boolean hasHostRewritePathRegex()
Indicates that during forwarding, the host header will be swapped with
the result of the regex substitution executed on path value with query and fragment removed.
This is useful for transitioning variable content between path segment and subdomain.
For example with the following config:
.. code-block:: yaml
host_rewrite_path_regex:
pattern:
google_re2: {}
regex: "^/(.+)/.+$"
substitution: \1
Would rewrite the host header to `envoyproxy.io` given the path `/envoyproxy.io/some/path`.
.envoy.type.matcher.v4alpha.RegexMatchAndSubstitute host_rewrite_path_regex = 35;hasHostRewritePathRegex in interface RouteActionOrBuilderpublic RegexMatchAndSubstitute getHostRewritePathRegex()
Indicates that during forwarding, the host header will be swapped with
the result of the regex substitution executed on path value with query and fragment removed.
This is useful for transitioning variable content between path segment and subdomain.
For example with the following config:
.. code-block:: yaml
host_rewrite_path_regex:
pattern:
google_re2: {}
regex: "^/(.+)/.+$"
substitution: \1
Would rewrite the host header to `envoyproxy.io` given the path `/envoyproxy.io/some/path`.
.envoy.type.matcher.v4alpha.RegexMatchAndSubstitute host_rewrite_path_regex = 35;getHostRewritePathRegex in interface RouteActionOrBuilderpublic RegexMatchAndSubstituteOrBuilder getHostRewritePathRegexOrBuilder()
Indicates that during forwarding, the host header will be swapped with
the result of the regex substitution executed on path value with query and fragment removed.
This is useful for transitioning variable content between path segment and subdomain.
For example with the following config:
.. code-block:: yaml
host_rewrite_path_regex:
pattern:
google_re2: {}
regex: "^/(.+)/.+$"
substitution: \1
Would rewrite the host header to `envoyproxy.io` given the path `/envoyproxy.io/some/path`.
.envoy.type.matcher.v4alpha.RegexMatchAndSubstitute host_rewrite_path_regex = 35;getHostRewritePathRegexOrBuilder 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_extensions.filters.network.http_connection_manager.v4alpha.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_config.route.v4alpha.RouteAction.timeout>`, which provides an upper bound on the upstream response time; :ref:`idle_timeout <envoy_api_field_config.route.v4alpha.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. If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts" is configured, this timeout is scaled according to the value for :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
.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_extensions.filters.network.http_connection_manager.v4alpha.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_config.route.v4alpha.RouteAction.timeout>`, which provides an upper bound on the upstream response time; :ref:`idle_timeout <envoy_api_field_config.route.v4alpha.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. If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts" is configured, this timeout is scaled according to the value for :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
.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_extensions.filters.network.http_connection_manager.v4alpha.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_config.route.v4alpha.RouteAction.timeout>`, which provides an upper bound on the upstream response time; :ref:`idle_timeout <envoy_api_field_config.route.v4alpha.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. If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts" is configured, this timeout is scaled according to the value for :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.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_config.route.v4alpha.VirtualHost.retry_policy>` should not be set if this field is used.
.google.protobuf.Any retry_policy_typed_config = 33;getRetryPolicyTypedConfigOrBuilder in interface RouteActionOrBuilderpublic List<RouteAction.RequestMirrorPolicy> getRequestMirrorPoliciesList()
Indicates that the route has request mirroring policies.
repeated .envoy.config.route.v4alpha.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.config.route.v4alpha.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;getRequestMirrorPoliciesOrBuilderList in interface RouteActionOrBuilderpublic int getRequestMirrorPoliciesCount()
Indicates that the route has request mirroring policies.
repeated .envoy.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;getRequestMirrorPoliciesOrBuilder in interface RouteActionOrBuilderpublic int getPriorityValue()
Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
.envoy.config.core.v4alpha.RoutingPriority priority = 11 [(.validate.rules) = { ... }getPriorityValue in interface RouteActionOrBuilderpublic RoutingPriority getPriority()
Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
.envoy.config.core.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.RateLimit rate_limits = 13;getRateLimitsOrBuilder 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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.RouteAction.HashPolicy hash_policy = 15;getHashPolicyOrBuilder in interface RouteActionOrBuilderpublic boolean hasCors()
Indicates that the route has a CORS policy.
.envoy.config.route.v4alpha.CorsPolicy cors = 17;hasCors in interface RouteActionOrBuilderpublic CorsPolicy getCors()
Indicates that the route has a CORS policy.
.envoy.config.route.v4alpha.CorsPolicy cors = 17;getCors in interface RouteActionOrBuilderpublic CorsPolicyOrBuilder getCorsOrBuilder()
Indicates that the route has a CORS policy.
.envoy.config.route.v4alpha.CorsPolicy cors = 17;getCorsOrBuilder in interface RouteActionOrBuilderpublic List<RouteAction.UpgradeConfig> getUpgradeConfigsList()
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsList in interface RouteActionOrBuilderpublic List<? extends RouteAction.UpgradeConfigOrBuilder> getUpgradeConfigsOrBuilderList()
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsOrBuilderList in interface RouteActionOrBuilderpublic int getUpgradeConfigsCount()
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsCount in interface RouteActionOrBuilderpublic RouteAction.UpgradeConfig getUpgradeConfigs(int index)
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigs in interface RouteActionOrBuilderpublic RouteAction.UpgradeConfigOrBuilder getUpgradeConfigsOrBuilder(int index)
repeated .envoy.config.route.v4alpha.RouteAction.UpgradeConfig upgrade_configs = 25;getUpgradeConfigsOrBuilder in interface RouteActionOrBuilderpublic boolean hasInternalRedirectPolicy()
If present, Envoy will try to follow an upstream redirect response instead of proxying the response back to the downstream. An upstream redirect response is defined by :ref:`redirect_response_codes <envoy_api_field_config.route.v4alpha.InternalRedirectPolicy.redirect_response_codes>`.
.envoy.config.route.v4alpha.InternalRedirectPolicy internal_redirect_policy = 34;hasInternalRedirectPolicy in interface RouteActionOrBuilderpublic InternalRedirectPolicy getInternalRedirectPolicy()
If present, Envoy will try to follow an upstream redirect response instead of proxying the response back to the downstream. An upstream redirect response is defined by :ref:`redirect_response_codes <envoy_api_field_config.route.v4alpha.InternalRedirectPolicy.redirect_response_codes>`.
.envoy.config.route.v4alpha.InternalRedirectPolicy internal_redirect_policy = 34;getInternalRedirectPolicy in interface RouteActionOrBuilderpublic InternalRedirectPolicyOrBuilder getInternalRedirectPolicyOrBuilder()
If present, Envoy will try to follow an upstream redirect response instead of proxying the response back to the downstream. An upstream redirect response is defined by :ref:`redirect_response_codes <envoy_api_field_config.route.v4alpha.InternalRedirectPolicy.redirect_response_codes>`.
.envoy.config.route.v4alpha.InternalRedirectPolicy internal_redirect_policy = 34;getInternalRedirectPolicyOrBuilder 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.config.route.v4alpha.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.config.route.v4alpha.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.config.route.v4alpha.HedgePolicy hedge_policy = 27;getHedgePolicyOrBuilder in interface RouteActionOrBuilderpublic boolean hasMaxStreamDuration()
Specifies the maximum stream duration for this route.
.envoy.config.route.v4alpha.RouteAction.MaxStreamDuration max_stream_duration = 36;hasMaxStreamDuration in interface RouteActionOrBuilderpublic RouteAction.MaxStreamDuration getMaxStreamDuration()
Specifies the maximum stream duration for this route.
.envoy.config.route.v4alpha.RouteAction.MaxStreamDuration max_stream_duration = 36;getMaxStreamDuration in interface RouteActionOrBuilderpublic RouteAction.MaxStreamDurationOrBuilder getMaxStreamDurationOrBuilder()
Specifies the maximum stream duration for this route.
.envoy.config.route.v4alpha.RouteAction.MaxStreamDuration max_stream_duration = 36;getMaxStreamDurationOrBuilder 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.