Class ScopedRouteConfiguration.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<ScopedRouteConfiguration.Builder>
com.google.protobuf.GeneratedMessage.Builder<ScopedRouteConfiguration.Builder>
io.envoyproxy.envoy.config.route.v3.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.GeneratedMessage.Builder<ScopedRouteConfiguration.Builder> 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
  • Field Details

  • Constructor Details

    • Builder

      private Builder()
    • Builder

      private Builder(com.google.protobuf.AbstractMessage.BuilderParent parent)
  • 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.Builder<ScopedRouteConfiguration.Builder>
    • maybeForceBuilderInitialization

      private void maybeForceBuilderInitialization()
    • 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.GeneratedMessage.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.GeneratedMessage.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
    • buildPartial0

      private void buildPartial0(ScopedRouteConfiguration result)
    • 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.GeneratedMessage.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
    • 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.
    • setOnDemand

      public ScopedRouteConfiguration.Builder setOnDemand(boolean value)
       Whether the RouteConfiguration should be loaded on demand.
       
      bool on_demand = 4;
      Parameters:
      value - The onDemand to set.
      Returns:
      This builder for chaining.
    • clearOnDemand

      public ScopedRouteConfiguration.Builder clearOnDemand()
       Whether the RouteConfiguration should be loaded on demand.
       
      bool on_demand = 4;
      Returns:
      This builder for chaining.
    • 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_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.
    • setRouteConfigurationName

      public ScopedRouteConfiguration.Builder setRouteConfigurationName(String value)
       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) = { ... }
      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_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) = { ... }
      Returns:
      This builder for chaining.
    • setRouteConfigurationNameBytes

      public ScopedRouteConfiguration.Builder setRouteConfigurationNameBytes(com.google.protobuf.ByteString value)
       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) = { ... }
      Parameters:
      value - The bytes for routeConfigurationName to set.
      Returns:
      This builder for chaining.
    • 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.
    • setRouteConfiguration

      public ScopedRouteConfiguration.Builder setRouteConfiguration(RouteConfiguration value)
       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) = { ... }
    • setRouteConfiguration

      public ScopedRouteConfiguration.Builder setRouteConfiguration(RouteConfiguration.Builder builderForValue)
       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) = { ... }
    • mergeRouteConfiguration

      public ScopedRouteConfiguration.Builder mergeRouteConfiguration(RouteConfiguration value)
       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) = { ... }
    • clearRouteConfiguration

      public ScopedRouteConfiguration.Builder clearRouteConfiguration()
       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) = { ... }
    • getRouteConfigurationBuilder

      public RouteConfiguration.Builder getRouteConfigurationBuilder()
       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) = { ... }
    • 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
    • getRouteConfigurationFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<RouteConfiguration,RouteConfiguration.Builder,RouteConfigurationOrBuilder> getRouteConfigurationFieldBuilder()
       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) = { ... }
    • 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.
    • setKey

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

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

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

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

      public ScopedRouteConfiguration.Key.Builder getKeyBuilder()
       The key to match against.
       
      .envoy.config.route.v3.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }
    • 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
    • getKeyFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<ScopedRouteConfiguration.Key,ScopedRouteConfiguration.Key.Builder,ScopedRouteConfiguration.KeyOrBuilder> getKeyFieldBuilder()
       The key to match against.
       
      .envoy.config.route.v3.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }