Class ScopedRouteConfiguration

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.route.v3.ScopedRouteConfiguration
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ScopedRouteConfigurationOrBuilder, Serializable

public final class ScopedRouteConfiguration extends com.google.protobuf.GeneratedMessage implements ScopedRouteConfigurationOrBuilder
 Specifies a routing scope, which associates a
 :ref:`Key<envoy_v3_api_msg_config.route.v3.ScopedRouteConfiguration.Key>` to a
 :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`.
 The :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` can be obtained dynamically
 via RDS (:ref:`route_configuration_name<envoy_v3_api_field_config.route.v3.ScopedRouteConfiguration.route_configuration_name>`)
 or specified inline (:ref:`route_configuration<envoy_v3_api_field_config.route.v3.ScopedRouteConfiguration.route_configuration>`).

 The HTTP connection manager builds up a table consisting of these Key to
 RouteConfiguration mappings, and looks up the RouteConfiguration to use per
 request according to the algorithm specified in the
 :ref:`scope_key_builder<envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scope_key_builder>`
 assigned to the HttpConnectionManager.

 For example, with the following configurations (in YAML):

 HttpConnectionManager config:

 .. code::

 ...
 scoped_routes:
 name: foo-scoped-routes
 scope_key_builder:
 fragments:
 - header_value_extractor:
 name: X-Route-Selector
 element_separator: ","
 element:
 separator: =
 key: vip

 ScopedRouteConfiguration resources (specified statically via
 :ref:`scoped_route_configurations_list<envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_route_configurations_list>`
 or obtained dynamically via SRDS):

 .. code::

 (1)
 name: route-scope1
 route_configuration_name: route-config1
 key:
 fragments:
 - string_key: 172.10.10.20

 (2)
 name: route-scope2
 route_configuration_name: route-config2
 key:
 fragments:
 - string_key: 172.20.20.30

 A request from a client such as:

 .. code::

 GET / HTTP/1.1
 Host: foo.com
 X-Route-Selector: vip=172.10.10.20

 would result in the routing table defined by the ``route-config1``
 RouteConfiguration being assigned to the HTTP request/stream.

 [#next-free-field: 6]
 
Protobuf type envoy.config.route.v3.ScopedRouteConfiguration
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • ON_DEMAND_FIELD_NUMBER

      public static final int ON_DEMAND_FIELD_NUMBER
      See Also:
    • onDemand_

      private boolean onDemand_
    • NAME_FIELD_NUMBER

      public static final int NAME_FIELD_NUMBER
      See Also:
    • name_

      private volatile Object name_
    • ROUTE_CONFIGURATION_NAME_FIELD_NUMBER

      public static final int ROUTE_CONFIGURATION_NAME_FIELD_NUMBER
      See Also:
    • routeConfigurationName_

      private volatile Object routeConfigurationName_
    • ROUTE_CONFIGURATION_FIELD_NUMBER

      public static final int ROUTE_CONFIGURATION_FIELD_NUMBER
      See Also:
    • routeConfiguration_

      private RouteConfiguration routeConfiguration_
    • KEY_FIELD_NUMBER

      public static final int KEY_FIELD_NUMBER
      See Also:
    • key_

    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final ScopedRouteConfiguration DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<ScopedRouteConfiguration> PARSER
  • Constructor Details

    • ScopedRouteConfiguration

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

      private ScopedRouteConfiguration()
  • Method Details

    • getDescriptor

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

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

      public boolean getOnDemand()
       Whether the RouteConfiguration should be loaded on demand.
       
      bool on_demand = 4;
      Specified by:
      getOnDemand in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The onDemand.
    • getName

      public String getName()
       The name assigned to the routing scope.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getName in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The name assigned to the routing scope.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getNameBytes in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The bytes for name.
    • getRouteConfigurationName

      public String getRouteConfigurationName()
       The resource name to use for a :ref:`envoy_v3_api_msg_service.discovery.v3.DiscoveryRequest` to an
       RDS server to fetch the :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` associated
       with this scope.
       
      string route_configuration_name = 2 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      getRouteConfigurationName in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The routeConfigurationName.
    • getRouteConfigurationNameBytes

      public com.google.protobuf.ByteString getRouteConfigurationNameBytes()
       The resource name to use for a :ref:`envoy_v3_api_msg_service.discovery.v3.DiscoveryRequest` to an
       RDS server to fetch the :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` associated
       with this scope.
       
      string route_configuration_name = 2 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      getRouteConfigurationNameBytes in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The bytes for routeConfigurationName.
    • hasRouteConfiguration

      public boolean hasRouteConfiguration()
       The :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` associated with the scope.
       
      .envoy.config.route.v3.RouteConfiguration route_configuration = 5 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      hasRouteConfiguration in interface ScopedRouteConfigurationOrBuilder
      Returns:
      Whether the routeConfiguration field is set.
    • getRouteConfiguration

      public RouteConfiguration getRouteConfiguration()
       The :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` associated with the scope.
       
      .envoy.config.route.v3.RouteConfiguration route_configuration = 5 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      getRouteConfiguration in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The routeConfiguration.
    • getRouteConfigurationOrBuilder

      public RouteConfigurationOrBuilder getRouteConfigurationOrBuilder()
       The :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` associated with the scope.
       
      .envoy.config.route.v3.RouteConfiguration route_configuration = 5 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      getRouteConfigurationOrBuilder in interface ScopedRouteConfigurationOrBuilder
    • hasKey

      public boolean hasKey()
       The key to match against.
       
      .envoy.config.route.v3.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
      Specified by:
      hasKey in interface ScopedRouteConfigurationOrBuilder
      Returns:
      Whether the key field is set.
    • getKey

       The key to match against.
       
      .envoy.config.route.v3.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
      Specified by:
      getKey in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The key.
    • getKeyOrBuilder

      public ScopedRouteConfiguration.KeyOrBuilder getKeyOrBuilder()
       The key to match against.
       
      .envoy.config.route.v3.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
      Specified by:
      getKeyOrBuilder in interface ScopedRouteConfigurationOrBuilder
    • 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 IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      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(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 ScopedRouteConfiguration parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

      public static ScopedRouteConfiguration parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

      public static ScopedRouteConfiguration parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

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

      public static ScopedRouteConfiguration parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

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

      public static ScopedRouteConfiguration.Builder newBuilder()
    • newBuilder

      public static ScopedRouteConfiguration.Builder newBuilder(ScopedRouteConfiguration prototype)
    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

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

      public static ScopedRouteConfiguration getDefaultInstance()
    • parser

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

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