// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto
package io.envoyproxy.envoy.config.route.v3;
public interface RouteActionOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RouteAction)
com.google.protobuf.MessageOrBuilder {
/**
*
* Indicates the upstream cluster to which the request should be routed
* to.
*
*
* string cluster = 1 [(.validate.rules) = { ... }
* @return Whether the cluster field is set.
*/
boolean hasCluster();
/**
*
* Indicates the upstream cluster to which the request should be routed
* to.
*
*
* string cluster = 1 [(.validate.rules) = { ... }
* @return The cluster.
*/
java.lang.String getCluster();
/**
*
* Indicates the upstream cluster to which the request should be routed
* to.
*
*
* string cluster = 1 [(.validate.rules) = { ... }
* @return The bytes for cluster.
*/
com.google.protobuf.ByteString
getClusterBytes();
/**
*
* 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) = { ... }
* @return Whether the clusterHeader field is set.
*/
boolean hasClusterHeader();
/**
*
* 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) = { ... }
* @return The clusterHeader.
*/
java.lang.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) = { ... }
* @return The bytes for clusterHeader.
*/
com.google.protobuf.ByteString
getClusterHeaderBytes();
/**
*
* 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.v3.WeightedCluster weighted_clusters = 3;
* @return Whether the weightedClusters field is set.
*/
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.v3.WeightedCluster weighted_clusters = 3;
* @return The weightedClusters.
*/
io.envoyproxy.envoy.config.route.v3.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.v3.WeightedCluster weighted_clusters = 3;
*/
io.envoyproxy.envoy.config.route.v3.WeightedClusterOrBuilder getWeightedClustersOrBuilder();
/**
*
* Name of the cluster specifier plugin to use to determine the cluster for requests on this route.
* The cluster specifier plugin name must be defined in the associated
* :ref:`cluster specifier plugins <envoy_v3_api_field_config.route.v3.RouteConfiguration.cluster_specifier_plugins>`
* in the :ref:`name <envoy_v3_api_field_config.core.v3.TypedExtensionConfig.name>` field.
*
*
* string cluster_specifier_plugin = 37;
* @return Whether the clusterSpecifierPlugin field is set.
*/
boolean hasClusterSpecifierPlugin();
/**
*
* Name of the cluster specifier plugin to use to determine the cluster for requests on this route.
* The cluster specifier plugin name must be defined in the associated
* :ref:`cluster specifier plugins <envoy_v3_api_field_config.route.v3.RouteConfiguration.cluster_specifier_plugins>`
* in the :ref:`name <envoy_v3_api_field_config.core.v3.TypedExtensionConfig.name>` field.
*
*
* string cluster_specifier_plugin = 37;
* @return The clusterSpecifierPlugin.
*/
java.lang.String getClusterSpecifierPlugin();
/**
*
* Name of the cluster specifier plugin to use to determine the cluster for requests on this route.
* The cluster specifier plugin name must be defined in the associated
* :ref:`cluster specifier plugins <envoy_v3_api_field_config.route.v3.RouteConfiguration.cluster_specifier_plugins>`
* in the :ref:`name <envoy_v3_api_field_config.core.v3.TypedExtensionConfig.name>` field.
*
*
* string cluster_specifier_plugin = 37;
* @return The bytes for clusterSpecifierPlugin.
*/
com.google.protobuf.ByteString
getClusterSpecifierPluginBytes();
/**
*
* Custom cluster specifier plugin configuration to use to determine the cluster for requests
* on this route.
*
*
* .envoy.config.route.v3.ClusterSpecifierPlugin inline_cluster_specifier_plugin = 39;
* @return Whether the inlineClusterSpecifierPlugin field is set.
*/
boolean hasInlineClusterSpecifierPlugin();
/**
*
* Custom cluster specifier plugin configuration to use to determine the cluster for requests
* on this route.
*
*
* .envoy.config.route.v3.ClusterSpecifierPlugin inline_cluster_specifier_plugin = 39;
* @return The inlineClusterSpecifierPlugin.
*/
io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin getInlineClusterSpecifierPlugin();
/**
*
* Custom cluster specifier plugin configuration to use to determine the cluster for requests
* on this route.
*
*
* .envoy.config.route.v3.ClusterSpecifierPlugin inline_cluster_specifier_plugin = 39;
*/
io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPluginOrBuilder getInlineClusterSpecifierPluginOrBuilder();
/**
*
* The HTTP status code to use when configured cluster is not found.
* The default response code is 503 Service Unavailable.
*
*
* .envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }
* @return The enum numeric value on the wire for clusterNotFoundResponseCode.
*/
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.v3.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }
* @return The clusterNotFoundResponseCode.
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode getClusterNotFoundResponseCode();
/**
*
* 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_v3_api_field_config.route.v3.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.v3.Metadata metadata_match = 4;
* @return Whether the metadataMatch field is set.
*/
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_v3_api_field_config.route.v3.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.v3.Metadata metadata_match = 4;
* @return The metadataMatch.
*/
io.envoyproxy.envoy.config.core.v3.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_v3_api_field_config.route.v3.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.v3.Metadata metadata_match = 4;
*/
io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataMatchOrBuilder();
/**
*
* 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 :ref:`regex_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>`
* :ref:`path_rewrite_policy <envoy_v3_api_field_config.route.v3.RouteAction.path_rewrite_policy>`,
* or :ref:`prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>` may be specified.
* .. attention::
* Pay careful attention to the use of trailing slashes in the
* :ref:`route's match <envoy_v3_api_field_config.route.v3.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_v3_api_msg_config.route.v3.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) = { ... }
* @return The prefixRewrite.
*/
java.lang.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 :ref:`regex_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>`
* :ref:`path_rewrite_policy <envoy_v3_api_field_config.route.v3.RouteAction.path_rewrite_policy>`,
* or :ref:`prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>` may be specified.
* .. attention::
* Pay careful attention to the use of trailing slashes in the
* :ref:`route's match <envoy_v3_api_field_config.route.v3.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_v3_api_msg_config.route.v3.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) = { ... }
* @return The bytes for prefixRewrite.
*/
com.google.protobuf.ByteString
getPrefixRewriteBytes();
/**
*
* 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:`regex_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>`,
* :ref:`prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`, or
* :ref:`path_rewrite_policy <envoy_v3_api_field_config.route.v3.RouteAction.path_rewrite_policy>`]
* 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.v3.RegexMatchAndSubstitute regex_rewrite = 32;
* @return Whether the regexRewrite field is set.
*/
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:`regex_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>`,
* :ref:`prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`, or
* :ref:`path_rewrite_policy <envoy_v3_api_field_config.route.v3.RouteAction.path_rewrite_policy>`]
* 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.v3.RegexMatchAndSubstitute regex_rewrite = 32;
* @return The regexRewrite.
*/
io.envoyproxy.envoy.type.matcher.v3.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:`regex_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>`,
* :ref:`prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`, or
* :ref:`path_rewrite_policy <envoy_v3_api_field_config.route.v3.RouteAction.path_rewrite_policy>`]
* 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.v3.RegexMatchAndSubstitute regex_rewrite = 32;
*/
io.envoyproxy.envoy.type.matcher.v3.RegexMatchAndSubstituteOrBuilder getRegexRewriteOrBuilder();
/**
*
* [#extension-category: envoy.path.rewrite]
*
*
* .envoy.config.core.v3.TypedExtensionConfig path_rewrite_policy = 41;
* @return Whether the pathRewritePolicy field is set.
*/
boolean hasPathRewritePolicy();
/**
*
* [#extension-category: envoy.path.rewrite]
*
*
* .envoy.config.core.v3.TypedExtensionConfig path_rewrite_policy = 41;
* @return The pathRewritePolicy.
*/
io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getPathRewritePolicy();
/**
*
* [#extension-category: envoy.path.rewrite]
*
*
* .envoy.config.core.v3.TypedExtensionConfig path_rewrite_policy = 41;
*/
io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getPathRewritePolicyOrBuilder();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* this value. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
*
*
* string host_rewrite_literal = 6 [(.validate.rules) = { ... }
* @return Whether the hostRewriteLiteral field is set.
*/
boolean hasHostRewriteLiteral();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* this value. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
*
*
* string host_rewrite_literal = 6 [(.validate.rules) = { ... }
* @return The hostRewriteLiteral.
*/
java.lang.String getHostRewriteLiteral();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* this value. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
*
*
* string host_rewrite_literal = 6 [(.validate.rules) = { ... }
* @return The bytes for hostRewriteLiteral.
*/
com.google.protobuf.ByteString
getHostRewriteLiteralBytes();
/**
*
* 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``,
* or when :ref:`hostname <envoy_v3_api_field_config.endpoint.v3.Endpoint.hostname>`
* field is not empty. Setting this to true with other cluster types
* has no effect. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
*
*
* .google.protobuf.BoolValue auto_host_rewrite = 7;
* @return Whether the autoHostRewrite field is set.
*/
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``,
* or when :ref:`hostname <envoy_v3_api_field_config.endpoint.v3.Endpoint.hostname>`
* field is not empty. Setting this to true with other cluster types
* has no effect. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
*
*
* .google.protobuf.BoolValue auto_host_rewrite = 7;
* @return The autoHostRewrite.
*/
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``,
* or when :ref:`hostname <envoy_v3_api_field_config.endpoint.v3.Endpoint.hostname>`
* field is not empty. Setting this to true with other cluster types
* has no effect. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
*
*
* .google.protobuf.BoolValue auto_host_rewrite = 7;
*/
com.google.protobuf.BoolValueOrBuilder getAutoHostRewriteOrBuilder();
/**
*
* 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. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
* .. 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) = { ... }
* @return Whether the hostRewriteHeader field is set.
*/
boolean hasHostRewriteHeader();
/**
*
* 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. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
* .. 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) = { ... }
* @return The hostRewriteHeader.
*/
java.lang.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. Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
* .. 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) = { ... }
* @return The bytes for hostRewriteHeader.
*/
com.google.protobuf.ByteString
getHostRewriteHeaderBytes();
/**
*
* 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.
* Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
* 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.v3.RegexMatchAndSubstitute host_rewrite_path_regex = 35;
* @return Whether the hostRewritePathRegex field is set.
*/
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.
* Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
* 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.v3.RegexMatchAndSubstitute host_rewrite_path_regex = 35;
* @return The hostRewritePathRegex.
*/
io.envoyproxy.envoy.type.matcher.v3.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.
* Using this option will append the
* :ref:`config_http_conn_man_headers_x-forwarded-host` header if
* :ref:`append_x_forwarded_host <envoy_v3_api_field_config.route.v3.RouteAction.append_x_forwarded_host>`
* is set.
* 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.v3.RegexMatchAndSubstitute host_rewrite_path_regex = 35;
*/
io.envoyproxy.envoy.type.matcher.v3.RegexMatchAndSubstituteOrBuilder getHostRewritePathRegexOrBuilder();
/**
*
* If set, then a host rewrite action (one of
* :ref:`host_rewrite_literal <envoy_v3_api_field_config.route.v3.RouteAction.host_rewrite_literal>`,
* :ref:`auto_host_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.auto_host_rewrite>`,
* :ref:`host_rewrite_header <envoy_v3_api_field_config.route.v3.RouteAction.host_rewrite_header>`, or
* :ref:`host_rewrite_path_regex <envoy_v3_api_field_config.route.v3.RouteAction.host_rewrite_path_regex>`)
* causes the original value of the host header, if any, to be appended to the
* :ref:`config_http_conn_man_headers_x-forwarded-host` HTTP header if it is different to the last value appended.
* This can be disabled by setting the runtime guard ``envoy_reloadable_features_append_xfh_idempotent`` to false.
*
*
* bool append_x_forwarded_host = 38;
* @return The appendXForwardedHost.
*/
boolean getAppendXForwardedHost();
/**
*
* 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;
* @return Whether the timeout field is set.
*/
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;
* @return The timeout.
*/
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;
*/
com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder();
/**
*
* 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_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_config.route.v3.RouteAction.timeout>`, which provides an upper bound
* on the upstream response time; :ref:`idle_timeout
* <envoy_v3_api_field_config.route.v3.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_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
*
*
* .google.protobuf.Duration idle_timeout = 24;
* @return Whether the idleTimeout field is set.
*/
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_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_config.route.v3.RouteAction.timeout>`, which provides an upper bound
* on the upstream response time; :ref:`idle_timeout
* <envoy_v3_api_field_config.route.v3.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_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
*
*
* .google.protobuf.Duration idle_timeout = 24;
* @return The idleTimeout.
*/
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_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_config.route.v3.RouteAction.timeout>`, which provides an upper bound
* on the upstream response time; :ref:`idle_timeout
* <envoy_v3_api_field_config.route.v3.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_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
*
*
* .google.protobuf.Duration idle_timeout = 24;
*/
com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder();
/**
*
* Specifies how to send request over TLS early data.
* If absent, allows `safe HTTP requests <https://www.rfc-editor.org/rfc/rfc7231#section-4.2.1>`_ to be sent on early data.
* [#extension-category: envoy.route.early_data_policy]
*
*
* .envoy.config.core.v3.TypedExtensionConfig early_data_policy = 40;
* @return Whether the earlyDataPolicy field is set.
*/
boolean hasEarlyDataPolicy();
/**
*
* Specifies how to send request over TLS early data.
* If absent, allows `safe HTTP requests <https://www.rfc-editor.org/rfc/rfc7231#section-4.2.1>`_ to be sent on early data.
* [#extension-category: envoy.route.early_data_policy]
*
*
* .envoy.config.core.v3.TypedExtensionConfig early_data_policy = 40;
* @return The earlyDataPolicy.
*/
io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getEarlyDataPolicy();
/**
*
* Specifies how to send request over TLS early data.
* If absent, allows `safe HTTP requests <https://www.rfc-editor.org/rfc/rfc7231#section-4.2.1>`_ to be sent on early data.
* [#extension-category: envoy.route.early_data_policy]
*
*
* .envoy.config.core.v3.TypedExtensionConfig early_data_policy = 40;
*/
io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getEarlyDataPolicyOrBuilder();
/**
*
* 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.v3.RetryPolicy retry_policy = 9;
* @return Whether the retryPolicy field is set.
*/
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.v3.RetryPolicy retry_policy = 9;
* @return The retryPolicy.
*/
io.envoyproxy.envoy.config.route.v3.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.v3.RetryPolicy retry_policy = 9;
*/
io.envoyproxy.envoy.config.route.v3.RetryPolicyOrBuilder getRetryPolicyOrBuilder();
/**
*
* [#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_v3_api_field_config.route.v3.VirtualHost.retry_policy>`
* should not be set if this field is used.
*
*
* .google.protobuf.Any retry_policy_typed_config = 33;
* @return Whether the retryPolicyTypedConfig field is set.
*/
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_v3_api_field_config.route.v3.VirtualHost.retry_policy>`
* should not be set if this field is used.
*
*
* .google.protobuf.Any retry_policy_typed_config = 33;
* @return The retryPolicyTypedConfig.
*/
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_v3_api_field_config.route.v3.VirtualHost.retry_policy>`
* should not be set if this field is used.
*
*
* .google.protobuf.Any retry_policy_typed_config = 33;
*/
com.google.protobuf.AnyOrBuilder getRetryPolicyTypedConfigOrBuilder();
/**
*
* Specify a set of route request mirroring policies.
* It takes precedence over the virtual host and route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
java.util.List
getRequestMirrorPoliciesList();
/**
*
* Specify a set of route request mirroring policies.
* It takes precedence over the virtual host and route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy getRequestMirrorPolicies(int index);
/**
*
* Specify a set of route request mirroring policies.
* It takes precedence over the virtual host and route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
int getRequestMirrorPoliciesCount();
/**
*
* Specify a set of route request mirroring policies.
* It takes precedence over the virtual host and route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder>
getRequestMirrorPoliciesOrBuilderList();
/**
*
* Specify a set of route request mirroring policies.
* It takes precedence over the virtual host and route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder(
int index);
/**
*
* Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
*
*
* .envoy.config.core.v3.RoutingPriority priority = 11 [(.validate.rules) = { ... }
* @return The enum numeric value on the wire for priority.
*/
int getPriorityValue();
/**
*
* Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
*
*
* .envoy.config.core.v3.RoutingPriority priority = 11 [(.validate.rules) = { ... }
* @return The priority.
*/
io.envoyproxy.envoy.config.core.v3.RoutingPriority getPriority();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
java.util.List
getRateLimitsList();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
io.envoyproxy.envoy.config.route.v3.RateLimit getRateLimits(int index);
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
int getRateLimitsCount();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RateLimitOrBuilder>
getRateLimitsOrBuilderList();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
io.envoyproxy.envoy.config.route.v3.RateLimitOrBuilder getRateLimitsOrBuilder(
int index);
/**
*
* 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_v3_api_field_config.route.v3.VirtualHost.rate_limits>` are not applied to the
* request.
* This field is deprecated. Please use :ref:`vh_rate_limits <envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.vh_rate_limits>`
*
*
* .google.protobuf.BoolValue include_vh_rate_limits = 14 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.include_vh_rate_limits is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1288
* @return Whether the includeVhRateLimits field is set.
*/
@java.lang.Deprecated 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_v3_api_field_config.route.v3.VirtualHost.rate_limits>` are not applied to the
* request.
* This field is deprecated. Please use :ref:`vh_rate_limits <envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.vh_rate_limits>`
*
*
* .google.protobuf.BoolValue include_vh_rate_limits = 14 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.include_vh_rate_limits is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1288
* @return The includeVhRateLimits.
*/
@java.lang.Deprecated 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_v3_api_field_config.route.v3.VirtualHost.rate_limits>` are not applied to the
* request.
* This field is deprecated. Please use :ref:`vh_rate_limits <envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.vh_rate_limits>`
*
*
* .google.protobuf.BoolValue include_vh_rate_limits = 14 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
*/
@java.lang.Deprecated com.google.protobuf.BoolValueOrBuilder getIncludeVhRateLimitsOrBuilder();
/**
*
* 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.v3.RouteAction.HashPolicy hash_policy = 15;
*/
java.util.List
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.v3.RouteAction.HashPolicy hash_policy = 15;
*/
io.envoyproxy.envoy.config.route.v3.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.v3.RouteAction.HashPolicy hash_policy = 15;
*/
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.v3.RouteAction.HashPolicy hash_policy = 15;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.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.v3.RouteAction.HashPolicy hash_policy = 15;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.HashPolicyOrBuilder getHashPolicyOrBuilder(
int index);
/**
*
* Indicates that the route has a CORS policy. This field is ignored if related cors policy is
* found in the :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>` or
* :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config<envoy_v3_api_field_config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>` or
* :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config<envoy_v3_api_field_config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 17 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.cors is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1315
* @return Whether the cors field is set.
*/
@java.lang.Deprecated boolean hasCors();
/**
*
* Indicates that the route has a CORS policy. This field is ignored if related cors policy is
* found in the :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>` or
* :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config<envoy_v3_api_field_config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>` or
* :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config<envoy_v3_api_field_config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 17 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.cors is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1315
* @return The cors.
*/
@java.lang.Deprecated io.envoyproxy.envoy.config.route.v3.CorsPolicy getCors();
/**
*
* Indicates that the route has a CORS policy. This field is ignored if related cors policy is
* found in the :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>` or
* :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config<envoy_v3_api_field_config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>` or
* :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config<envoy_v3_api_field_config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 17 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
*/
@java.lang.Deprecated io.envoyproxy.envoy.config.route.v3.CorsPolicyOrBuilder getCorsOrBuilder();
/**
*
* Deprecated by :ref:`grpc_timeout_header_max <envoy_v3_api_field_config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_max>`
* 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_v3_api_field_config.route.v3.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_v3_api_field_config.route.v3.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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.max_grpc_timeout is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1337
* @return Whether the maxGrpcTimeout field is set.
*/
@java.lang.Deprecated boolean hasMaxGrpcTimeout();
/**
*
* Deprecated by :ref:`grpc_timeout_header_max <envoy_v3_api_field_config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_max>`
* 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_v3_api_field_config.route.v3.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_v3_api_field_config.route.v3.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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.max_grpc_timeout is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1337
* @return The maxGrpcTimeout.
*/
@java.lang.Deprecated com.google.protobuf.Duration getMaxGrpcTimeout();
/**
*
* Deprecated by :ref:`grpc_timeout_header_max <envoy_v3_api_field_config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_max>`
* 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_v3_api_field_config.route.v3.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_v3_api_field_config.route.v3.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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
*/
@java.lang.Deprecated com.google.protobuf.DurationOrBuilder getMaxGrpcTimeoutOrBuilder();
/**
*
* Deprecated by :ref:`grpc_timeout_header_offset <envoy_v3_api_field_config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_offset>`.
* 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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.grpc_timeout_offset is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1348
* @return Whether the grpcTimeoutOffset field is set.
*/
@java.lang.Deprecated boolean hasGrpcTimeoutOffset();
/**
*
* Deprecated by :ref:`grpc_timeout_header_offset <envoy_v3_api_field_config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_offset>`.
* 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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.grpc_timeout_offset is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1348
* @return The grpcTimeoutOffset.
*/
@java.lang.Deprecated com.google.protobuf.Duration getGrpcTimeoutOffset();
/**
*
* Deprecated by :ref:`grpc_timeout_header_offset <envoy_v3_api_field_config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_offset>`.
* 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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
*/
@java.lang.Deprecated com.google.protobuf.DurationOrBuilder getGrpcTimeoutOffsetOrBuilder();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
java.util.List
getUpgradeConfigsList();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.UpgradeConfig getUpgradeConfigs(int index);
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
int getUpgradeConfigsCount();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RouteAction.UpgradeConfigOrBuilder>
getUpgradeConfigsOrBuilderList();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.UpgradeConfigOrBuilder getUpgradeConfigsOrBuilder(
int index);
/**
*
* 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_v3_api_field_config.route.v3.InternalRedirectPolicy.redirect_response_codes>`.
*
*
* .envoy.config.route.v3.InternalRedirectPolicy internal_redirect_policy = 34;
* @return Whether the internalRedirectPolicy field is set.
*/
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_v3_api_field_config.route.v3.InternalRedirectPolicy.redirect_response_codes>`.
*
*
* .envoy.config.route.v3.InternalRedirectPolicy internal_redirect_policy = 34;
* @return The internalRedirectPolicy.
*/
io.envoyproxy.envoy.config.route.v3.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_v3_api_field_config.route.v3.InternalRedirectPolicy.redirect_response_codes>`.
*
*
* .envoy.config.route.v3.InternalRedirectPolicy internal_redirect_policy = 34;
*/
io.envoyproxy.envoy.config.route.v3.InternalRedirectPolicyOrBuilder getInternalRedirectPolicyOrBuilder();
/**
* .envoy.config.route.v3.RouteAction.InternalRedirectAction internal_redirect_action = 26 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.internal_redirect_action is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1359
* @return The enum numeric value on the wire for internalRedirectAction.
*/
@java.lang.Deprecated int getInternalRedirectActionValue();
/**
* .envoy.config.route.v3.RouteAction.InternalRedirectAction internal_redirect_action = 26 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.internal_redirect_action is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1359
* @return The internalRedirectAction.
*/
@java.lang.Deprecated io.envoyproxy.envoy.config.route.v3.RouteAction.InternalRedirectAction getInternalRedirectAction();
/**
*
* 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_v3_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* is set to :ref:`HANDLE_INTERNAL_REDIRECT
* <envoy_v3_api_enum_value_config.route.v3.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_v3_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* set to
* :ref:`PASS_THROUGH_INTERNAL_REDIRECT
* <envoy_v3_api_enum_value_config.route.v3.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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.max_internal_redirects is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1376
* @return Whether the maxInternalRedirects field is set.
*/
@java.lang.Deprecated 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_v3_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* is set to :ref:`HANDLE_INTERNAL_REDIRECT
* <envoy_v3_api_enum_value_config.route.v3.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_v3_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* set to
* :ref:`PASS_THROUGH_INTERNAL_REDIRECT
* <envoy_v3_api_enum_value_config.route.v3.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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.RouteAction.max_internal_redirects is deprecated.
* See envoy/config/route/v3/route_components.proto;l=1376
* @return The maxInternalRedirects.
*/
@java.lang.Deprecated 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_v3_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* is set to :ref:`HANDLE_INTERNAL_REDIRECT
* <envoy_v3_api_enum_value_config.route.v3.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_v3_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* set to
* :ref:`PASS_THROUGH_INTERNAL_REDIRECT
* <envoy_v3_api_enum_value_config.route.v3.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 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
*/
@java.lang.Deprecated com.google.protobuf.UInt32ValueOrBuilder getMaxInternalRedirectsOrBuilder();
/**
*
* 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.v3.HedgePolicy hedge_policy = 27;
* @return Whether the hedgePolicy field is set.
*/
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.v3.HedgePolicy hedge_policy = 27;
* @return The hedgePolicy.
*/
io.envoyproxy.envoy.config.route.v3.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.v3.HedgePolicy hedge_policy = 27;
*/
io.envoyproxy.envoy.config.route.v3.HedgePolicyOrBuilder getHedgePolicyOrBuilder();
/**
*
* Specifies the maximum stream duration for this route.
*
*
* .envoy.config.route.v3.RouteAction.MaxStreamDuration max_stream_duration = 36;
* @return Whether the maxStreamDuration field is set.
*/
boolean hasMaxStreamDuration();
/**
*
* Specifies the maximum stream duration for this route.
*
*
* .envoy.config.route.v3.RouteAction.MaxStreamDuration max_stream_duration = 36;
* @return The maxStreamDuration.
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.MaxStreamDuration getMaxStreamDuration();
/**
*
* Specifies the maximum stream duration for this route.
*
*
* .envoy.config.route.v3.RouteAction.MaxStreamDuration max_stream_duration = 36;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.MaxStreamDurationOrBuilder getMaxStreamDurationOrBuilder();
public io.envoyproxy.envoy.config.route.v3.RouteAction.ClusterSpecifierCase getClusterSpecifierCase();
public io.envoyproxy.envoy.config.route.v3.RouteAction.HostRewriteSpecifierCase getHostRewriteSpecifierCase();
}