Class ScopedRouteConfiguration.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
io.envoyproxy.envoy.api.v2.ScopedRouteConfiguration.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ScopedRouteConfigurationOrBuilder, Cloneable
Enclosing class:
ScopedRouteConfiguration

public static final class ScopedRouteConfiguration.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder> implements ScopedRouteConfigurationOrBuilder
 Specifies a routing scope, which associates a
 :ref:`Key<envoy_api_msg_ScopedRouteConfiguration.Key>` to a
 :ref:`envoy_api_msg_RouteConfiguration` (identified by its resource name).

 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_api_field_config.filter.network.http_connection_manager.v2.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_api_field_config.filter.network.http_connection_manager.v2.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.
 
Protobuf type envoy.api.v2.ScopedRouteConfiguration
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • getDefaultInstanceForType

      public ScopedRouteConfiguration getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

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

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

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • setField

      public ScopedRouteConfiguration.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • clearField

      public ScopedRouteConfiguration.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • clearOneof

      public ScopedRouteConfiguration.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • setRepeatedField

      public ScopedRouteConfiguration.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • addRepeatedField

      public ScopedRouteConfiguration.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • mergeFrom

      public ScopedRouteConfiguration.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<ScopedRouteConfiguration.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • mergeFrom

      public ScopedRouteConfiguration.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<ScopedRouteConfiguration.Builder>
      Throws:
      IOException
    • 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.
    • setName

      public ScopedRouteConfiguration.Builder setName(String value)
       The name assigned to the routing scope.
       
      string name = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

       The name assigned to the routing scope.
       
      string name = 1 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • setNameBytes

      public ScopedRouteConfiguration.Builder setNameBytes(com.google.protobuf.ByteString value)
       The name assigned to the routing scope.
       
      string name = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • getRouteConfigurationName

      public String getRouteConfigurationName()
       The resource name to use for a :ref:`envoy_api_msg_DiscoveryRequest` to an
       RDS server to fetch the :ref:`envoy_api_msg_RouteConfiguration` associated
       with this scope.
       
      string route_configuration_name = 2 [(.validate.rules) = { ... }
      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_api_msg_DiscoveryRequest` to an
       RDS server to fetch the :ref:`envoy_api_msg_RouteConfiguration` associated
       with this scope.
       
      string route_configuration_name = 2 [(.validate.rules) = { ... }
      Specified by:
      getRouteConfigurationNameBytes in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The bytes for routeConfigurationName.
    • setRouteConfigurationName

      public ScopedRouteConfiguration.Builder setRouteConfigurationName(String value)
       The resource name to use for a :ref:`envoy_api_msg_DiscoveryRequest` to an
       RDS server to fetch the :ref:`envoy_api_msg_RouteConfiguration` associated
       with this scope.
       
      string route_configuration_name = 2 [(.validate.rules) = { ... }
      Parameters:
      value - The routeConfigurationName to set.
      Returns:
      This builder for chaining.
    • clearRouteConfigurationName

      public ScopedRouteConfiguration.Builder clearRouteConfigurationName()
       The resource name to use for a :ref:`envoy_api_msg_DiscoveryRequest` to an
       RDS server to fetch the :ref:`envoy_api_msg_RouteConfiguration` associated
       with this scope.
       
      string route_configuration_name = 2 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • setRouteConfigurationNameBytes

      public ScopedRouteConfiguration.Builder setRouteConfigurationNameBytes(com.google.protobuf.ByteString value)
       The resource name to use for a :ref:`envoy_api_msg_DiscoveryRequest` to an
       RDS server to fetch the :ref:`envoy_api_msg_RouteConfiguration` associated
       with this scope.
       
      string route_configuration_name = 2 [(.validate.rules) = { ... }
      Parameters:
      value - The bytes for routeConfigurationName to set.
      Returns:
      This builder for chaining.
    • hasKey

      public boolean hasKey()
       The key to match against.
       
      .envoy.api.v2.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.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
      Specified by:
      getKey in interface ScopedRouteConfigurationOrBuilder
      Returns:
      The key.
    • setKey

       The key to match against.
       
      .envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
    • setKey

       The key to match against.
       
      .envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
    • mergeKey

       The key to match against.
       
      .envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
    • clearKey

       The key to match against.
       
      .envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
    • getKeyBuilder

      public ScopedRouteConfiguration.Key.Builder getKeyBuilder()
       The key to match against.
       
      .envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
    • getKeyOrBuilder

      public ScopedRouteConfiguration.KeyOrBuilder getKeyOrBuilder()
       The key to match against.
       
      .envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
      Specified by:
      getKeyOrBuilder in interface ScopedRouteConfigurationOrBuilder
    • setUnknownFields

      public final ScopedRouteConfiguration.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>
    • mergeUnknownFields

      public final ScopedRouteConfiguration.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ScopedRouteConfiguration.Builder>