Class RouteConfiguration

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

    public final class RouteConfiguration
    extends com.google.protobuf.GeneratedMessage
    implements RouteConfigurationOrBuilder
     [#next-free-field: 18]
     
    Protobuf type envoy.config.route.v3.RouteConfiguration
    See Also:
    Serialized Form
    • Field Detail

      • bitField0_

        private int bitField0_
      • name_

        private volatile java.lang.Object name_
      • VIRTUAL_HOSTS_FIELD_NUMBER

        public static final int VIRTUAL_HOSTS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • virtualHosts_

        private java.util.List<VirtualHost> virtualHosts_
      • vhds_

        private Vhds vhds_
      • INTERNAL_ONLY_HEADERS_FIELD_NUMBER

        public static final int INTERNAL_ONLY_HEADERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • internalOnlyHeaders_

        private com.google.protobuf.LazyStringArrayList internalOnlyHeaders_
      • RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER

        public static final int RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • responseHeadersToAdd_

        private java.util.List<HeaderValueOption> responseHeadersToAdd_
      • RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER

        public static final int RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • responseHeadersToRemove_

        private com.google.protobuf.LazyStringArrayList responseHeadersToRemove_
      • REQUEST_HEADERS_TO_ADD_FIELD_NUMBER

        public static final int REQUEST_HEADERS_TO_ADD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • requestHeadersToAdd_

        private java.util.List<HeaderValueOption> requestHeadersToAdd_
      • REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER

        public static final int REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • requestHeadersToRemove_

        private com.google.protobuf.LazyStringArrayList requestHeadersToRemove_
      • MOST_SPECIFIC_HEADER_MUTATIONS_WINS_FIELD_NUMBER

        public static final int MOST_SPECIFIC_HEADER_MUTATIONS_WINS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • mostSpecificHeaderMutationsWins_

        private boolean mostSpecificHeaderMutationsWins_
      • VALIDATE_CLUSTERS_FIELD_NUMBER

        public static final int VALIDATE_CLUSTERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • validateClusters_

        private com.google.protobuf.BoolValue validateClusters_
      • MAX_DIRECT_RESPONSE_BODY_SIZE_BYTES_FIELD_NUMBER

        public static final int MAX_DIRECT_RESPONSE_BODY_SIZE_BYTES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • maxDirectResponseBodySizeBytes_

        private com.google.protobuf.UInt32Value maxDirectResponseBodySizeBytes_
      • CLUSTER_SPECIFIER_PLUGINS_FIELD_NUMBER

        public static final int CLUSTER_SPECIFIER_PLUGINS_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
      • IGNORE_PORT_IN_HOST_MATCHING_FIELD_NUMBER

        public static final int IGNORE_PORT_IN_HOST_MATCHING_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ignorePortInHostMatching_

        private boolean ignorePortInHostMatching_
      • IGNORE_PATH_PARAMETERS_IN_PATH_MATCHING_FIELD_NUMBER

        public static final int IGNORE_PATH_PARAMETERS_IN_PATH_MATCHING_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ignorePathParametersInPathMatching_

        private boolean ignorePathParametersInPathMatching_
      • TYPED_PER_FILTER_CONFIG_FIELD_NUMBER

        public static final int TYPED_PER_FILTER_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • typedPerFilterConfig_

        private com.google.protobuf.MapField<java.lang.String,​com.google.protobuf.Any> typedPerFilterConfig_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
    • Constructor Detail

      • RouteConfiguration

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

        private RouteConfiguration()
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection​(int number)
        Overrides:
        internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessage
      • internalGetFieldAccessorTable

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

        public java.lang.String getName()
         The name of the route configuration. For example, it might match
         :ref:`route_config_name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
         :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.Rds`.
         
        string name = 1;
        Specified by:
        getName in interface RouteConfigurationOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         The name of the route configuration. For example, it might match
         :ref:`route_config_name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
         :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.Rds`.
         
        string name = 1;
        Specified by:
        getNameBytes in interface RouteConfigurationOrBuilder
        Returns:
        The bytes for name.
      • getVirtualHostsCount

        public int getVirtualHostsCount()
         An array of virtual hosts that make up the route table.
         
        repeated .envoy.config.route.v3.VirtualHost virtual_hosts = 2;
        Specified by:
        getVirtualHostsCount in interface RouteConfigurationOrBuilder
      • hasVhds

        public boolean hasVhds()
         An array of virtual hosts will be dynamically loaded via the VHDS API.
         Both ``virtual_hosts`` and ``vhds`` fields will be used when present. ``virtual_hosts`` can be used
         for a base routing table or for infrequently changing virtual hosts. ``vhds`` is used for
         on-demand discovery of virtual hosts. The contents of these two fields will be merged to
         generate a routing table for a given RouteConfiguration, with ``vhds`` derived configuration
         taking precedence.
         
        .envoy.config.route.v3.Vhds vhds = 9;
        Specified by:
        hasVhds in interface RouteConfigurationOrBuilder
        Returns:
        Whether the vhds field is set.
      • getVhds

        public Vhds getVhds()
         An array of virtual hosts will be dynamically loaded via the VHDS API.
         Both ``virtual_hosts`` and ``vhds`` fields will be used when present. ``virtual_hosts`` can be used
         for a base routing table or for infrequently changing virtual hosts. ``vhds`` is used for
         on-demand discovery of virtual hosts. The contents of these two fields will be merged to
         generate a routing table for a given RouteConfiguration, with ``vhds`` derived configuration
         taking precedence.
         
        .envoy.config.route.v3.Vhds vhds = 9;
        Specified by:
        getVhds in interface RouteConfigurationOrBuilder
        Returns:
        The vhds.
      • getVhdsOrBuilder

        public VhdsOrBuilder getVhdsOrBuilder()
         An array of virtual hosts will be dynamically loaded via the VHDS API.
         Both ``virtual_hosts`` and ``vhds`` fields will be used when present. ``virtual_hosts`` can be used
         for a base routing table or for infrequently changing virtual hosts. ``vhds`` is used for
         on-demand discovery of virtual hosts. The contents of these two fields will be merged to
         generate a routing table for a given RouteConfiguration, with ``vhds`` derived configuration
         taking precedence.
         
        .envoy.config.route.v3.Vhds vhds = 9;
        Specified by:
        getVhdsOrBuilder in interface RouteConfigurationOrBuilder
      • getInternalOnlyHeadersList

        public com.google.protobuf.ProtocolStringList getInternalOnlyHeadersList()
         Optionally specifies a list of HTTP headers that the connection manager
         will consider to be internal only. If they are found on external requests they will be cleaned
         prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
         information.
         
        repeated string internal_only_headers = 3 [(.validate.rules) = { ... }
        Specified by:
        getInternalOnlyHeadersList in interface RouteConfigurationOrBuilder
        Returns:
        A list containing the internalOnlyHeaders.
      • getInternalOnlyHeadersCount

        public int getInternalOnlyHeadersCount()
         Optionally specifies a list of HTTP headers that the connection manager
         will consider to be internal only. If they are found on external requests they will be cleaned
         prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
         information.
         
        repeated string internal_only_headers = 3 [(.validate.rules) = { ... }
        Specified by:
        getInternalOnlyHeadersCount in interface RouteConfigurationOrBuilder
        Returns:
        The count of internalOnlyHeaders.
      • getInternalOnlyHeaders

        public java.lang.String getInternalOnlyHeaders​(int index)
         Optionally specifies a list of HTTP headers that the connection manager
         will consider to be internal only. If they are found on external requests they will be cleaned
         prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
         information.
         
        repeated string internal_only_headers = 3 [(.validate.rules) = { ... }
        Specified by:
        getInternalOnlyHeaders in interface RouteConfigurationOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The internalOnlyHeaders at the given index.
      • getInternalOnlyHeadersBytes

        public com.google.protobuf.ByteString getInternalOnlyHeadersBytes​(int index)
         Optionally specifies a list of HTTP headers that the connection manager
         will consider to be internal only. If they are found on external requests they will be cleaned
         prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
         information.
         
        repeated string internal_only_headers = 3 [(.validate.rules) = { ... }
        Specified by:
        getInternalOnlyHeadersBytes in interface RouteConfigurationOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the internalOnlyHeaders at the given index.
      • getResponseHeadersToAddList

        public java.util.List<HeaderValueOption> getResponseHeadersToAddList()
         Specifies a list of HTTP headers that should be added to each response that
         the connection manager encodes. Headers specified at this level are applied
         after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddList in interface RouteConfigurationOrBuilder
      • getResponseHeadersToAddOrBuilderList

        public java.util.List<? extends HeaderValueOptionOrBuilder> getResponseHeadersToAddOrBuilderList()
         Specifies a list of HTTP headers that should be added to each response that
         the connection manager encodes. Headers specified at this level are applied
         after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddOrBuilderList in interface RouteConfigurationOrBuilder
      • getResponseHeadersToAddCount

        public int getResponseHeadersToAddCount()
         Specifies a list of HTTP headers that should be added to each response that
         the connection manager encodes. Headers specified at this level are applied
         after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddCount in interface RouteConfigurationOrBuilder
      • getResponseHeadersToAdd

        public HeaderValueOption getResponseHeadersToAdd​(int index)
         Specifies a list of HTTP headers that should be added to each response that
         the connection manager encodes. Headers specified at this level are applied
         after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAdd in interface RouteConfigurationOrBuilder
      • getResponseHeadersToAddOrBuilder

        public HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder​(int index)
         Specifies a list of HTTP headers that should be added to each response that
         the connection manager encodes. Headers specified at this level are applied
         after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddOrBuilder in interface RouteConfigurationOrBuilder
      • getResponseHeadersToRemoveList

        public com.google.protobuf.ProtocolStringList getResponseHeadersToRemoveList()
         Specifies a list of HTTP headers that should be removed from each response
         that the connection manager encodes.
         
        repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemoveList in interface RouteConfigurationOrBuilder
        Returns:
        A list containing the responseHeadersToRemove.
      • getResponseHeadersToRemoveCount

        public int getResponseHeadersToRemoveCount()
         Specifies a list of HTTP headers that should be removed from each response
         that the connection manager encodes.
         
        repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemoveCount in interface RouteConfigurationOrBuilder
        Returns:
        The count of responseHeadersToRemove.
      • getResponseHeadersToRemove

        public java.lang.String getResponseHeadersToRemove​(int index)
         Specifies a list of HTTP headers that should be removed from each response
         that the connection manager encodes.
         
        repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemove in interface RouteConfigurationOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The responseHeadersToRemove at the given index.
      • getResponseHeadersToRemoveBytes

        public com.google.protobuf.ByteString getResponseHeadersToRemoveBytes​(int index)
         Specifies a list of HTTP headers that should be removed from each response
         that the connection manager encodes.
         
        repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemoveBytes in interface RouteConfigurationOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the responseHeadersToRemove at the given index.
      • getRequestHeadersToAddList

        public java.util.List<HeaderValueOption> getRequestHeadersToAddList()
         Specifies a list of HTTP headers that should be added to each request
         routed by the HTTP connection manager. Headers specified at this level are
         applied after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddList in interface RouteConfigurationOrBuilder
      • getRequestHeadersToAddOrBuilderList

        public java.util.List<? extends HeaderValueOptionOrBuilder> getRequestHeadersToAddOrBuilderList()
         Specifies a list of HTTP headers that should be added to each request
         routed by the HTTP connection manager. Headers specified at this level are
         applied after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddOrBuilderList in interface RouteConfigurationOrBuilder
      • getRequestHeadersToAddCount

        public int getRequestHeadersToAddCount()
         Specifies a list of HTTP headers that should be added to each request
         routed by the HTTP connection manager. Headers specified at this level are
         applied after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddCount in interface RouteConfigurationOrBuilder
      • getRequestHeadersToAdd

        public HeaderValueOption getRequestHeadersToAdd​(int index)
         Specifies a list of HTTP headers that should be added to each request
         routed by the HTTP connection manager. Headers specified at this level are
         applied after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAdd in interface RouteConfigurationOrBuilder
      • getRequestHeadersToAddOrBuilder

        public HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder​(int index)
         Specifies a list of HTTP headers that should be added to each request
         routed by the HTTP connection manager. Headers specified at this level are
         applied after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or
         :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on
         header value syntax, see the documentation on :ref:`custom request headers
         <config_http_conn_man_headers_custom_request_headers>`.
         
        repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddOrBuilder in interface RouteConfigurationOrBuilder
      • getRequestHeadersToRemoveList

        public com.google.protobuf.ProtocolStringList getRequestHeadersToRemoveList()
         Specifies a list of HTTP headers that should be removed from each request
         routed by the HTTP connection manager.
         
        repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemoveList in interface RouteConfigurationOrBuilder
        Returns:
        A list containing the requestHeadersToRemove.
      • getRequestHeadersToRemoveCount

        public int getRequestHeadersToRemoveCount()
         Specifies a list of HTTP headers that should be removed from each request
         routed by the HTTP connection manager.
         
        repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemoveCount in interface RouteConfigurationOrBuilder
        Returns:
        The count of requestHeadersToRemove.
      • getRequestHeadersToRemove

        public java.lang.String getRequestHeadersToRemove​(int index)
         Specifies a list of HTTP headers that should be removed from each request
         routed by the HTTP connection manager.
         
        repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemove in interface RouteConfigurationOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The requestHeadersToRemove at the given index.
      • getRequestHeadersToRemoveBytes

        public com.google.protobuf.ByteString getRequestHeadersToRemoveBytes​(int index)
         Specifies a list of HTTP headers that should be removed from each request
         routed by the HTTP connection manager.
         
        repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemoveBytes in interface RouteConfigurationOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the requestHeadersToRemove at the given index.
      • getMostSpecificHeaderMutationsWins

        public boolean getMostSpecificHeaderMutationsWins()
         Headers mutations at all levels are evaluated, if specified. By default, the order is from most
         specific (i.e. route entry level) to least specific (i.e. route configuration level). Later header
         mutations may override earlier mutations.
         This order can be reversed by setting this field to true. In other words, most specific level mutation
         is evaluated last.
         
        bool most_specific_header_mutations_wins = 10;
        Specified by:
        getMostSpecificHeaderMutationsWins in interface RouteConfigurationOrBuilder
        Returns:
        The mostSpecificHeaderMutationsWins.
      • hasValidateClusters

        public boolean hasValidateClusters()
         An optional boolean that specifies whether the clusters that the route
         table refers to will be validated by the cluster manager. If set to true
         and a route refers to a non-existent cluster, the route table will not
         load. If set to false and a route refers to a non-existent cluster, the
         route table will load and the router filter will return a 404 if the route
         is selected at runtime. This setting defaults to true if the route table
         is statically defined via the :ref:`route_config
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
         option. This setting default to false if the route table is loaded dynamically via the
         :ref:`rds
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.rds>`
         option. Users may wish to override the default behavior in certain cases (for example when
         using CDS with a static route table).
         
        .google.protobuf.BoolValue validate_clusters = 7;
        Specified by:
        hasValidateClusters in interface RouteConfigurationOrBuilder
        Returns:
        Whether the validateClusters field is set.
      • getValidateClusters

        public com.google.protobuf.BoolValue getValidateClusters()
         An optional boolean that specifies whether the clusters that the route
         table refers to will be validated by the cluster manager. If set to true
         and a route refers to a non-existent cluster, the route table will not
         load. If set to false and a route refers to a non-existent cluster, the
         route table will load and the router filter will return a 404 if the route
         is selected at runtime. This setting defaults to true if the route table
         is statically defined via the :ref:`route_config
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
         option. This setting default to false if the route table is loaded dynamically via the
         :ref:`rds
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.rds>`
         option. Users may wish to override the default behavior in certain cases (for example when
         using CDS with a static route table).
         
        .google.protobuf.BoolValue validate_clusters = 7;
        Specified by:
        getValidateClusters in interface RouteConfigurationOrBuilder
        Returns:
        The validateClusters.
      • getValidateClustersOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getValidateClustersOrBuilder()
         An optional boolean that specifies whether the clusters that the route
         table refers to will be validated by the cluster manager. If set to true
         and a route refers to a non-existent cluster, the route table will not
         load. If set to false and a route refers to a non-existent cluster, the
         route table will load and the router filter will return a 404 if the route
         is selected at runtime. This setting defaults to true if the route table
         is statically defined via the :ref:`route_config
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
         option. This setting default to false if the route table is loaded dynamically via the
         :ref:`rds
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.rds>`
         option. Users may wish to override the default behavior in certain cases (for example when
         using CDS with a static route table).
         
        .google.protobuf.BoolValue validate_clusters = 7;
        Specified by:
        getValidateClustersOrBuilder in interface RouteConfigurationOrBuilder
      • hasMaxDirectResponseBodySizeBytes

        public boolean hasMaxDirectResponseBodySizeBytes()
         The maximum bytes of the response :ref:`direct response body
         <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
         is 4096.
        
         .. warning::
        
         Envoy currently holds the content of :ref:`direct response body
         <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
         this to be larger than the default 4KB, since the allocated memory for direct response body
         is not subject to data plane buffering controls.
         
        .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11;
        Specified by:
        hasMaxDirectResponseBodySizeBytes in interface RouteConfigurationOrBuilder
        Returns:
        Whether the maxDirectResponseBodySizeBytes field is set.
      • getMaxDirectResponseBodySizeBytes

        public com.google.protobuf.UInt32Value getMaxDirectResponseBodySizeBytes()
         The maximum bytes of the response :ref:`direct response body
         <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
         is 4096.
        
         .. warning::
        
         Envoy currently holds the content of :ref:`direct response body
         <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
         this to be larger than the default 4KB, since the allocated memory for direct response body
         is not subject to data plane buffering controls.
         
        .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11;
        Specified by:
        getMaxDirectResponseBodySizeBytes in interface RouteConfigurationOrBuilder
        Returns:
        The maxDirectResponseBodySizeBytes.
      • getMaxDirectResponseBodySizeBytesOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getMaxDirectResponseBodySizeBytesOrBuilder()
         The maximum bytes of the response :ref:`direct response body
         <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
         is 4096.
        
         .. warning::
        
         Envoy currently holds the content of :ref:`direct response body
         <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
         this to be larger than the default 4KB, since the allocated memory for direct response body
         is not subject to data plane buffering controls.
         
        .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11;
        Specified by:
        getMaxDirectResponseBodySizeBytesOrBuilder in interface RouteConfigurationOrBuilder
      • getClusterSpecifierPluginsList

        public java.util.List<ClusterSpecifierPlugin> getClusterSpecifierPluginsList()
         A list of plugins and their configurations which may be used by a
         :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
         within the route. All ``extension.name`` fields in this list must be unique.
         
        repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12;
        Specified by:
        getClusterSpecifierPluginsList in interface RouteConfigurationOrBuilder
      • getClusterSpecifierPluginsOrBuilderList

        public java.util.List<? extends ClusterSpecifierPluginOrBuilder> getClusterSpecifierPluginsOrBuilderList()
         A list of plugins and their configurations which may be used by a
         :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
         within the route. All ``extension.name`` fields in this list must be unique.
         
        repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12;
        Specified by:
        getClusterSpecifierPluginsOrBuilderList in interface RouteConfigurationOrBuilder
      • getClusterSpecifierPluginsCount

        public int getClusterSpecifierPluginsCount()
         A list of plugins and their configurations which may be used by a
         :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
         within the route. All ``extension.name`` fields in this list must be unique.
         
        repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12;
        Specified by:
        getClusterSpecifierPluginsCount in interface RouteConfigurationOrBuilder
      • getClusterSpecifierPlugins

        public ClusterSpecifierPlugin getClusterSpecifierPlugins​(int index)
         A list of plugins and their configurations which may be used by a
         :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
         within the route. All ``extension.name`` fields in this list must be unique.
         
        repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12;
        Specified by:
        getClusterSpecifierPlugins in interface RouteConfigurationOrBuilder
      • getClusterSpecifierPluginsOrBuilder

        public ClusterSpecifierPluginOrBuilder getClusterSpecifierPluginsOrBuilder​(int index)
         A list of plugins and their configurations which may be used by a
         :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
         within the route. All ``extension.name`` fields in this list must be unique.
         
        repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12;
        Specified by:
        getClusterSpecifierPluginsOrBuilder in interface RouteConfigurationOrBuilder
      • getRequestMirrorPoliciesList

        public java.util.List<RouteAction.RequestMirrorPolicy> getRequestMirrorPoliciesList()
         Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
         Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13;
        Specified by:
        getRequestMirrorPoliciesList in interface RouteConfigurationOrBuilder
      • getRequestMirrorPoliciesOrBuilderList

        public java.util.List<? extends RouteAction.RequestMirrorPolicyOrBuilder> getRequestMirrorPoliciesOrBuilderList()
         Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
         Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13;
        Specified by:
        getRequestMirrorPoliciesOrBuilderList in interface RouteConfigurationOrBuilder
      • getRequestMirrorPoliciesCount

        public int getRequestMirrorPoliciesCount()
         Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
         Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13;
        Specified by:
        getRequestMirrorPoliciesCount in interface RouteConfigurationOrBuilder
      • getRequestMirrorPolicies

        public RouteAction.RequestMirrorPolicy getRequestMirrorPolicies​(int index)
         Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
         Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13;
        Specified by:
        getRequestMirrorPolicies in interface RouteConfigurationOrBuilder
      • getRequestMirrorPoliciesOrBuilder

        public RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder​(int index)
         Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
         Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13;
        Specified by:
        getRequestMirrorPoliciesOrBuilder in interface RouteConfigurationOrBuilder
      • getIgnorePortInHostMatching

        public boolean getIgnorePortInHostMatching()
         By default, port in :authority header (if any) is used in host matching.
         With this option enabled, Envoy will ignore the port number in the :authority header (if any) when picking VirtualHost.
         NOTE: this option will not strip the port number (if any) contained in route config
         :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`.domains field.
         
        bool ignore_port_in_host_matching = 14;
        Specified by:
        getIgnorePortInHostMatching in interface RouteConfigurationOrBuilder
        Returns:
        The ignorePortInHostMatching.
      • getIgnorePathParametersInPathMatching

        public boolean getIgnorePathParametersInPathMatching()
         Ignore path-parameters in path-matching.
         Before RFC3986, URI were like(RFC1808): <scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
         Envoy by default takes ":path" as "<path>;<params>".
         For users who want to only match path on the "<path>" portion, this option should be true.
         
        bool ignore_path_parameters_in_path_matching = 15;
        Specified by:
        getIgnorePathParametersInPathMatching in interface RouteConfigurationOrBuilder
        Returns:
        The ignorePathParametersInPathMatching.
      • internalGetTypedPerFilterConfig

        private com.google.protobuf.MapField<java.lang.String,​com.google.protobuf.Any> internalGetTypedPerFilterConfig()
      • getTypedPerFilterConfigCount

        public int getTypedPerFilterConfigCount()
        Description copied from interface: RouteConfigurationOrBuilder
         This field can be used to provide RouteConfiguration level per filter config. The key should match the
         :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
         for details.
         [#comment: An entry's value may be wrapped in a
         :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
         message to specify additional options.]
         
        map<string, .google.protobuf.Any> typed_per_filter_config = 16;
        Specified by:
        getTypedPerFilterConfigCount in interface RouteConfigurationOrBuilder
      • containsTypedPerFilterConfig

        public boolean containsTypedPerFilterConfig​(java.lang.String key)
         This field can be used to provide RouteConfiguration level per filter config. The key should match the
         :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
         for details.
         [#comment: An entry's value may be wrapped in a
         :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
         message to specify additional options.]
         
        map<string, .google.protobuf.Any> typed_per_filter_config = 16;
        Specified by:
        containsTypedPerFilterConfig in interface RouteConfigurationOrBuilder
      • getTypedPerFilterConfigMap

        public java.util.Map<java.lang.String,​com.google.protobuf.Any> getTypedPerFilterConfigMap()
         This field can be used to provide RouteConfiguration level per filter config. The key should match the
         :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
         for details.
         [#comment: An entry's value may be wrapped in a
         :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
         message to specify additional options.]
         
        map<string, .google.protobuf.Any> typed_per_filter_config = 16;
        Specified by:
        getTypedPerFilterConfigMap in interface RouteConfigurationOrBuilder
      • getTypedPerFilterConfigOrDefault

        public com.google.protobuf.Any getTypedPerFilterConfigOrDefault​(java.lang.String key,
                                                                        com.google.protobuf.Any defaultValue)
         This field can be used to provide RouteConfiguration level per filter config. The key should match the
         :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
         for details.
         [#comment: An entry's value may be wrapped in a
         :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
         message to specify additional options.]
         
        map<string, .google.protobuf.Any> typed_per_filter_config = 16;
        Specified by:
        getTypedPerFilterConfigOrDefault in interface RouteConfigurationOrBuilder
      • getTypedPerFilterConfigOrThrow

        public com.google.protobuf.Any getTypedPerFilterConfigOrThrow​(java.lang.String key)
         This field can be used to provide RouteConfiguration level per filter config. The key should match the
         :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
         for details.
         [#comment: An entry's value may be wrapped in a
         :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
         message to specify additional options.]
         
        map<string, .google.protobuf.Any> typed_per_filter_config = 16;
        Specified by:
        getTypedPerFilterConfigOrThrow in interface RouteConfigurationOrBuilder
      • hasMetadata

        public boolean hasMetadata()
         The metadata field can be used to provide additional information
         about the route configuration. It can be used for configuration, stats, and logging.
         The metadata should go under the filter namespace that will need it.
         For instance, if the metadata is intended for the Router filter,
         the filter name should be specified as ``envoy.filters.http.router``.
         
        .envoy.config.core.v3.Metadata metadata = 17;
        Specified by:
        hasMetadata in interface RouteConfigurationOrBuilder
        Returns:
        Whether the metadata field is set.
      • getMetadata

        public Metadata getMetadata()
         The metadata field can be used to provide additional information
         about the route configuration. It can be used for configuration, stats, and logging.
         The metadata should go under the filter namespace that will need it.
         For instance, if the metadata is intended for the Router filter,
         the filter name should be specified as ``envoy.filters.http.router``.
         
        .envoy.config.core.v3.Metadata metadata = 17;
        Specified by:
        getMetadata in interface RouteConfigurationOrBuilder
        Returns:
        The metadata.
      • getMetadataOrBuilder

        public MetadataOrBuilder getMetadataOrBuilder()
         The metadata field can be used to provide additional information
         about the route configuration. It can be used for configuration, stats, and logging.
         The metadata should go under the filter namespace that will need it.
         For instance, if the metadata is intended for the Router filter,
         the filter name should be specified as ``envoy.filters.http.router``.
         
        .envoy.config.core.v3.Metadata metadata = 17;
        Specified by:
        getMetadataOrBuilder in interface RouteConfigurationOrBuilder
      • 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 RouteConfiguration parseFrom​(java.nio.ByteBuffer data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public com.google.protobuf.Parser<RouteConfiguration> 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 RouteConfiguration getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder