Class RouteAction

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouteActionOrBuilder, Serializable

    public final class RouteAction
    extends com.google.protobuf.GeneratedMessageV3
    implements RouteActionOrBuilder
     [#next-free-field: 34]
     
    Protobuf type envoy.api.v2.route.RouteAction
    See Also:
    Serialized Form
    • Field Detail

      • CLUSTER_HEADER_FIELD_NUMBER

        public static final int CLUSTER_HEADER_FIELD_NUMBER
        See Also:
        Constant Field Values
      • WEIGHTED_CLUSTERS_FIELD_NUMBER

        public static final int WEIGHTED_CLUSTERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CLUSTER_NOT_FOUND_RESPONSE_CODE_FIELD_NUMBER

        public static final int CLUSTER_NOT_FOUND_RESPONSE_CODE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • METADATA_MATCH_FIELD_NUMBER

        public static final int METADATA_MATCH_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PREFIX_REWRITE_FIELD_NUMBER

        public static final int PREFIX_REWRITE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REGEX_REWRITE_FIELD_NUMBER

        public static final int REGEX_REWRITE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HOST_REWRITE_FIELD_NUMBER

        public static final int HOST_REWRITE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • AUTO_HOST_REWRITE_FIELD_NUMBER

        public static final int AUTO_HOST_REWRITE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • AUTO_HOST_REWRITE_HEADER_FIELD_NUMBER

        public static final int AUTO_HOST_REWRITE_HEADER_FIELD_NUMBER
        See Also:
        Constant Field Values
      • IDLE_TIMEOUT_FIELD_NUMBER

        public static final int IDLE_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RETRY_POLICY_FIELD_NUMBER

        public static final int RETRY_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RETRY_POLICY_TYPED_CONFIG_FIELD_NUMBER

        public static final int RETRY_POLICY_TYPED_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REQUEST_MIRROR_POLICY_FIELD_NUMBER

        public static final int REQUEST_MIRROR_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REQUEST_MIRROR_POLICIES_FIELD_NUMBER

        public static final int REQUEST_MIRROR_POLICIES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RATE_LIMITS_FIELD_NUMBER

        public static final int RATE_LIMITS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INCLUDE_VH_RATE_LIMITS_FIELD_NUMBER

        public static final int INCLUDE_VH_RATE_LIMITS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HASH_POLICY_FIELD_NUMBER

        public static final int HASH_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_GRPC_TIMEOUT_FIELD_NUMBER

        public static final int MAX_GRPC_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • GRPC_TIMEOUT_OFFSET_FIELD_NUMBER

        public static final int GRPC_TIMEOUT_OFFSET_FIELD_NUMBER
        See Also:
        Constant Field Values
      • UPGRADE_CONFIGS_FIELD_NUMBER

        public static final int UPGRADE_CONFIGS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INTERNAL_REDIRECT_ACTION_FIELD_NUMBER

        public static final int INTERNAL_REDIRECT_ACTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_INTERNAL_REDIRECTS_FIELD_NUMBER

        public static final int MAX_INTERNAL_REDIRECTS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HEDGE_POLICY_FIELD_NUMBER

        public static final int HEDGE_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasCluster

        public boolean hasCluster()
         Indicates the upstream cluster to which the request should be routed
         to.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Specified by:
        hasCluster in interface RouteActionOrBuilder
        Returns:
        Whether the cluster field is set.
      • getCluster

        public String getCluster()
         Indicates the upstream cluster to which the request should be routed
         to.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Specified by:
        getCluster in interface RouteActionOrBuilder
        Returns:
        The cluster.
      • getClusterBytes

        public com.google.protobuf.ByteString getClusterBytes()
         Indicates the upstream cluster to which the request should be routed
         to.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Specified by:
        getClusterBytes in interface RouteActionOrBuilder
        Returns:
        The bytes for cluster.
      • hasClusterHeader

        public 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) = { ... }
        Specified by:
        hasClusterHeader in interface RouteActionOrBuilder
        Returns:
        Whether the clusterHeader field is set.
      • getClusterHeader

        public 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) = { ... }
        Specified by:
        getClusterHeader in interface RouteActionOrBuilder
        Returns:
        The clusterHeader.
      • getClusterHeaderBytes

        public 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) = { ... }
        Specified by:
        getClusterHeaderBytes in interface RouteActionOrBuilder
        Returns:
        The bytes for clusterHeader.
      • hasWeightedClusters

        public boolean hasWeightedClusters()
         Multiple upstream clusters can be specified for a given route. The
         request is routed to one of the upstream clusters based on weights
         assigned to each cluster. See
         :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>`
         for additional documentation.
         
        .envoy.api.v2.route.WeightedCluster weighted_clusters = 3;
        Specified by:
        hasWeightedClusters in interface RouteActionOrBuilder
        Returns:
        Whether the weightedClusters field is set.
      • getWeightedClusters

        public WeightedCluster getWeightedClusters()
         Multiple upstream clusters can be specified for a given route. The
         request is routed to one of the upstream clusters based on weights
         assigned to each cluster. See
         :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>`
         for additional documentation.
         
        .envoy.api.v2.route.WeightedCluster weighted_clusters = 3;
        Specified by:
        getWeightedClusters in interface RouteActionOrBuilder
        Returns:
        The weightedClusters.
      • getWeightedClustersOrBuilder

        public WeightedClusterOrBuilder getWeightedClustersOrBuilder()
         Multiple upstream clusters can be specified for a given route. The
         request is routed to one of the upstream clusters based on weights
         assigned to each cluster. See
         :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>`
         for additional documentation.
         
        .envoy.api.v2.route.WeightedCluster weighted_clusters = 3;
        Specified by:
        getWeightedClustersOrBuilder in interface RouteActionOrBuilder
      • getClusterNotFoundResponseCodeValue

        public int getClusterNotFoundResponseCodeValue()
         The HTTP status code to use when configured cluster is not found.
         The default response code is 503 Service Unavailable.
         
        .envoy.api.v2.route.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }
        Specified by:
        getClusterNotFoundResponseCodeValue in interface RouteActionOrBuilder
        Returns:
        The enum numeric value on the wire for clusterNotFoundResponseCode.
      • getClusterNotFoundResponseCode

        public RouteAction.ClusterNotFoundResponseCode getClusterNotFoundResponseCode()
         The HTTP status code to use when configured cluster is not found.
         The default response code is 503 Service Unavailable.
         
        .envoy.api.v2.route.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }
        Specified by:
        getClusterNotFoundResponseCode in interface RouteActionOrBuilder
        Returns:
        The clusterNotFoundResponseCode.
      • hasMetadataMatch

        public boolean hasMetadataMatch()
         Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
         in the upstream cluster with metadata matching what's set in this field will be considered
         for load balancing. If using :ref:`weighted_clusters
         <envoy_api_field_route.RouteAction.weighted_clusters>`, metadata will be merged, with values
         provided there taking precedence. The filter name should be specified as *envoy.lb*.
         
        .envoy.api.v2.core.Metadata metadata_match = 4;
        Specified by:
        hasMetadataMatch in interface RouteActionOrBuilder
        Returns:
        Whether the metadataMatch field is set.
      • getMetadataMatch

        public Metadata getMetadataMatch()
         Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
         in the upstream cluster with metadata matching what's set in this field will be considered
         for load balancing. If using :ref:`weighted_clusters
         <envoy_api_field_route.RouteAction.weighted_clusters>`, metadata will be merged, with values
         provided there taking precedence. The filter name should be specified as *envoy.lb*.
         
        .envoy.api.v2.core.Metadata metadata_match = 4;
        Specified by:
        getMetadataMatch in interface RouteActionOrBuilder
        Returns:
        The metadataMatch.
      • getMetadataMatchOrBuilder

        public MetadataOrBuilder getMetadataMatchOrBuilder()
         Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
         in the upstream cluster with metadata matching what's set in this field will be considered
         for load balancing. If using :ref:`weighted_clusters
         <envoy_api_field_route.RouteAction.weighted_clusters>`, metadata will be merged, with values
         provided there taking precedence. The filter name should be specified as *envoy.lb*.
         
        .envoy.api.v2.core.Metadata metadata_match = 4;
        Specified by:
        getMetadataMatchOrBuilder in interface RouteActionOrBuilder
      • getPrefixRewrite

        public String getPrefixRewrite()
         Indicates that during forwarding, the matched prefix (or path) should be
         swapped with this value. This option allows application URLs to be rooted
         at a different path from those exposed at the reverse proxy layer. The router filter will
         place the original path before rewrite into the :ref:`x-envoy-original-path
         <config_http_filters_router_x-envoy-original-path>` header.
         Only one of *prefix_rewrite* or
         :ref:`regex_rewrite <envoy_api_field_route.RouteAction.regex_rewrite>`
         may be specified.
         .. attention::
           Pay careful attention to the use of trailing slashes in the
           :ref:`route's match <envoy_api_field_route.Route.match>` prefix value.
           Stripping a prefix from a path requires multiple Routes to handle all cases. For example,
           rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single
           :ref:`Route <envoy_api_msg_route.Route>`, as shown by the below config entries:
           .. code-block:: yaml
             - match:
                 prefix: "/prefix/"
               route:
                 prefix_rewrite: "/"
             - match:
                 prefix: "/prefix"
               route:
                 prefix_rewrite: "/"
           Having above entries in the config, requests to */prefix* will be stripped to */*, while
           requests to */prefix/etc* will be stripped to */etc*.
         
        string prefix_rewrite = 5 [(.validate.rules) = { ... }
        Specified by:
        getPrefixRewrite in interface RouteActionOrBuilder
        Returns:
        The prefixRewrite.
      • getPrefixRewriteBytes

        public com.google.protobuf.ByteString getPrefixRewriteBytes()
         Indicates that during forwarding, the matched prefix (or path) should be
         swapped with this value. This option allows application URLs to be rooted
         at a different path from those exposed at the reverse proxy layer. The router filter will
         place the original path before rewrite into the :ref:`x-envoy-original-path
         <config_http_filters_router_x-envoy-original-path>` header.
         Only one of *prefix_rewrite* or
         :ref:`regex_rewrite <envoy_api_field_route.RouteAction.regex_rewrite>`
         may be specified.
         .. attention::
           Pay careful attention to the use of trailing slashes in the
           :ref:`route's match <envoy_api_field_route.Route.match>` prefix value.
           Stripping a prefix from a path requires multiple Routes to handle all cases. For example,
           rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single
           :ref:`Route <envoy_api_msg_route.Route>`, as shown by the below config entries:
           .. code-block:: yaml
             - match:
                 prefix: "/prefix/"
               route:
                 prefix_rewrite: "/"
             - match:
                 prefix: "/prefix"
               route:
                 prefix_rewrite: "/"
           Having above entries in the config, requests to */prefix* will be stripped to */*, while
           requests to */prefix/etc* will be stripped to */etc*.
         
        string prefix_rewrite = 5 [(.validate.rules) = { ... }
        Specified by:
        getPrefixRewriteBytes in interface RouteActionOrBuilder
        Returns:
        The bytes for prefixRewrite.
      • hasRegexRewrite

        public boolean hasRegexRewrite()
         Indicates that during forwarding, portions of the path that match the
         pattern should be rewritten, even allowing the substitution of capture
         groups from the pattern into the new path as specified by the rewrite
         substitution string. This is useful to allow application paths to be
         rewritten in a way that is aware of segments with variable content like
         identifiers. The router filter will place the original path as it was
         before the rewrite into the :ref:`x-envoy-original-path
         <config_http_filters_router_x-envoy-original-path>` header.
         Only one of :ref:`prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>`
         or *regex_rewrite* may be specified.
         Examples using Google's `RE2 <https://github.com/google/re2>`_ engine:
         * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution
           string of ``\2/instance/\1`` would transform ``/service/foo/v1/api``
           into ``/v1/api/instance/foo``.
         * The pattern ``one`` paired with a substitution string of ``two`` would
           transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``.
         * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of
           ``\1two\2`` would replace only the first occurrence of ``one``,
           transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``.
         * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/``
           would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to
           ``/aaa/yyy/bbb``.
         
        .envoy.type.matcher.RegexMatchAndSubstitute regex_rewrite = 32;
        Specified by:
        hasRegexRewrite in interface RouteActionOrBuilder
        Returns:
        Whether the regexRewrite field is set.
      • getRegexRewrite

        public RegexMatchAndSubstitute getRegexRewrite()
         Indicates that during forwarding, portions of the path that match the
         pattern should be rewritten, even allowing the substitution of capture
         groups from the pattern into the new path as specified by the rewrite
         substitution string. This is useful to allow application paths to be
         rewritten in a way that is aware of segments with variable content like
         identifiers. The router filter will place the original path as it was
         before the rewrite into the :ref:`x-envoy-original-path
         <config_http_filters_router_x-envoy-original-path>` header.
         Only one of :ref:`prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>`
         or *regex_rewrite* may be specified.
         Examples using Google's `RE2 <https://github.com/google/re2>`_ engine:
         * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution
           string of ``\2/instance/\1`` would transform ``/service/foo/v1/api``
           into ``/v1/api/instance/foo``.
         * The pattern ``one`` paired with a substitution string of ``two`` would
           transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``.
         * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of
           ``\1two\2`` would replace only the first occurrence of ``one``,
           transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``.
         * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/``
           would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to
           ``/aaa/yyy/bbb``.
         
        .envoy.type.matcher.RegexMatchAndSubstitute regex_rewrite = 32;
        Specified by:
        getRegexRewrite in interface RouteActionOrBuilder
        Returns:
        The regexRewrite.
      • getRegexRewriteOrBuilder

        public RegexMatchAndSubstituteOrBuilder getRegexRewriteOrBuilder()
         Indicates that during forwarding, portions of the path that match the
         pattern should be rewritten, even allowing the substitution of capture
         groups from the pattern into the new path as specified by the rewrite
         substitution string. This is useful to allow application paths to be
         rewritten in a way that is aware of segments with variable content like
         identifiers. The router filter will place the original path as it was
         before the rewrite into the :ref:`x-envoy-original-path
         <config_http_filters_router_x-envoy-original-path>` header.
         Only one of :ref:`prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>`
         or *regex_rewrite* may be specified.
         Examples using Google's `RE2 <https://github.com/google/re2>`_ engine:
         * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution
           string of ``\2/instance/\1`` would transform ``/service/foo/v1/api``
           into ``/v1/api/instance/foo``.
         * The pattern ``one`` paired with a substitution string of ``two`` would
           transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``.
         * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of
           ``\1two\2`` would replace only the first occurrence of ``one``,
           transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``.
         * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/``
           would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to
           ``/aaa/yyy/bbb``.
         
        .envoy.type.matcher.RegexMatchAndSubstitute regex_rewrite = 32;
        Specified by:
        getRegexRewriteOrBuilder in interface RouteActionOrBuilder
      • hasHostRewrite

        public boolean hasHostRewrite()
         Indicates that during forwarding, the host header will be swapped with
         this value.
         
        string host_rewrite = 6 [(.validate.rules) = { ... }
        Specified by:
        hasHostRewrite in interface RouteActionOrBuilder
        Returns:
        Whether the hostRewrite field is set.
      • getHostRewrite

        public String getHostRewrite()
         Indicates that during forwarding, the host header will be swapped with
         this value.
         
        string host_rewrite = 6 [(.validate.rules) = { ... }
        Specified by:
        getHostRewrite in interface RouteActionOrBuilder
        Returns:
        The hostRewrite.
      • getHostRewriteBytes

        public com.google.protobuf.ByteString getHostRewriteBytes()
         Indicates that during forwarding, the host header will be swapped with
         this value.
         
        string host_rewrite = 6 [(.validate.rules) = { ... }
        Specified by:
        getHostRewriteBytes in interface RouteActionOrBuilder
        Returns:
        The bytes for hostRewrite.
      • hasAutoHostRewrite

        public 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;
        Specified by:
        hasAutoHostRewrite in interface RouteActionOrBuilder
        Returns:
        Whether the autoHostRewrite field is set.
      • getAutoHostRewrite

        public 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;
        Specified by:
        getAutoHostRewrite in interface RouteActionOrBuilder
        Returns:
        The autoHostRewrite.
      • getAutoHostRewriteOrBuilder

        public 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;
        Specified by:
        getAutoHostRewriteOrBuilder in interface RouteActionOrBuilder
      • hasAutoHostRewriteHeader

        public boolean hasAutoHostRewriteHeader()
         Indicates that during forwarding, the host header will be swapped with the content of given
         downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
         If header value is empty, host header is left intact.
         .. attention::
           Pay attention to the potential security implications of using this option. Provided header
           must come from trusted source.
         .. note::
           If the header appears multiple times only the first value is used.
         
        string auto_host_rewrite_header = 29 [(.validate.rules) = { ... }
        Specified by:
        hasAutoHostRewriteHeader in interface RouteActionOrBuilder
        Returns:
        Whether the autoHostRewriteHeader field is set.
      • getAutoHostRewriteHeader

        public String getAutoHostRewriteHeader()
         Indicates that during forwarding, the host header will be swapped with the content of given
         downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
         If header value is empty, host header is left intact.
         .. attention::
           Pay attention to the potential security implications of using this option. Provided header
           must come from trusted source.
         .. note::
           If the header appears multiple times only the first value is used.
         
        string auto_host_rewrite_header = 29 [(.validate.rules) = { ... }
        Specified by:
        getAutoHostRewriteHeader in interface RouteActionOrBuilder
        Returns:
        The autoHostRewriteHeader.
      • getAutoHostRewriteHeaderBytes

        public com.google.protobuf.ByteString getAutoHostRewriteHeaderBytes()
         Indicates that during forwarding, the host header will be swapped with the content of given
         downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
         If header value is empty, host header is left intact.
         .. attention::
           Pay attention to the potential security implications of using this option. Provided header
           must come from trusted source.
         .. note::
           If the header appears multiple times only the first value is used.
         
        string auto_host_rewrite_header = 29 [(.validate.rules) = { ... }
        Specified by:
        getAutoHostRewriteHeaderBytes in interface RouteActionOrBuilder
        Returns:
        The bytes for autoHostRewriteHeader.
      • hasTimeout

        public 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;
        Specified by:
        hasTimeout in interface RouteActionOrBuilder
        Returns:
        Whether the timeout field is set.
      • getTimeout

        public 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;
        Specified by:
        getTimeout in interface RouteActionOrBuilder
        Returns:
        The timeout.
      • getTimeoutOrBuilder

        public 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;
        Specified by:
        getTimeoutOrBuilder in interface RouteActionOrBuilder
      • hasIdleTimeout

        public boolean hasIdleTimeout()
         Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
         although the connection manager wide :ref:`stream_idle_timeout
         <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.stream_idle_timeout>`
         will still apply. A value of 0 will completely disable the route's idle timeout, even if a
         connection manager stream idle timeout is configured.
         The idle timeout is distinct to :ref:`timeout
         <envoy_api_field_route.RouteAction.timeout>`, which provides an upper bound
         on the upstream response time; :ref:`idle_timeout
         <envoy_api_field_route.RouteAction.idle_timeout>` instead bounds the amount
         of time the request's stream may be idle.
         After header decoding, the idle timeout will apply on downstream and
         upstream request events. Each time an encode/decode event for headers or
         data is processed for the stream, the timer will be reset. If the timeout
         fires, the stream is terminated with a 408 Request Timeout error code if no
         upstream response header has been received, otherwise a stream reset
         occurs.
         
        .google.protobuf.Duration idle_timeout = 24;
        Specified by:
        hasIdleTimeout in interface RouteActionOrBuilder
        Returns:
        Whether the idleTimeout field is set.
      • getIdleTimeout

        public com.google.protobuf.Duration getIdleTimeout()
         Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
         although the connection manager wide :ref:`stream_idle_timeout
         <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.stream_idle_timeout>`
         will still apply. A value of 0 will completely disable the route's idle timeout, even if a
         connection manager stream idle timeout is configured.
         The idle timeout is distinct to :ref:`timeout
         <envoy_api_field_route.RouteAction.timeout>`, which provides an upper bound
         on the upstream response time; :ref:`idle_timeout
         <envoy_api_field_route.RouteAction.idle_timeout>` instead bounds the amount
         of time the request's stream may be idle.
         After header decoding, the idle timeout will apply on downstream and
         upstream request events. Each time an encode/decode event for headers or
         data is processed for the stream, the timer will be reset. If the timeout
         fires, the stream is terminated with a 408 Request Timeout error code if no
         upstream response header has been received, otherwise a stream reset
         occurs.
         
        .google.protobuf.Duration idle_timeout = 24;
        Specified by:
        getIdleTimeout in interface RouteActionOrBuilder
        Returns:
        The idleTimeout.
      • getIdleTimeoutOrBuilder

        public com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder()
         Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
         although the connection manager wide :ref:`stream_idle_timeout
         <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.stream_idle_timeout>`
         will still apply. A value of 0 will completely disable the route's idle timeout, even if a
         connection manager stream idle timeout is configured.
         The idle timeout is distinct to :ref:`timeout
         <envoy_api_field_route.RouteAction.timeout>`, which provides an upper bound
         on the upstream response time; :ref:`idle_timeout
         <envoy_api_field_route.RouteAction.idle_timeout>` instead bounds the amount
         of time the request's stream may be idle.
         After header decoding, the idle timeout will apply on downstream and
         upstream request events. Each time an encode/decode event for headers or
         data is processed for the stream, the timer will be reset. If the timeout
         fires, the stream is terminated with a 408 Request Timeout error code if no
         upstream response header has been received, otherwise a stream reset
         occurs.
         
        .google.protobuf.Duration idle_timeout = 24;
        Specified by:
        getIdleTimeoutOrBuilder in interface RouteActionOrBuilder
      • hasRetryPolicy

        public boolean hasRetryPolicy()
         Indicates that the route has a retry policy. Note that if this is set,
         it'll take precedence over the virtual host level retry policy entirely
         (e.g.: policies are not merged, most internal one becomes the enforced policy).
         
        .envoy.api.v2.route.RetryPolicy retry_policy = 9;
        Specified by:
        hasRetryPolicy in interface RouteActionOrBuilder
        Returns:
        Whether the retryPolicy field is set.
      • getRetryPolicy

        public RetryPolicy getRetryPolicy()
         Indicates that the route has a retry policy. Note that if this is set,
         it'll take precedence over the virtual host level retry policy entirely
         (e.g.: policies are not merged, most internal one becomes the enforced policy).
         
        .envoy.api.v2.route.RetryPolicy retry_policy = 9;
        Specified by:
        getRetryPolicy in interface RouteActionOrBuilder
        Returns:
        The retryPolicy.
      • getRetryPolicyOrBuilder

        public RetryPolicyOrBuilder getRetryPolicyOrBuilder()
         Indicates that the route has a retry policy. Note that if this is set,
         it'll take precedence over the virtual host level retry policy entirely
         (e.g.: policies are not merged, most internal one becomes the enforced policy).
         
        .envoy.api.v2.route.RetryPolicy retry_policy = 9;
        Specified by:
        getRetryPolicyOrBuilder in interface RouteActionOrBuilder
      • hasRetryPolicyTypedConfig

        public boolean hasRetryPolicyTypedConfig()
         [#not-implemented-hide:]
         Specifies the configuration for retry policy extension. Note that if this is set, it'll take
         precedence over the virtual host level retry policy entirely (e.g.: policies are not merged,
         most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>`
         should not be set if this field is used.
         
        .google.protobuf.Any retry_policy_typed_config = 33;
        Specified by:
        hasRetryPolicyTypedConfig in interface RouteActionOrBuilder
        Returns:
        Whether the retryPolicyTypedConfig field is set.
      • getRetryPolicyTypedConfig

        public com.google.protobuf.Any getRetryPolicyTypedConfig()
         [#not-implemented-hide:]
         Specifies the configuration for retry policy extension. Note that if this is set, it'll take
         precedence over the virtual host level retry policy entirely (e.g.: policies are not merged,
         most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>`
         should not be set if this field is used.
         
        .google.protobuf.Any retry_policy_typed_config = 33;
        Specified by:
        getRetryPolicyTypedConfig in interface RouteActionOrBuilder
        Returns:
        The retryPolicyTypedConfig.
      • getRetryPolicyTypedConfigOrBuilder

        public com.google.protobuf.AnyOrBuilder getRetryPolicyTypedConfigOrBuilder()
         [#not-implemented-hide:]
         Specifies the configuration for retry policy extension. Note that if this is set, it'll take
         precedence over the virtual host level retry policy entirely (e.g.: policies are not merged,
         most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>`
         should not be set if this field is used.
         
        .google.protobuf.Any retry_policy_typed_config = 33;
        Specified by:
        getRetryPolicyTypedConfigOrBuilder in interface RouteActionOrBuilder
      • hasRequestMirrorPolicy

        @Deprecated
        public boolean hasRequestMirrorPolicy()
        Deprecated.
        envoy.api.v2.route.RouteAction.request_mirror_policy is deprecated. See envoy/api/v2/route/route_components.proto;l=933
         Indicates that the route has a request mirroring policy.
         .. attention::
           This field has been deprecated in favor of `request_mirror_policies` which supports one or
           more mirroring policies.
         
        .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policy = 10 [deprecated = true];
        Specified by:
        hasRequestMirrorPolicy in interface RouteActionOrBuilder
        Returns:
        Whether the requestMirrorPolicy field is set.
      • getRequestMirrorPolicy

        @Deprecated
        public RouteAction.RequestMirrorPolicy getRequestMirrorPolicy()
        Deprecated.
        envoy.api.v2.route.RouteAction.request_mirror_policy is deprecated. See envoy/api/v2/route/route_components.proto;l=933
         Indicates that the route has a request mirroring policy.
         .. attention::
           This field has been deprecated in favor of `request_mirror_policies` which supports one or
           more mirroring policies.
         
        .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policy = 10 [deprecated = true];
        Specified by:
        getRequestMirrorPolicy in interface RouteActionOrBuilder
        Returns:
        The requestMirrorPolicy.
      • getRequestMirrorPolicyOrBuilder

        @Deprecated
        public RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPolicyOrBuilder()
        Deprecated.
         Indicates that the route has a request mirroring policy.
         .. attention::
           This field has been deprecated in favor of `request_mirror_policies` which supports one or
           more mirroring policies.
         
        .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policy = 10 [deprecated = true];
        Specified by:
        getRequestMirrorPolicyOrBuilder in interface RouteActionOrBuilder
      • getRequestMirrorPoliciesCount

        public int getRequestMirrorPoliciesCount()
         Indicates that the route has request mirroring policies.
         
        repeated .envoy.api.v2.route.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
        Specified by:
        getRequestMirrorPoliciesCount in interface RouteActionOrBuilder
      • getPriorityValue

        public int getPriorityValue()
         Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
         
        .envoy.api.v2.core.RoutingPriority priority = 11 [(.validate.rules) = { ... }
        Specified by:
        getPriorityValue in interface RouteActionOrBuilder
        Returns:
        The enum numeric value on the wire for priority.
      • getPriority

        public RoutingPriority getPriority()
         Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
         
        .envoy.api.v2.core.RoutingPriority priority = 11 [(.validate.rules) = { ... }
        Specified by:
        getPriority in interface RouteActionOrBuilder
        Returns:
        The priority.
      • getRateLimitsList

        public List<RateLimit> getRateLimitsList()
         Specifies a set of rate limit configurations that could be applied to the
         route.
         
        repeated .envoy.api.v2.route.RateLimit rate_limits = 13;
        Specified by:
        getRateLimitsList in interface RouteActionOrBuilder
      • getRateLimitsCount

        public int getRateLimitsCount()
         Specifies a set of rate limit configurations that could be applied to the
         route.
         
        repeated .envoy.api.v2.route.RateLimit rate_limits = 13;
        Specified by:
        getRateLimitsCount in interface RouteActionOrBuilder
      • getRateLimits

        public RateLimit getRateLimits​(int index)
         Specifies a set of rate limit configurations that could be applied to the
         route.
         
        repeated .envoy.api.v2.route.RateLimit rate_limits = 13;
        Specified by:
        getRateLimits in interface RouteActionOrBuilder
      • getRateLimitsOrBuilder

        public RateLimitOrBuilder getRateLimitsOrBuilder​(int index)
         Specifies a set of rate limit configurations that could be applied to the
         route.
         
        repeated .envoy.api.v2.route.RateLimit rate_limits = 13;
        Specified by:
        getRateLimitsOrBuilder in interface RouteActionOrBuilder
      • hasIncludeVhRateLimits

        public boolean hasIncludeVhRateLimits()
         Specifies if the rate limit filter should include the virtual host rate
         limits. By default, if the route configured rate limits, the virtual host
         :ref:`rate_limits <envoy_api_field_route.VirtualHost.rate_limits>` are not applied to the
         request.
         
        .google.protobuf.BoolValue include_vh_rate_limits = 14;
        Specified by:
        hasIncludeVhRateLimits in interface RouteActionOrBuilder
        Returns:
        Whether the includeVhRateLimits field is set.
      • getIncludeVhRateLimits

        public com.google.protobuf.BoolValue getIncludeVhRateLimits()
         Specifies if the rate limit filter should include the virtual host rate
         limits. By default, if the route configured rate limits, the virtual host
         :ref:`rate_limits <envoy_api_field_route.VirtualHost.rate_limits>` are not applied to the
         request.
         
        .google.protobuf.BoolValue include_vh_rate_limits = 14;
        Specified by:
        getIncludeVhRateLimits in interface RouteActionOrBuilder
        Returns:
        The includeVhRateLimits.
      • getIncludeVhRateLimitsOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getIncludeVhRateLimitsOrBuilder()
         Specifies if the rate limit filter should include the virtual host rate
         limits. By default, if the route configured rate limits, the virtual host
         :ref:`rate_limits <envoy_api_field_route.VirtualHost.rate_limits>` are not applied to the
         request.
         
        .google.protobuf.BoolValue include_vh_rate_limits = 14;
        Specified by:
        getIncludeVhRateLimitsOrBuilder in interface RouteActionOrBuilder
      • getHashPolicyList

        public List<RouteAction.HashPolicy> getHashPolicyList()
         Specifies a list of hash policies to use for ring hash load balancing. Each
         hash policy is evaluated individually and the combined result is used to
         route the request. The method of combination is deterministic such that
         identical lists of hash policies will produce the same hash. Since a hash
         policy examines specific parts of a request, it can fail to produce a hash
         (i.e. if the hashed header is not present). If (and only if) all configured
         hash policies fail to generate a hash, no hash will be produced for
         the route. In this case, the behavior is the same as if no hash policies
         were specified (i.e. the ring hash load balancer will choose a random
         backend). If a hash policy has the "terminal" attribute set to true, and
         there is already a hash generated, the hash is returned immediately,
         ignoring the rest of the hash policy list.
         
        repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;
        Specified by:
        getHashPolicyList in interface RouteActionOrBuilder
      • getHashPolicyOrBuilderList

        public List<? extends RouteAction.HashPolicyOrBuilder> getHashPolicyOrBuilderList()
         Specifies a list of hash policies to use for ring hash load balancing. Each
         hash policy is evaluated individually and the combined result is used to
         route the request. The method of combination is deterministic such that
         identical lists of hash policies will produce the same hash. Since a hash
         policy examines specific parts of a request, it can fail to produce a hash
         (i.e. if the hashed header is not present). If (and only if) all configured
         hash policies fail to generate a hash, no hash will be produced for
         the route. In this case, the behavior is the same as if no hash policies
         were specified (i.e. the ring hash load balancer will choose a random
         backend). If a hash policy has the "terminal" attribute set to true, and
         there is already a hash generated, the hash is returned immediately,
         ignoring the rest of the hash policy list.
         
        repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;
        Specified by:
        getHashPolicyOrBuilderList in interface RouteActionOrBuilder
      • getHashPolicyCount

        public int getHashPolicyCount()
         Specifies a list of hash policies to use for ring hash load balancing. Each
         hash policy is evaluated individually and the combined result is used to
         route the request. The method of combination is deterministic such that
         identical lists of hash policies will produce the same hash. Since a hash
         policy examines specific parts of a request, it can fail to produce a hash
         (i.e. if the hashed header is not present). If (and only if) all configured
         hash policies fail to generate a hash, no hash will be produced for
         the route. In this case, the behavior is the same as if no hash policies
         were specified (i.e. the ring hash load balancer will choose a random
         backend). If a hash policy has the "terminal" attribute set to true, and
         there is already a hash generated, the hash is returned immediately,
         ignoring the rest of the hash policy list.
         
        repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;
        Specified by:
        getHashPolicyCount in interface RouteActionOrBuilder
      • getHashPolicy

        public RouteAction.HashPolicy getHashPolicy​(int index)
         Specifies a list of hash policies to use for ring hash load balancing. Each
         hash policy is evaluated individually and the combined result is used to
         route the request. The method of combination is deterministic such that
         identical lists of hash policies will produce the same hash. Since a hash
         policy examines specific parts of a request, it can fail to produce a hash
         (i.e. if the hashed header is not present). If (and only if) all configured
         hash policies fail to generate a hash, no hash will be produced for
         the route. In this case, the behavior is the same as if no hash policies
         were specified (i.e. the ring hash load balancer will choose a random
         backend). If a hash policy has the "terminal" attribute set to true, and
         there is already a hash generated, the hash is returned immediately,
         ignoring the rest of the hash policy list.
         
        repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;
        Specified by:
        getHashPolicy in interface RouteActionOrBuilder
      • getHashPolicyOrBuilder

        public RouteAction.HashPolicyOrBuilder getHashPolicyOrBuilder​(int index)
         Specifies a list of hash policies to use for ring hash load balancing. Each
         hash policy is evaluated individually and the combined result is used to
         route the request. The method of combination is deterministic such that
         identical lists of hash policies will produce the same hash. Since a hash
         policy examines specific parts of a request, it can fail to produce a hash
         (i.e. if the hashed header is not present). If (and only if) all configured
         hash policies fail to generate a hash, no hash will be produced for
         the route. In this case, the behavior is the same as if no hash policies
         were specified (i.e. the ring hash load balancer will choose a random
         backend). If a hash policy has the "terminal" attribute set to true, and
         there is already a hash generated, the hash is returned immediately,
         ignoring the rest of the hash policy list.
         
        repeated .envoy.api.v2.route.RouteAction.HashPolicy hash_policy = 15;
        Specified by:
        getHashPolicyOrBuilder in interface RouteActionOrBuilder
      • hasCors

        public boolean hasCors()
         Indicates that the route has a CORS policy.
         
        .envoy.api.v2.route.CorsPolicy cors = 17;
        Specified by:
        hasCors in interface RouteActionOrBuilder
        Returns:
        Whether the cors field is set.
      • getCors

        public CorsPolicy getCors()
         Indicates that the route has a CORS policy.
         
        .envoy.api.v2.route.CorsPolicy cors = 17;
        Specified by:
        getCors in interface RouteActionOrBuilder
        Returns:
        The cors.
      • hasMaxGrpcTimeout

        public boolean hasMaxGrpcTimeout()
         If present, and the request is a gRPC request, use the
         `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
         or its default value (infinity) instead of
         :ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
         to the maximum value specified here. If configured as 0, the maximum allowed timeout for
         gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
         and gRPC requests time out like any other requests using
         :ref:`timeout <envoy_api_field_route.RouteAction.timeout>` or its default.
         This can be used to prevent unexpected upstream request timeouts due to potentially long
         time gaps between gRPC request and response in gRPC streaming mode.
         .. note::
            If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes
            precedence over `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_, when
            both are present. See also
            :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
            :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
            :ref:`retry overview <arch_overview_http_routing_retry>`.
         
        .google.protobuf.Duration max_grpc_timeout = 23;
        Specified by:
        hasMaxGrpcTimeout in interface RouteActionOrBuilder
        Returns:
        Whether the maxGrpcTimeout field is set.
      • getMaxGrpcTimeout

        public com.google.protobuf.Duration getMaxGrpcTimeout()
         If present, and the request is a gRPC request, use the
         `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
         or its default value (infinity) instead of
         :ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
         to the maximum value specified here. If configured as 0, the maximum allowed timeout for
         gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
         and gRPC requests time out like any other requests using
         :ref:`timeout <envoy_api_field_route.RouteAction.timeout>` or its default.
         This can be used to prevent unexpected upstream request timeouts due to potentially long
         time gaps between gRPC request and response in gRPC streaming mode.
         .. note::
            If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes
            precedence over `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_, when
            both are present. See also
            :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
            :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
            :ref:`retry overview <arch_overview_http_routing_retry>`.
         
        .google.protobuf.Duration max_grpc_timeout = 23;
        Specified by:
        getMaxGrpcTimeout in interface RouteActionOrBuilder
        Returns:
        The maxGrpcTimeout.
      • getMaxGrpcTimeoutOrBuilder

        public com.google.protobuf.DurationOrBuilder getMaxGrpcTimeoutOrBuilder()
         If present, and the request is a gRPC request, use the
         `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
         or its default value (infinity) instead of
         :ref:`timeout <envoy_api_field_route.RouteAction.timeout>`, but limit the applied timeout
         to the maximum value specified here. If configured as 0, the maximum allowed timeout for
         gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
         and gRPC requests time out like any other requests using
         :ref:`timeout <envoy_api_field_route.RouteAction.timeout>` or its default.
         This can be used to prevent unexpected upstream request timeouts due to potentially long
         time gaps between gRPC request and response in gRPC streaming mode.
         .. note::
            If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes
            precedence over `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_, when
            both are present. See also
            :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
            :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
            :ref:`retry overview <arch_overview_http_routing_retry>`.
         
        .google.protobuf.Duration max_grpc_timeout = 23;
        Specified by:
        getMaxGrpcTimeoutOrBuilder in interface RouteActionOrBuilder
      • hasGrpcTimeoutOffset

        public boolean hasGrpcTimeoutOffset()
         If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
         the provided duration from the header. This is useful in allowing Envoy to set its global
         timeout to be less than that of the deadline imposed by the calling client, which makes it more
         likely that Envoy will handle the timeout instead of having the call canceled by the client.
         The offset will only be applied if the provided grpc_timeout is greater than the offset. This
         ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning
         infinity).
         
        .google.protobuf.Duration grpc_timeout_offset = 28;
        Specified by:
        hasGrpcTimeoutOffset in interface RouteActionOrBuilder
        Returns:
        Whether the grpcTimeoutOffset field is set.
      • getGrpcTimeoutOffset

        public com.google.protobuf.Duration getGrpcTimeoutOffset()
         If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
         the provided duration from the header. This is useful in allowing Envoy to set its global
         timeout to be less than that of the deadline imposed by the calling client, which makes it more
         likely that Envoy will handle the timeout instead of having the call canceled by the client.
         The offset will only be applied if the provided grpc_timeout is greater than the offset. This
         ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning
         infinity).
         
        .google.protobuf.Duration grpc_timeout_offset = 28;
        Specified by:
        getGrpcTimeoutOffset in interface RouteActionOrBuilder
        Returns:
        The grpcTimeoutOffset.
      • getGrpcTimeoutOffsetOrBuilder

        public com.google.protobuf.DurationOrBuilder getGrpcTimeoutOffsetOrBuilder()
         If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
         the provided duration from the header. This is useful in allowing Envoy to set its global
         timeout to be less than that of the deadline imposed by the calling client, which makes it more
         likely that Envoy will handle the timeout instead of having the call canceled by the client.
         The offset will only be applied if the provided grpc_timeout is greater than the offset. This
         ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning
         infinity).
         
        .google.protobuf.Duration grpc_timeout_offset = 28;
        Specified by:
        getGrpcTimeoutOffsetOrBuilder in interface RouteActionOrBuilder
      • getUpgradeConfigsCount

        public int getUpgradeConfigsCount()
        repeated .envoy.api.v2.route.RouteAction.UpgradeConfig upgrade_configs = 25;
        Specified by:
        getUpgradeConfigsCount in interface RouteActionOrBuilder
      • getInternalRedirectActionValue

        public int getInternalRedirectActionValue()
        .envoy.api.v2.route.RouteAction.InternalRedirectAction internal_redirect_action = 26;
        Specified by:
        getInternalRedirectActionValue in interface RouteActionOrBuilder
        Returns:
        The enum numeric value on the wire for internalRedirectAction.
      • hasMaxInternalRedirects

        public boolean hasMaxInternalRedirects()
         An internal redirect is handled, iff the number of previous internal redirects that a
         downstream request has encountered is lower than this value, and
         :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
         is set to :ref:`HANDLE_INTERNAL_REDIRECT
         <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
         In the case where a downstream request is bounced among multiple routes by internal redirect,
         the first route that hits this threshold, or has
         :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
         set to
         :ref:`PASS_THROUGH_INTERNAL_REDIRECT
         <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
         will pass the redirect back to downstream.
         If not specified, at most one redirect will be followed.
         
        .google.protobuf.UInt32Value max_internal_redirects = 31;
        Specified by:
        hasMaxInternalRedirects in interface RouteActionOrBuilder
        Returns:
        Whether the maxInternalRedirects field is set.
      • getMaxInternalRedirects

        public com.google.protobuf.UInt32Value getMaxInternalRedirects()
         An internal redirect is handled, iff the number of previous internal redirects that a
         downstream request has encountered is lower than this value, and
         :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
         is set to :ref:`HANDLE_INTERNAL_REDIRECT
         <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
         In the case where a downstream request is bounced among multiple routes by internal redirect,
         the first route that hits this threshold, or has
         :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
         set to
         :ref:`PASS_THROUGH_INTERNAL_REDIRECT
         <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
         will pass the redirect back to downstream.
         If not specified, at most one redirect will be followed.
         
        .google.protobuf.UInt32Value max_internal_redirects = 31;
        Specified by:
        getMaxInternalRedirects in interface RouteActionOrBuilder
        Returns:
        The maxInternalRedirects.
      • getMaxInternalRedirectsOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getMaxInternalRedirectsOrBuilder()
         An internal redirect is handled, iff the number of previous internal redirects that a
         downstream request has encountered is lower than this value, and
         :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
         is set to :ref:`HANDLE_INTERNAL_REDIRECT
         <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
         In the case where a downstream request is bounced among multiple routes by internal redirect,
         the first route that hits this threshold, or has
         :ref:`internal_redirect_action <envoy_api_field_route.RouteAction.internal_redirect_action>`
         set to
         :ref:`PASS_THROUGH_INTERNAL_REDIRECT
         <envoy_api_enum_value_route.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
         will pass the redirect back to downstream.
         If not specified, at most one redirect will be followed.
         
        .google.protobuf.UInt32Value max_internal_redirects = 31;
        Specified by:
        getMaxInternalRedirectsOrBuilder in interface RouteActionOrBuilder
      • hasHedgePolicy

        public boolean hasHedgePolicy()
         Indicates that the route has a hedge policy. Note that if this is set,
         it'll take precedence over the virtual host level hedge policy entirely
         (e.g.: policies are not merged, most internal one becomes the enforced policy).
         
        .envoy.api.v2.route.HedgePolicy hedge_policy = 27;
        Specified by:
        hasHedgePolicy in interface RouteActionOrBuilder
        Returns:
        Whether the hedgePolicy field is set.
      • getHedgePolicy

        public HedgePolicy getHedgePolicy()
         Indicates that the route has a hedge policy. Note that if this is set,
         it'll take precedence over the virtual host level hedge policy entirely
         (e.g.: policies are not merged, most internal one becomes the enforced policy).
         
        .envoy.api.v2.route.HedgePolicy hedge_policy = 27;
        Specified by:
        getHedgePolicy in interface RouteActionOrBuilder
        Returns:
        The hedgePolicy.
      • getHedgePolicyOrBuilder

        public HedgePolicyOrBuilder getHedgePolicyOrBuilder()
         Indicates that the route has a hedge policy. Note that if this is set,
         it'll take precedence over the virtual host level hedge policy entirely
         (e.g.: policies are not merged, most internal one becomes the enforced policy).
         
        .envoy.api.v2.route.HedgePolicy hedge_policy = 27;
        Specified by:
        getHedgePolicyOrBuilder in interface RouteActionOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static RouteAction parseFrom​(ByteBuffer data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RouteAction parseFrom​(ByteBuffer data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RouteAction parseFrom​(com.google.protobuf.ByteString data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RouteAction parseFrom​(com.google.protobuf.ByteString data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RouteAction parseFrom​(byte[] data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RouteAction parseFrom​(byte[] data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RouteAction parseFrom​(com.google.protobuf.CodedInputStream input,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws IOException
        Throws:
        IOException
      • newBuilderForType

        public RouteAction.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public RouteAction.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected RouteAction.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static RouteAction getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<RouteAction> parser()
      • getParserForType

        public com.google.protobuf.Parser<RouteAction> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public RouteAction getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder