Class Router

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouterOrBuilder, java.io.Serializable

    public final class Router
    extends com.google.protobuf.GeneratedMessage
    implements RouterOrBuilder
     [#next-free-field: 10]
     
    Protobuf type envoy.extensions.filters.http.router.v3.Router
    See Also:
    Serialized Form
    • Field Detail

      • bitField0_

        private int bitField0_
      • DYNAMIC_STATS_FIELD_NUMBER

        public static final int DYNAMIC_STATS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • dynamicStats_

        private com.google.protobuf.BoolValue dynamicStats_
      • START_CHILD_SPAN_FIELD_NUMBER

        public static final int START_CHILD_SPAN_FIELD_NUMBER
        See Also:
        Constant Field Values
      • startChildSpan_

        private boolean startChildSpan_
      • UPSTREAM_LOG_FIELD_NUMBER

        public static final int UPSTREAM_LOG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • upstreamLog_

        private java.util.List<AccessLog> upstreamLog_
      • UPSTREAM_LOG_OPTIONS_FIELD_NUMBER

        public static final int UPSTREAM_LOG_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SUPPRESS_ENVOY_HEADERS_FIELD_NUMBER

        public static final int SUPPRESS_ENVOY_HEADERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • suppressEnvoyHeaders_

        private boolean suppressEnvoyHeaders_
      • STRICT_CHECK_HEADERS_FIELD_NUMBER

        public static final int STRICT_CHECK_HEADERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • strictCheckHeaders_

        private com.google.protobuf.LazyStringArrayList strictCheckHeaders_
      • RESPECT_EXPECTED_RQ_TIMEOUT_FIELD_NUMBER

        public static final int RESPECT_EXPECTED_RQ_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • respectExpectedRqTimeout_

        private boolean respectExpectedRqTimeout_
      • SUPPRESS_GRPC_REQUEST_FAILURE_CODE_STATS_FIELD_NUMBER

        public static final int SUPPRESS_GRPC_REQUEST_FAILURE_CODE_STATS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • suppressGrpcRequestFailureCodeStats_

        private boolean suppressGrpcRequestFailureCodeStats_
      • UPSTREAM_HTTP_FILTERS_FIELD_NUMBER

        public static final int UPSTREAM_HTTP_FILTERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • upstreamHttpFilters_

        private java.util.List<HttpFilter> upstreamHttpFilters_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
      • DEFAULT_INSTANCE

        private static final Router DEFAULT_INSTANCE
      • PARSER

        private static final com.google.protobuf.Parser<Router> PARSER
    • Constructor Detail

      • Router

        private Router​(com.google.protobuf.GeneratedMessage.Builder<?> builder)
      • Router

        private Router()
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
      • hasDynamicStats

        public boolean hasDynamicStats()
         Whether the router generates dynamic cluster statistics. Defaults to
         true. Can be disabled in high performance scenarios.
         
        .google.protobuf.BoolValue dynamic_stats = 1;
        Specified by:
        hasDynamicStats in interface RouterOrBuilder
        Returns:
        Whether the dynamicStats field is set.
      • getDynamicStats

        public com.google.protobuf.BoolValue getDynamicStats()
         Whether the router generates dynamic cluster statistics. Defaults to
         true. Can be disabled in high performance scenarios.
         
        .google.protobuf.BoolValue dynamic_stats = 1;
        Specified by:
        getDynamicStats in interface RouterOrBuilder
        Returns:
        The dynamicStats.
      • getDynamicStatsOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getDynamicStatsOrBuilder()
         Whether the router generates dynamic cluster statistics. Defaults to
         true. Can be disabled in high performance scenarios.
         
        .google.protobuf.BoolValue dynamic_stats = 1;
        Specified by:
        getDynamicStatsOrBuilder in interface RouterOrBuilder
      • getStartChildSpan

        @Deprecated
        public boolean getStartChildSpan()
        Deprecated.
        envoy.extensions.filters.http.router.v3.Router.start_child_span is deprecated. See envoy/extensions/filters/http/router/v3/router.proto;l=60
         Whether to start a child span for egress routed calls. This can be
         useful in scenarios where other filters (auth, ratelimit, etc.) make
         outbound calls and have child spans rooted at the same ingress
         parent. Defaults to false.
        
         .. attention::
         This field is deprecated by the
         :ref:`spawn_upstream_span <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.spawn_upstream_span>`.
         Please use that ``spawn_upstream_span`` field to control the span creation.
         
        bool start_child_span = 2 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getStartChildSpan in interface RouterOrBuilder
        Returns:
        The startChildSpan.
      • getUpstreamLogList

        public java.util.List<AccessLog> getUpstreamLogList()
         Configuration for HTTP upstream logs emitted by the router. Upstream logs
         are configured in the same way as access logs, but each log entry represents
         an upstream request. Presuming retries are configured, multiple upstream
         requests may be made for each downstream (inbound) request.
         
        repeated .envoy.config.accesslog.v3.AccessLog upstream_log = 3;
        Specified by:
        getUpstreamLogList in interface RouterOrBuilder
      • getUpstreamLogOrBuilderList

        public java.util.List<? extends AccessLogOrBuilder> getUpstreamLogOrBuilderList()
         Configuration for HTTP upstream logs emitted by the router. Upstream logs
         are configured in the same way as access logs, but each log entry represents
         an upstream request. Presuming retries are configured, multiple upstream
         requests may be made for each downstream (inbound) request.
         
        repeated .envoy.config.accesslog.v3.AccessLog upstream_log = 3;
        Specified by:
        getUpstreamLogOrBuilderList in interface RouterOrBuilder
      • getUpstreamLogCount

        public int getUpstreamLogCount()
         Configuration for HTTP upstream logs emitted by the router. Upstream logs
         are configured in the same way as access logs, but each log entry represents
         an upstream request. Presuming retries are configured, multiple upstream
         requests may be made for each downstream (inbound) request.
         
        repeated .envoy.config.accesslog.v3.AccessLog upstream_log = 3;
        Specified by:
        getUpstreamLogCount in interface RouterOrBuilder
      • getUpstreamLog

        public AccessLog getUpstreamLog​(int index)
         Configuration for HTTP upstream logs emitted by the router. Upstream logs
         are configured in the same way as access logs, but each log entry represents
         an upstream request. Presuming retries are configured, multiple upstream
         requests may be made for each downstream (inbound) request.
         
        repeated .envoy.config.accesslog.v3.AccessLog upstream_log = 3;
        Specified by:
        getUpstreamLog in interface RouterOrBuilder
      • getUpstreamLogOrBuilder

        public AccessLogOrBuilder getUpstreamLogOrBuilder​(int index)
         Configuration for HTTP upstream logs emitted by the router. Upstream logs
         are configured in the same way as access logs, but each log entry represents
         an upstream request. Presuming retries are configured, multiple upstream
         requests may be made for each downstream (inbound) request.
         
        repeated .envoy.config.accesslog.v3.AccessLog upstream_log = 3;
        Specified by:
        getUpstreamLogOrBuilder in interface RouterOrBuilder
      • hasUpstreamLogOptions

        public boolean hasUpstreamLogOptions()
         Additional upstream access log options.
         
        .envoy.extensions.filters.http.router.v3.Router.UpstreamAccessLogOptions upstream_log_options = 9;
        Specified by:
        hasUpstreamLogOptions in interface RouterOrBuilder
        Returns:
        Whether the upstreamLogOptions field is set.
      • getSuppressEnvoyHeaders

        public boolean getSuppressEnvoyHeaders()
         Do not add any additional ``x-envoy-`` headers to requests or responses. This
         only affects the :ref:`router filter generated x-envoy- headers
         <config_http_filters_router_headers_set>`, other Envoy filters and the HTTP
         connection manager may continue to set ``x-envoy-`` headers.
         
        bool suppress_envoy_headers = 4;
        Specified by:
        getSuppressEnvoyHeaders in interface RouterOrBuilder
        Returns:
        The suppressEnvoyHeaders.
      • getStrictCheckHeadersList

        public com.google.protobuf.ProtocolStringList getStrictCheckHeadersList()
         Specifies a list of HTTP headers to strictly validate. Envoy will reject a
         request and respond with HTTP status 400 if the request contains an invalid
         value for any of the headers listed in this field. Strict header checking
         is only supported for the following headers:
        
         Value must be a ','-delimited list (i.e. no spaces) of supported retry
         policy values:
        
         * :ref:`config_http_filters_router_x-envoy-retry-grpc-on`
         * :ref:`config_http_filters_router_x-envoy-retry-on`
        
         Value must be an integer:
        
         * :ref:`config_http_filters_router_x-envoy-max-retries`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`
         
        repeated string strict_check_headers = 5 [(.validate.rules) = { ... }
        Specified by:
        getStrictCheckHeadersList in interface RouterOrBuilder
        Returns:
        A list containing the strictCheckHeaders.
      • getStrictCheckHeadersCount

        public int getStrictCheckHeadersCount()
         Specifies a list of HTTP headers to strictly validate. Envoy will reject a
         request and respond with HTTP status 400 if the request contains an invalid
         value for any of the headers listed in this field. Strict header checking
         is only supported for the following headers:
        
         Value must be a ','-delimited list (i.e. no spaces) of supported retry
         policy values:
        
         * :ref:`config_http_filters_router_x-envoy-retry-grpc-on`
         * :ref:`config_http_filters_router_x-envoy-retry-on`
        
         Value must be an integer:
        
         * :ref:`config_http_filters_router_x-envoy-max-retries`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`
         
        repeated string strict_check_headers = 5 [(.validate.rules) = { ... }
        Specified by:
        getStrictCheckHeadersCount in interface RouterOrBuilder
        Returns:
        The count of strictCheckHeaders.
      • getStrictCheckHeaders

        public java.lang.String getStrictCheckHeaders​(int index)
         Specifies a list of HTTP headers to strictly validate. Envoy will reject a
         request and respond with HTTP status 400 if the request contains an invalid
         value for any of the headers listed in this field. Strict header checking
         is only supported for the following headers:
        
         Value must be a ','-delimited list (i.e. no spaces) of supported retry
         policy values:
        
         * :ref:`config_http_filters_router_x-envoy-retry-grpc-on`
         * :ref:`config_http_filters_router_x-envoy-retry-on`
        
         Value must be an integer:
        
         * :ref:`config_http_filters_router_x-envoy-max-retries`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`
         
        repeated string strict_check_headers = 5 [(.validate.rules) = { ... }
        Specified by:
        getStrictCheckHeaders in interface RouterOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The strictCheckHeaders at the given index.
      • getStrictCheckHeadersBytes

        public com.google.protobuf.ByteString getStrictCheckHeadersBytes​(int index)
         Specifies a list of HTTP headers to strictly validate. Envoy will reject a
         request and respond with HTTP status 400 if the request contains an invalid
         value for any of the headers listed in this field. Strict header checking
         is only supported for the following headers:
        
         Value must be a ','-delimited list (i.e. no spaces) of supported retry
         policy values:
        
         * :ref:`config_http_filters_router_x-envoy-retry-grpc-on`
         * :ref:`config_http_filters_router_x-envoy-retry-on`
        
         Value must be an integer:
        
         * :ref:`config_http_filters_router_x-envoy-max-retries`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`
         * :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`
         
        repeated string strict_check_headers = 5 [(.validate.rules) = { ... }
        Specified by:
        getStrictCheckHeadersBytes in interface RouterOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the strictCheckHeaders at the given index.
      • getRespectExpectedRqTimeout

        public boolean getRespectExpectedRqTimeout()
         If not set, ingress Envoy will ignore
         :ref:`config_http_filters_router_x-envoy-expected-rq-timeout-ms` header, populated by egress
         Envoy, when deriving timeout for upstream cluster.
         
        bool respect_expected_rq_timeout = 6;
        Specified by:
        getRespectExpectedRqTimeout in interface RouterOrBuilder
        Returns:
        The respectExpectedRqTimeout.
      • getSuppressGrpcRequestFailureCodeStats

        public boolean getSuppressGrpcRequestFailureCodeStats()
         If set, Envoy will avoid incrementing HTTP failure code stats
         on gRPC requests. This includes the individual status code value
         (e.g. upstream_rq_504) and group stats (e.g. upstream_rq_5xx).
         This field is useful if interested in relying only on the gRPC
         stats filter to define success and failure metrics for gRPC requests
         as not all failed gRPC requests charge HTTP status code metrics. See
         :ref:`gRPC stats filter<config_http_filters_grpc_stats>` documentation
         for more details.
         
        bool suppress_grpc_request_failure_code_stats = 7;
        Specified by:
        getSuppressGrpcRequestFailureCodeStats in interface RouterOrBuilder
        Returns:
        The suppressGrpcRequestFailureCodeStats.
      • getUpstreamHttpFiltersList

        public java.util.List<HttpFilter> getUpstreamHttpFiltersList()
         .. note::
         Upstream HTTP filters are currently in alpha.
        
         Optional HTTP filters for the upstream HTTP filter chain.
        
         These filters will be applied for all requests that pass through the router.
         They will also be applied to shadowed requests.
         Upstream HTTP filters cannot change route or cluster.
         Upstream HTTP filters specified on the cluster will override these filters.
        
         If using upstream HTTP filters, please be aware that local errors sent by
         upstream HTTP filters will not trigger retries, and local errors sent by
         upstream HTTP filters will count as a final response if hedging is configured.
         [#extension-category: envoy.filters.http.upstream]
         
        repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter upstream_http_filters = 8;
        Specified by:
        getUpstreamHttpFiltersList in interface RouterOrBuilder
      • getUpstreamHttpFiltersOrBuilderList

        public java.util.List<? extends HttpFilterOrBuilder> getUpstreamHttpFiltersOrBuilderList()
         .. note::
         Upstream HTTP filters are currently in alpha.
        
         Optional HTTP filters for the upstream HTTP filter chain.
        
         These filters will be applied for all requests that pass through the router.
         They will also be applied to shadowed requests.
         Upstream HTTP filters cannot change route or cluster.
         Upstream HTTP filters specified on the cluster will override these filters.
        
         If using upstream HTTP filters, please be aware that local errors sent by
         upstream HTTP filters will not trigger retries, and local errors sent by
         upstream HTTP filters will count as a final response if hedging is configured.
         [#extension-category: envoy.filters.http.upstream]
         
        repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter upstream_http_filters = 8;
        Specified by:
        getUpstreamHttpFiltersOrBuilderList in interface RouterOrBuilder
      • getUpstreamHttpFiltersCount

        public int getUpstreamHttpFiltersCount()
         .. note::
         Upstream HTTP filters are currently in alpha.
        
         Optional HTTP filters for the upstream HTTP filter chain.
        
         These filters will be applied for all requests that pass through the router.
         They will also be applied to shadowed requests.
         Upstream HTTP filters cannot change route or cluster.
         Upstream HTTP filters specified on the cluster will override these filters.
        
         If using upstream HTTP filters, please be aware that local errors sent by
         upstream HTTP filters will not trigger retries, and local errors sent by
         upstream HTTP filters will count as a final response if hedging is configured.
         [#extension-category: envoy.filters.http.upstream]
         
        repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter upstream_http_filters = 8;
        Specified by:
        getUpstreamHttpFiltersCount in interface RouterOrBuilder
      • getUpstreamHttpFilters

        public HttpFilter getUpstreamHttpFilters​(int index)
         .. note::
         Upstream HTTP filters are currently in alpha.
        
         Optional HTTP filters for the upstream HTTP filter chain.
        
         These filters will be applied for all requests that pass through the router.
         They will also be applied to shadowed requests.
         Upstream HTTP filters cannot change route or cluster.
         Upstream HTTP filters specified on the cluster will override these filters.
        
         If using upstream HTTP filters, please be aware that local errors sent by
         upstream HTTP filters will not trigger retries, and local errors sent by
         upstream HTTP filters will count as a final response if hedging is configured.
         [#extension-category: envoy.filters.http.upstream]
         
        repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter upstream_http_filters = 8;
        Specified by:
        getUpstreamHttpFilters in interface RouterOrBuilder
      • getUpstreamHttpFiltersOrBuilder

        public HttpFilterOrBuilder getUpstreamHttpFiltersOrBuilder​(int index)
         .. note::
         Upstream HTTP filters are currently in alpha.
        
         Optional HTTP filters for the upstream HTTP filter chain.
        
         These filters will be applied for all requests that pass through the router.
         They will also be applied to shadowed requests.
         Upstream HTTP filters cannot change route or cluster.
         Upstream HTTP filters specified on the cluster will override these filters.
        
         If using upstream HTTP filters, please be aware that local errors sent by
         upstream HTTP filters will not trigger retries, and local errors sent by
         upstream HTTP filters will count as a final response if hedging is configured.
         [#extension-category: envoy.filters.http.upstream]
         
        repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter upstream_http_filters = 8;
        Specified by:
        getUpstreamHttpFiltersOrBuilder in interface RouterOrBuilder
      • isInitialized

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

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

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

        public boolean equals​(java.lang.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 Router parseFrom​(java.nio.ByteBuffer data)
                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

        public static Router parseFrom​(java.io.InputStream input)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Router parseFrom​(java.io.InputStream input,
                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Router parseDelimitedFrom​(java.io.InputStream input)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Router parseDelimitedFrom​(java.io.InputStream input,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Router parseFrom​(com.google.protobuf.CodedInputStream input)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

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

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

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

        protected Router.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • getDefaultInstance

        public static Router getDefaultInstance()
      • parser

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

        public com.google.protobuf.Parser<Router> 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.GeneratedMessage
      • getDefaultInstanceForType

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