Class VirtualHost

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

    public final class VirtualHost
    extends com.google.protobuf.GeneratedMessageV3
    implements VirtualHostOrBuilder
     The top level element in the routing configuration is a virtual host. Each virtual host has
     a logical name as well as a set of domains that get routed to it based on the incoming request's
     host header. This allows a single listener to service multiple top level domain path trees. Once
     a virtual host is selected based on the domain, the routes are processed in order to see which
     upstream cluster to route to or whether to perform a redirect.
     [#next-free-field: 23]
     
    Protobuf type envoy.config.route.v3.VirtualHost
    See Also:
    Serialized Form
    • Field Detail

      • REQUIRE_TLS_FIELD_NUMBER

        public static final int REQUIRE_TLS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • VIRTUAL_CLUSTERS_FIELD_NUMBER

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

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

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

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

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

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

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

        public static final int INCLUDE_REQUEST_ATTEMPT_COUNT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INCLUDE_ATTEMPT_COUNT_IN_RESPONSE_FIELD_NUMBER

        public static final int INCLUDE_ATTEMPT_COUNT_IN_RESPONSE_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
      • HEDGE_POLICY_FIELD_NUMBER

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

        public static final int PER_REQUEST_BUFFER_LIMIT_BYTES_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
    • 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()
      • internalGetMapField

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

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

        public String getName()
         The logical name of the virtual host. This is used when emitting certain
         statistics but is not relevant for routing.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getName in interface VirtualHostOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         The logical name of the virtual host. This is used when emitting certain
         statistics but is not relevant for routing.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getNameBytes in interface VirtualHostOrBuilder
        Returns:
        The bytes for name.
      • getDomainsList

        public com.google.protobuf.ProtocolStringList getDomainsList()
         A list of domains (host/authority header) that will be matched to this
         virtual host. Wildcard hosts are supported in the suffix or prefix form.
         Domain search order:
          1. Exact domain names: ``www.foo.com``.
          2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
          3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
          4. Special wildcard ``*`` matching any domain.
         .. note::
           The wildcard will not match the empty string.
           e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
           The longest wildcards match first.
           Only a single virtual host in the entire route configuration can match on ``*``. A domain
           must be unique across all virtual hosts or the config will fail to load.
         Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
         
        repeated string domains = 2 [(.validate.rules) = { ... }
        Specified by:
        getDomainsList in interface VirtualHostOrBuilder
        Returns:
        A list containing the domains.
      • getDomainsCount

        public int getDomainsCount()
         A list of domains (host/authority header) that will be matched to this
         virtual host. Wildcard hosts are supported in the suffix or prefix form.
         Domain search order:
          1. Exact domain names: ``www.foo.com``.
          2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
          3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
          4. Special wildcard ``*`` matching any domain.
         .. note::
           The wildcard will not match the empty string.
           e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
           The longest wildcards match first.
           Only a single virtual host in the entire route configuration can match on ``*``. A domain
           must be unique across all virtual hosts or the config will fail to load.
         Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
         
        repeated string domains = 2 [(.validate.rules) = { ... }
        Specified by:
        getDomainsCount in interface VirtualHostOrBuilder
        Returns:
        The count of domains.
      • getDomains

        public String getDomains​(int index)
         A list of domains (host/authority header) that will be matched to this
         virtual host. Wildcard hosts are supported in the suffix or prefix form.
         Domain search order:
          1. Exact domain names: ``www.foo.com``.
          2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
          3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
          4. Special wildcard ``*`` matching any domain.
         .. note::
           The wildcard will not match the empty string.
           e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
           The longest wildcards match first.
           Only a single virtual host in the entire route configuration can match on ``*``. A domain
           must be unique across all virtual hosts or the config will fail to load.
         Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
         
        repeated string domains = 2 [(.validate.rules) = { ... }
        Specified by:
        getDomains in interface VirtualHostOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The domains at the given index.
      • getDomainsBytes

        public com.google.protobuf.ByteString getDomainsBytes​(int index)
         A list of domains (host/authority header) that will be matched to this
         virtual host. Wildcard hosts are supported in the suffix or prefix form.
         Domain search order:
          1. Exact domain names: ``www.foo.com``.
          2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
          3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
          4. Special wildcard ``*`` matching any domain.
         .. note::
           The wildcard will not match the empty string.
           e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
           The longest wildcards match first.
           Only a single virtual host in the entire route configuration can match on ``*``. A domain
           must be unique across all virtual hosts or the config will fail to load.
         Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
         
        repeated string domains = 2 [(.validate.rules) = { ... }
        Specified by:
        getDomainsBytes in interface VirtualHostOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the domains at the given index.
      • getRoutesList

        public List<Route> getRoutesList()
         The list of routes that will be matched, in order, for incoming requests.
         The first route that matches will be used.
         Only one of this and ``matcher`` can be specified.
         
        repeated .envoy.config.route.v3.Route routes = 3;
        Specified by:
        getRoutesList in interface VirtualHostOrBuilder
      • getRoutesOrBuilderList

        public List<? extends RouteOrBuilder> getRoutesOrBuilderList()
         The list of routes that will be matched, in order, for incoming requests.
         The first route that matches will be used.
         Only one of this and ``matcher`` can be specified.
         
        repeated .envoy.config.route.v3.Route routes = 3;
        Specified by:
        getRoutesOrBuilderList in interface VirtualHostOrBuilder
      • getRoutesCount

        public int getRoutesCount()
         The list of routes that will be matched, in order, for incoming requests.
         The first route that matches will be used.
         Only one of this and ``matcher`` can be specified.
         
        repeated .envoy.config.route.v3.Route routes = 3;
        Specified by:
        getRoutesCount in interface VirtualHostOrBuilder
      • getRoutes

        public Route getRoutes​(int index)
         The list of routes that will be matched, in order, for incoming requests.
         The first route that matches will be used.
         Only one of this and ``matcher`` can be specified.
         
        repeated .envoy.config.route.v3.Route routes = 3;
        Specified by:
        getRoutes in interface VirtualHostOrBuilder
      • getRoutesOrBuilder

        public RouteOrBuilder getRoutesOrBuilder​(int index)
         The list of routes that will be matched, in order, for incoming requests.
         The first route that matches will be used.
         Only one of this and ``matcher`` can be specified.
         
        repeated .envoy.config.route.v3.Route routes = 3;
        Specified by:
        getRoutesOrBuilder in interface VirtualHostOrBuilder
      • hasMatcher

        public boolean hasMatcher()
         [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
         The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
         can be specified.
         
        .xds.type.matcher.v3.Matcher matcher = 21 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        hasMatcher in interface VirtualHostOrBuilder
        Returns:
        Whether the matcher field is set.
      • getMatcher

        public Matcher getMatcher()
         [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
         The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
         can be specified.
         
        .xds.type.matcher.v3.Matcher matcher = 21 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        getMatcher in interface VirtualHostOrBuilder
        Returns:
        The matcher.
      • getMatcherOrBuilder

        public MatcherOrBuilder getMatcherOrBuilder()
         [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
         The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
         can be specified.
         
        .xds.type.matcher.v3.Matcher matcher = 21 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        getMatcherOrBuilder in interface VirtualHostOrBuilder
      • getRequireTlsValue

        public int getRequireTlsValue()
         Specifies the type of TLS enforcement the virtual host expects. If this option is not
         specified, there is no TLS requirement for the virtual host.
         
        .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
        Specified by:
        getRequireTlsValue in interface VirtualHostOrBuilder
        Returns:
        The enum numeric value on the wire for requireTls.
      • getRequireTls

        public VirtualHost.TlsRequirementType getRequireTls()
         Specifies the type of TLS enforcement the virtual host expects. If this option is not
         specified, there is no TLS requirement for the virtual host.
         
        .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
        Specified by:
        getRequireTls in interface VirtualHostOrBuilder
        Returns:
        The requireTls.
      • getVirtualClustersList

        public List<VirtualCluster> getVirtualClustersList()
         A list of virtual clusters defined for this virtual host. Virtual clusters
         are used for additional statistics gathering.
         
        repeated .envoy.config.route.v3.VirtualCluster virtual_clusters = 5;
        Specified by:
        getVirtualClustersList in interface VirtualHostOrBuilder
      • getVirtualClustersCount

        public int getVirtualClustersCount()
         A list of virtual clusters defined for this virtual host. Virtual clusters
         are used for additional statistics gathering.
         
        repeated .envoy.config.route.v3.VirtualCluster virtual_clusters = 5;
        Specified by:
        getVirtualClustersCount in interface VirtualHostOrBuilder
      • getVirtualClusters

        public VirtualCluster getVirtualClusters​(int index)
         A list of virtual clusters defined for this virtual host. Virtual clusters
         are used for additional statistics gathering.
         
        repeated .envoy.config.route.v3.VirtualCluster virtual_clusters = 5;
        Specified by:
        getVirtualClusters in interface VirtualHostOrBuilder
      • getVirtualClustersOrBuilder

        public VirtualClusterOrBuilder getVirtualClustersOrBuilder​(int index)
         A list of virtual clusters defined for this virtual host. Virtual clusters
         are used for additional statistics gathering.
         
        repeated .envoy.config.route.v3.VirtualCluster virtual_clusters = 5;
        Specified by:
        getVirtualClustersOrBuilder in interface VirtualHostOrBuilder
      • getRateLimitsList

        public List<RateLimit> getRateLimitsList()
         Specifies a set of rate limit configurations that will be applied to the
         virtual host.
         
        repeated .envoy.config.route.v3.RateLimit rate_limits = 6;
        Specified by:
        getRateLimitsList in interface VirtualHostOrBuilder
      • getRateLimitsCount

        public int getRateLimitsCount()
         Specifies a set of rate limit configurations that will be applied to the
         virtual host.
         
        repeated .envoy.config.route.v3.RateLimit rate_limits = 6;
        Specified by:
        getRateLimitsCount in interface VirtualHostOrBuilder
      • getRateLimits

        public RateLimit getRateLimits​(int index)
         Specifies a set of rate limit configurations that will be applied to the
         virtual host.
         
        repeated .envoy.config.route.v3.RateLimit rate_limits = 6;
        Specified by:
        getRateLimits in interface VirtualHostOrBuilder
      • getRateLimitsOrBuilder

        public RateLimitOrBuilder getRateLimitsOrBuilder​(int index)
         Specifies a set of rate limit configurations that will be applied to the
         virtual host.
         
        repeated .envoy.config.route.v3.RateLimit rate_limits = 6;
        Specified by:
        getRateLimitsOrBuilder in interface VirtualHostOrBuilder
      • getRequestHeadersToAddList

        public List<HeaderValueOption> getRequestHeadersToAddList()
         Specifies a list of HTTP headers that should be added to each request
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddList in interface VirtualHostOrBuilder
      • getRequestHeadersToAddOrBuilderList

        public List<? extends HeaderValueOptionOrBuilder> getRequestHeadersToAddOrBuilderList()
         Specifies a list of HTTP headers that should be added to each request
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddOrBuilderList in interface VirtualHostOrBuilder
      • getRequestHeadersToAddCount

        public int getRequestHeadersToAddCount()
         Specifies a list of HTTP headers that should be added to each request
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddCount in interface VirtualHostOrBuilder
      • getRequestHeadersToAdd

        public HeaderValueOption getRequestHeadersToAdd​(int index)
         Specifies a list of HTTP headers that should be added to each request
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAdd in interface VirtualHostOrBuilder
      • getRequestHeadersToAddOrBuilder

        public HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder​(int index)
         Specifies a list of HTTP headers that should be added to each request
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToAddOrBuilder in interface VirtualHostOrBuilder
      • getRequestHeadersToRemoveList

        public com.google.protobuf.ProtocolStringList getRequestHeadersToRemoveList()
         Specifies a list of HTTP headers that should be removed from each request
         handled by this virtual host.
         
        repeated string request_headers_to_remove = 13 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemoveList in interface VirtualHostOrBuilder
        Returns:
        A list containing the requestHeadersToRemove.
      • getRequestHeadersToRemoveCount

        public int getRequestHeadersToRemoveCount()
         Specifies a list of HTTP headers that should be removed from each request
         handled by this virtual host.
         
        repeated string request_headers_to_remove = 13 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemoveCount in interface VirtualHostOrBuilder
        Returns:
        The count of requestHeadersToRemove.
      • getRequestHeadersToRemove

        public String getRequestHeadersToRemove​(int index)
         Specifies a list of HTTP headers that should be removed from each request
         handled by this virtual host.
         
        repeated string request_headers_to_remove = 13 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemove in interface VirtualHostOrBuilder
        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
         handled by this virtual host.
         
        repeated string request_headers_to_remove = 13 [(.validate.rules) = { ... }
        Specified by:
        getRequestHeadersToRemoveBytes in interface VirtualHostOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the requestHeadersToRemove at the given index.
      • getResponseHeadersToAddList

        public List<HeaderValueOption> getResponseHeadersToAddList()
         Specifies a list of HTTP headers that should be added to each response
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddList in interface VirtualHostOrBuilder
      • getResponseHeadersToAddOrBuilderList

        public List<? extends HeaderValueOptionOrBuilder> getResponseHeadersToAddOrBuilderList()
         Specifies a list of HTTP headers that should be added to each response
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddOrBuilderList in interface VirtualHostOrBuilder
      • getResponseHeadersToAddCount

        public int getResponseHeadersToAddCount()
         Specifies a list of HTTP headers that should be added to each response
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddCount in interface VirtualHostOrBuilder
      • getResponseHeadersToAdd

        public HeaderValueOption getResponseHeadersToAdd​(int index)
         Specifies a list of HTTP headers that should be added to each response
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAdd in interface VirtualHostOrBuilder
      • getResponseHeadersToAddOrBuilder

        public HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder​(int index)
         Specifies a list of HTTP headers that should be added to each response
         handled by this virtual host. Headers specified at this level are applied
         after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
         enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToAddOrBuilder in interface VirtualHostOrBuilder
      • getResponseHeadersToRemoveList

        public com.google.protobuf.ProtocolStringList getResponseHeadersToRemoveList()
         Specifies a list of HTTP headers that should be removed from each response
         handled by this virtual host.
         
        repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemoveList in interface VirtualHostOrBuilder
        Returns:
        A list containing the responseHeadersToRemove.
      • getResponseHeadersToRemoveCount

        public int getResponseHeadersToRemoveCount()
         Specifies a list of HTTP headers that should be removed from each response
         handled by this virtual host.
         
        repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemoveCount in interface VirtualHostOrBuilder
        Returns:
        The count of responseHeadersToRemove.
      • getResponseHeadersToRemove

        public String getResponseHeadersToRemove​(int index)
         Specifies a list of HTTP headers that should be removed from each response
         handled by this virtual host.
         
        repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemove in interface VirtualHostOrBuilder
        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
         handled by this virtual host.
         
        repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
        Specified by:
        getResponseHeadersToRemoveBytes in interface VirtualHostOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the responseHeadersToRemove at the given index.
      • hasCors

        public boolean hasCors()
         Indicates that the virtual host has a CORS policy.
         
        .envoy.config.route.v3.CorsPolicy cors = 8;
        Specified by:
        hasCors in interface VirtualHostOrBuilder
        Returns:
        Whether the cors field is set.
      • getCors

        public CorsPolicy getCors()
         Indicates that the virtual host has a CORS policy.
         
        .envoy.config.route.v3.CorsPolicy cors = 8;
        Specified by:
        getCors in interface VirtualHostOrBuilder
        Returns:
        The cors.
      • getTypedPerFilterConfigCount

        public int getTypedPerFilterConfigCount()
        Description copied from interface: VirtualHostOrBuilder
         The per_filter_config field can be used to provide virtual host-specific configurations for filters.
         The key should match the :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
         be used for the backwards compatibility. If there is no entry referred by the filter config name, the
         entry referred by the canonical filter name will be provided to the filters as fallback.
         Use of this field is filter specific;
         see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
         [#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 = 15;
        Specified by:
        getTypedPerFilterConfigCount in interface VirtualHostOrBuilder
      • containsTypedPerFilterConfig

        public boolean containsTypedPerFilterConfig​(String key)
         The per_filter_config field can be used to provide virtual host-specific configurations for filters.
         The key should match the :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
         be used for the backwards compatibility. If there is no entry referred by the filter config name, the
         entry referred by the canonical filter name will be provided to the filters as fallback.
         Use of this field is filter specific;
         see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
         [#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 = 15;
        Specified by:
        containsTypedPerFilterConfig in interface VirtualHostOrBuilder
      • getTypedPerFilterConfigMap

        public Map<String,​com.google.protobuf.Any> getTypedPerFilterConfigMap()
         The per_filter_config field can be used to provide virtual host-specific configurations for filters.
         The key should match the :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
         be used for the backwards compatibility. If there is no entry referred by the filter config name, the
         entry referred by the canonical filter name will be provided to the filters as fallback.
         Use of this field is filter specific;
         see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
         [#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 = 15;
        Specified by:
        getTypedPerFilterConfigMap in interface VirtualHostOrBuilder
      • getTypedPerFilterConfigOrDefault

        public com.google.protobuf.Any getTypedPerFilterConfigOrDefault​(String key,
                                                                        com.google.protobuf.Any defaultValue)
         The per_filter_config field can be used to provide virtual host-specific configurations for filters.
         The key should match the :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
         be used for the backwards compatibility. If there is no entry referred by the filter config name, the
         entry referred by the canonical filter name will be provided to the filters as fallback.
         Use of this field is filter specific;
         see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
         [#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 = 15;
        Specified by:
        getTypedPerFilterConfigOrDefault in interface VirtualHostOrBuilder
      • getTypedPerFilterConfigOrThrow

        public com.google.protobuf.Any getTypedPerFilterConfigOrThrow​(String key)
         The per_filter_config field can be used to provide virtual host-specific configurations for filters.
         The key should match the :ref:`filter config name
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
         The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
         be used for the backwards compatibility. If there is no entry referred by the filter config name, the
         entry referred by the canonical filter name will be provided to the filters as fallback.
         Use of this field is filter specific;
         see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
         [#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 = 15;
        Specified by:
        getTypedPerFilterConfigOrThrow in interface VirtualHostOrBuilder
      • getIncludeRequestAttemptCount

        public boolean getIncludeRequestAttemptCount()
         Decides whether the :ref:`x-envoy-attempt-count
         <config_http_filters_router_x-envoy-attempt-count>` header should be included
         in the upstream request. Setting this option will cause it to override any existing header
         value, so in the case of two Envoys on the request path with this option enabled, the upstream
         will see the attempt count as perceived by the second Envoy. Defaults to false.
         This header is unaffected by the
         :ref:`suppress_envoy_headers
         <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
         [#next-major-version: rename to include_attempt_count_in_request.]
         
        bool include_request_attempt_count = 14;
        Specified by:
        getIncludeRequestAttemptCount in interface VirtualHostOrBuilder
        Returns:
        The includeRequestAttemptCount.
      • getIncludeAttemptCountInResponse

        public boolean getIncludeAttemptCountInResponse()
         Decides whether the :ref:`x-envoy-attempt-count
         <config_http_filters_router_x-envoy-attempt-count>` header should be included
         in the downstream response. Setting this option will cause the router to override any existing header
         value, so in the case of two Envoys on the request path with this option enabled, the downstream
         will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false.
         This header is unaffected by the
         :ref:`suppress_envoy_headers
         <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
         
        bool include_attempt_count_in_response = 19;
        Specified by:
        getIncludeAttemptCountInResponse in interface VirtualHostOrBuilder
        Returns:
        The includeAttemptCountInResponse.
      • hasRetryPolicy

        public boolean hasRetryPolicy()
         Indicates the retry policy for all routes in this virtual host. Note that setting a
         route level entry will take precedence over this config and it'll be treated
         independently (e.g.: values are not inherited).
         
        .envoy.config.route.v3.RetryPolicy retry_policy = 16;
        Specified by:
        hasRetryPolicy in interface VirtualHostOrBuilder
        Returns:
        Whether the retryPolicy field is set.
      • getRetryPolicy

        public RetryPolicy getRetryPolicy()
         Indicates the retry policy for all routes in this virtual host. Note that setting a
         route level entry will take precedence over this config and it'll be treated
         independently (e.g.: values are not inherited).
         
        .envoy.config.route.v3.RetryPolicy retry_policy = 16;
        Specified by:
        getRetryPolicy in interface VirtualHostOrBuilder
        Returns:
        The retryPolicy.
      • getRetryPolicyOrBuilder

        public RetryPolicyOrBuilder getRetryPolicyOrBuilder()
         Indicates the retry policy for all routes in this virtual host. Note that setting a
         route level entry will take precedence over this config and it'll be treated
         independently (e.g.: values are not inherited).
         
        .envoy.config.route.v3.RetryPolicy retry_policy = 16;
        Specified by:
        getRetryPolicyOrBuilder in interface VirtualHostOrBuilder
      • hasRetryPolicyTypedConfig

        public boolean hasRetryPolicyTypedConfig()
         [#not-implemented-hide:]
         Specifies the configuration for retry policy extension. Note that setting a route level entry
         will take precedence over this config and it'll be treated independently (e.g.: values are not
         inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
         set if this field is used.
         
        .google.protobuf.Any retry_policy_typed_config = 20;
        Specified by:
        hasRetryPolicyTypedConfig in interface VirtualHostOrBuilder
        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 setting a route level entry
         will take precedence over this config and it'll be treated independently (e.g.: values are not
         inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
         set if this field is used.
         
        .google.protobuf.Any retry_policy_typed_config = 20;
        Specified by:
        getRetryPolicyTypedConfig in interface VirtualHostOrBuilder
        Returns:
        The retryPolicyTypedConfig.
      • getRetryPolicyTypedConfigOrBuilder

        public com.google.protobuf.AnyOrBuilder getRetryPolicyTypedConfigOrBuilder()
         [#not-implemented-hide:]
         Specifies the configuration for retry policy extension. Note that setting a route level entry
         will take precedence over this config and it'll be treated independently (e.g.: values are not
         inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
         set if this field is used.
         
        .google.protobuf.Any retry_policy_typed_config = 20;
        Specified by:
        getRetryPolicyTypedConfigOrBuilder in interface VirtualHostOrBuilder
      • hasHedgePolicy

        public boolean hasHedgePolicy()
         Indicates the hedge policy for all routes in this virtual host. Note that setting a
         route level entry will take precedence over this config and it'll be treated
         independently (e.g.: values are not inherited).
         
        .envoy.config.route.v3.HedgePolicy hedge_policy = 17;
        Specified by:
        hasHedgePolicy in interface VirtualHostOrBuilder
        Returns:
        Whether the hedgePolicy field is set.
      • getHedgePolicy

        public HedgePolicy getHedgePolicy()
         Indicates the hedge policy for all routes in this virtual host. Note that setting a
         route level entry will take precedence over this config and it'll be treated
         independently (e.g.: values are not inherited).
         
        .envoy.config.route.v3.HedgePolicy hedge_policy = 17;
        Specified by:
        getHedgePolicy in interface VirtualHostOrBuilder
        Returns:
        The hedgePolicy.
      • getHedgePolicyOrBuilder

        public HedgePolicyOrBuilder getHedgePolicyOrBuilder()
         Indicates the hedge policy for all routes in this virtual host. Note that setting a
         route level entry will take precedence over this config and it'll be treated
         independently (e.g.: values are not inherited).
         
        .envoy.config.route.v3.HedgePolicy hedge_policy = 17;
        Specified by:
        getHedgePolicyOrBuilder in interface VirtualHostOrBuilder
      • hasPerRequestBufferLimitBytes

        public boolean hasPerRequestBufferLimitBytes()
         The maximum bytes which will be buffered for retries and shadowing.
         If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
         value of this and the listener per_connection_buffer_limit_bytes.
         
        .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
        Specified by:
        hasPerRequestBufferLimitBytes in interface VirtualHostOrBuilder
        Returns:
        Whether the perRequestBufferLimitBytes field is set.
      • getPerRequestBufferLimitBytes

        public com.google.protobuf.UInt32Value getPerRequestBufferLimitBytes()
         The maximum bytes which will be buffered for retries and shadowing.
         If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
         value of this and the listener per_connection_buffer_limit_bytes.
         
        .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
        Specified by:
        getPerRequestBufferLimitBytes in interface VirtualHostOrBuilder
        Returns:
        The perRequestBufferLimitBytes.
      • getPerRequestBufferLimitBytesOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getPerRequestBufferLimitBytesOrBuilder()
         The maximum bytes which will be buffered for retries and shadowing.
         If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
         value of this and the listener per_connection_buffer_limit_bytes.
         
        .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
        Specified by:
        getPerRequestBufferLimitBytesOrBuilder in interface VirtualHostOrBuilder
      • getRequestMirrorPoliciesList

        public List<RouteAction.RequestMirrorPolicy> getRequestMirrorPoliciesList()
         Specify a set of default request mirroring policies for every route under this virtual host.
         It takes precedence over the route config mirror policy entirely.
         That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
        Specified by:
        getRequestMirrorPoliciesList in interface VirtualHostOrBuilder
      • getRequestMirrorPoliciesOrBuilderList

        public List<? extends RouteAction.RequestMirrorPolicyOrBuilder> getRequestMirrorPoliciesOrBuilderList()
         Specify a set of default request mirroring policies for every route under this virtual host.
         It takes precedence over the route config mirror policy entirely.
         That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
        Specified by:
        getRequestMirrorPoliciesOrBuilderList in interface VirtualHostOrBuilder
      • getRequestMirrorPoliciesCount

        public int getRequestMirrorPoliciesCount()
         Specify a set of default request mirroring policies for every route under this virtual host.
         It takes precedence over the route config mirror policy entirely.
         That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
        Specified by:
        getRequestMirrorPoliciesCount in interface VirtualHostOrBuilder
      • getRequestMirrorPolicies

        public RouteAction.RequestMirrorPolicy getRequestMirrorPolicies​(int index)
         Specify a set of default request mirroring policies for every route under this virtual host.
         It takes precedence over the route config mirror policy entirely.
         That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
        Specified by:
        getRequestMirrorPolicies in interface VirtualHostOrBuilder
      • getRequestMirrorPoliciesOrBuilder

        public RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder​(int index)
         Specify a set of default request mirroring policies for every route under this virtual host.
         It takes precedence over the route config mirror policy entirely.
         That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
         
        repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
        Specified by:
        getRequestMirrorPoliciesOrBuilder in interface VirtualHostOrBuilder
      • 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 VirtualHost parseFrom​(ByteBuffer data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

        public static VirtualHost getDefaultInstance()
      • parser

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

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