Package io.envoyproxy.envoy.api.v2
Class ScopedRouteConfiguration
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.api.v2.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.GeneratedMessageV3
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- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classSpecifies 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).static final classSpecifies a key which is matched against the output of the :ref:`scope_key_builder<envoy_api_field_config.filter.network.http_connection_manager.v2.ScopedRoutes.scope_key_builder>` specified in the HttpConnectionManager.static interfaceNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic ScopedRouteConfigurationstatic final com.google.protobuf.Descriptors.DescriptorgetKey()The key to match against.The key to match against.getName()The name assigned to the routing scope.com.google.protobuf.ByteStringThe name assigned to the routing scope.com.google.protobuf.Parser<ScopedRouteConfiguration>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.com.google.protobuf.ByteStringThe 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.intinthashCode()booleanhasKey()The key to match against.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleannewBuilder(ScopedRouteConfiguration prototype) protected ScopedRouteConfiguration.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static ScopedRouteConfigurationparseDelimitedFrom(InputStream input) static ScopedRouteConfigurationparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ScopedRouteConfigurationparseFrom(byte[] data) static ScopedRouteConfigurationparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ScopedRouteConfigurationparseFrom(com.google.protobuf.ByteString data) static ScopedRouteConfigurationparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ScopedRouteConfigurationparseFrom(com.google.protobuf.CodedInputStream input) static ScopedRouteConfigurationparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ScopedRouteConfigurationparseFrom(InputStream input) static ScopedRouteConfigurationparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ScopedRouteConfigurationparseFrom(ByteBuffer data) static ScopedRouteConfigurationparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<ScopedRouteConfiguration>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
NAME_FIELD_NUMBER
public static final int NAME_FIELD_NUMBER- See Also:
-
ROUTE_CONFIGURATION_NAME_FIELD_NUMBER
public static final int ROUTE_CONFIGURATION_NAME_FIELD_NUMBER- See Also:
-
KEY_FIELD_NUMBER
public static final int KEY_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getName
The name assigned to the routing scope.
string name = 1 [(.validate.rules) = { ... }- Specified by:
getNamein interfaceScopedRouteConfigurationOrBuilder- Returns:
- The name.
-
getNameBytes
public com.google.protobuf.ByteString getNameBytes()The name assigned to the routing scope.
string name = 1 [(.validate.rules) = { ... }- Specified by:
getNameBytesin interfaceScopedRouteConfigurationOrBuilder- Returns:
- The bytes for name.
-
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:
getRouteConfigurationNamein interfaceScopedRouteConfigurationOrBuilder- 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:
getRouteConfigurationNameBytesin interfaceScopedRouteConfigurationOrBuilder- Returns:
- The bytes for routeConfigurationName.
-
hasKey
public boolean hasKey()The key to match against.
.envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }- Specified by:
hasKeyin interfaceScopedRouteConfigurationOrBuilder- Returns:
- Whether the key field is set.
-
getKey
The key to match against.
.envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }- Specified by:
getKeyin interfaceScopedRouteConfigurationOrBuilder- Returns:
- The key.
-
getKeyOrBuilder
The key to match against.
.envoy.api.v2.ScopedRouteConfiguration.Key key = 3 [(.validate.rules) = { ... }- Specified by:
getKeyOrBuilderin interfaceScopedRouteConfigurationOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.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
- Throws:
IOException
-
parseFrom
public static ScopedRouteConfiguration parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- 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
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected ScopedRouteConfiguration.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-