Package io.envoyproxy.envoy.api.v2.route
Class VirtualCluster
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.api.v2.route.VirtualCluster
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,VirtualClusterOrBuilder,Serializable
public final class VirtualCluster
extends com.google.protobuf.GeneratedMessageV3
implements VirtualClusterOrBuilder
A virtual cluster is a way of specifying a regex matching rule against
certain important endpoints such that statistics are generated explicitly for
the matched requests. The reason this is useful is that when doing
prefix/path matching Envoy does not always know what the application
considers to be an endpoint. Thus, it’s impossible for Envoy to generically
emit per endpoint statistics. However, often systems have highly critical
endpoints that they wish to get “perfect” statistics on. Virtual cluster
statistics are perfect in the sense that they are emitted on the downstream
side such that they include network level failures.
Documentation for :ref:`virtual cluster statistics <config_http_filters_router_vcluster_stats>`.
.. note::
Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for
every application endpoint. This is both not easily maintainable and as well the matching and
statistics output are not free.
Protobuf type envoy.api.v2.route.VirtualCluster- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA virtual cluster is a way of specifying a regex matching rule against certain important endpoints such that statistics are generated explicitly for the matched requests.Nested 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 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 VirtualClusterstatic final com.google.protobuf.Descriptors.DescriptorgetHeaders(int index) Specifies a list of header matchers to use for matching requests.intSpecifies a list of header matchers to use for matching requests.Specifies a list of header matchers to use for matching requests.getHeadersOrBuilder(int index) Specifies a list of header matchers to use for matching requests.List<? extends HeaderMatcherOrBuilder>Specifies a list of header matchers to use for matching requests.Deprecated.envoy.api.v2.route.VirtualCluster.method is deprecated.intDeprecated.envoy.api.v2.route.VirtualCluster.method is deprecated.getName()Specifies the name of the virtual cluster.com.google.protobuf.ByteStringSpecifies the name of the virtual cluster.com.google.protobuf.Parser<VirtualCluster>Deprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated.com.google.protobuf.ByteStringDeprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated.intinthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic VirtualCluster.Builderstatic VirtualCluster.BuildernewBuilder(VirtualCluster prototype) protected VirtualCluster.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static VirtualClusterparseDelimitedFrom(InputStream input) static VirtualClusterparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static VirtualClusterparseFrom(byte[] data) static VirtualClusterparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static VirtualClusterparseFrom(com.google.protobuf.ByteString data) static VirtualClusterparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static VirtualClusterparseFrom(com.google.protobuf.CodedInputStream input) static VirtualClusterparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static VirtualClusterparseFrom(InputStream input) static VirtualClusterparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static VirtualClusterparseFrom(ByteBuffer data) static VirtualClusterparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<VirtualCluster>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
-
PATTERN_FIELD_NUMBER
public static final int PATTERN_FIELD_NUMBER- See Also:
-
HEADERS_FIELD_NUMBER
public static final int HEADERS_FIELD_NUMBER- See Also:
-
NAME_FIELD_NUMBER
public static final int NAME_FIELD_NUMBER- See Also:
-
METHOD_FIELD_NUMBER
public static final int METHOD_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
-
getPattern
Deprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated. See envoy/api/v2/route/route_components.proto;l=1329Specifies a regex pattern to use for matching requests. The entire path of the request must match the regex. The regex grammar used is defined `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_. Examples: * The regex ``/rides/\d+`` matches the path */rides/0* * The regex ``/rides/\d+`` matches the path */rides/123* * The regex ``/rides/\d+`` does not match the path */rides/123/456* .. attention:: This field has been deprecated in favor of `headers` as it is not safe for use with untrusted input in all cases.
string pattern = 1 [deprecated = true, (.validate.rules) = { ... }- Specified by:
getPatternin interfaceVirtualClusterOrBuilder- Returns:
- The pattern.
-
getPatternBytes
Deprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated. See envoy/api/v2/route/route_components.proto;l=1329Specifies a regex pattern to use for matching requests. The entire path of the request must match the regex. The regex grammar used is defined `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_. Examples: * The regex ``/rides/\d+`` matches the path */rides/0* * The regex ``/rides/\d+`` matches the path */rides/123* * The regex ``/rides/\d+`` does not match the path */rides/123/456* .. attention:: This field has been deprecated in favor of `headers` as it is not safe for use with untrusted input in all cases.
string pattern = 1 [deprecated = true, (.validate.rules) = { ... }- Specified by:
getPatternBytesin interfaceVirtualClusterOrBuilder- Returns:
- The bytes for pattern.
-
getHeadersList
Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively.
repeated .envoy.api.v2.route.HeaderMatcher headers = 4;- Specified by:
getHeadersListin interfaceVirtualClusterOrBuilder
-
getHeadersOrBuilderList
Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively.
repeated .envoy.api.v2.route.HeaderMatcher headers = 4;- Specified by:
getHeadersOrBuilderListin interfaceVirtualClusterOrBuilder
-
getHeadersCount
public int getHeadersCount()Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively.
repeated .envoy.api.v2.route.HeaderMatcher headers = 4;- Specified by:
getHeadersCountin interfaceVirtualClusterOrBuilder
-
getHeaders
Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively.
repeated .envoy.api.v2.route.HeaderMatcher headers = 4;- Specified by:
getHeadersin interfaceVirtualClusterOrBuilder
-
getHeadersOrBuilder
Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively.
repeated .envoy.api.v2.route.HeaderMatcher headers = 4;- Specified by:
getHeadersOrBuilderin interfaceVirtualClusterOrBuilder
-
getName
Specifies the name of the virtual cluster. The virtual cluster name as well as the virtual host name are used when emitting statistics. The statistics are emitted by the router filter and are documented :ref:`here <config_http_filters_router_stats>`.
string name = 2 [(.validate.rules) = { ... }- Specified by:
getNamein interfaceVirtualClusterOrBuilder- Returns:
- The name.
-
getNameBytes
public com.google.protobuf.ByteString getNameBytes()Specifies the name of the virtual cluster. The virtual cluster name as well as the virtual host name are used when emitting statistics. The statistics are emitted by the router filter and are documented :ref:`here <config_http_filters_router_stats>`.
string name = 2 [(.validate.rules) = { ... }- Specified by:
getNameBytesin interfaceVirtualClusterOrBuilder- Returns:
- The bytes for name.
-
getMethodValue
Deprecated.envoy.api.v2.route.VirtualCluster.method is deprecated. See envoy/api/v2/route/route_components.proto;l=1350Optionally specifies the HTTP method to match on. For example GET, PUT, etc. .. attention:: This field has been deprecated in favor of `headers`.
.envoy.api.v2.core.RequestMethod method = 3 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];- Specified by:
getMethodValuein interfaceVirtualClusterOrBuilder- Returns:
- The enum numeric value on the wire for method.
-
getMethod
Deprecated.envoy.api.v2.route.VirtualCluster.method is deprecated. See envoy/api/v2/route/route_components.proto;l=1350Optionally specifies the HTTP method to match on. For example GET, PUT, etc. .. attention:: This field has been deprecated in favor of `headers`.
.envoy.api.v2.core.RequestMethod method = 3 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];- Specified by:
getMethodin interfaceVirtualClusterOrBuilder- Returns:
- The method.
-
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 VirtualCluster parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static VirtualCluster parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static VirtualCluster parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static VirtualCluster parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static VirtualCluster parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static VirtualCluster parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static VirtualCluster parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static VirtualCluster parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static VirtualCluster parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static VirtualCluster 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 VirtualCluster.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
-