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 typeenvoy.api.v2.route.VirtualCluster- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVirtualCluster.BuilderA 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<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description static intHEADERS_FIELD_NUMBERstatic intMETHOD_FIELD_NUMBERstatic intNAME_FIELD_NUMBERstatic intPATTERN_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanequals(Object obj)static VirtualClustergetDefaultInstance()VirtualClustergetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()HeaderMatchergetHeaders(int index)Specifies a list of header matchers to use for matching requests.intgetHeadersCount()Specifies a list of header matchers to use for matching requests.List<HeaderMatcher>getHeadersList()Specifies a list of header matchers to use for matching requests.HeaderMatcherOrBuildergetHeadersOrBuilder(int index)Specifies a list of header matchers to use for matching requests.List<? extends HeaderMatcherOrBuilder>getHeadersOrBuilderList()Specifies a list of header matchers to use for matching requests.RequestMethodgetMethod()Deprecated.envoy.api.v2.route.VirtualCluster.method is deprecated.intgetMethodValue()Deprecated.envoy.api.v2.route.VirtualCluster.method is deprecated.StringgetName()Specifies the name of the virtual cluster.com.google.protobuf.ByteStringgetNameBytes()Specifies the name of the virtual cluster.com.google.protobuf.Parser<VirtualCluster>getParserForType()StringgetPattern()Deprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated.com.google.protobuf.ByteStringgetPatternBytes()Deprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated.intgetSerializedSize()com.google.protobuf.UnknownFieldSetgetUnknownFields()inthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static VirtualCluster.BuildernewBuilder()static VirtualCluster.BuildernewBuilder(VirtualCluster prototype)VirtualCluster.BuildernewBuilderForType()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()VirtualCluster.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, 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, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
PATTERN_FIELD_NUMBER
public static final int PATTERN_FIELD_NUMBER
- See Also:
- Constant Field Values
-
HEADERS_FIELD_NUMBER
public static final int HEADERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NAME_FIELD_NUMBER
public static final int NAME_FIELD_NUMBER
- See Also:
- Constant Field Values
-
METHOD_FIELD_NUMBER
public static final int METHOD_FIELD_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
newInstance
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getUnknownFields
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
- Specified by:
getUnknownFieldsin interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getUnknownFieldsin 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 public String getPattern()
Deprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated. See envoy/api/v2/route/route_components.proto;l=1328Specifies 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 public com.google.protobuf.ByteString getPatternBytes()
Deprecated.envoy.api.v2.route.VirtualCluster.pattern is deprecated. See envoy/api/v2/route/route_components.proto;l=1328Specifies 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
public List<HeaderMatcher> 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
public List<? extends HeaderMatcherOrBuilder> 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
public HeaderMatcher getHeaders(int index)
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
public HeaderMatcherOrBuilder getHeadersOrBuilder(int index)
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
public String 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 public int getMethodValue()
Deprecated.envoy.api.v2.route.VirtualCluster.method is deprecated. See envoy/api/v2/route/route_components.proto;l=1349Optionally 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 public RequestMethod getMethod()
Deprecated.envoy.api.v2.route.VirtualCluster.method is deprecated. See envoy/api/v2/route/route_components.proto;l=1349Optionally 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
public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException- 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
public boolean equals(Object obj)
- 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
public static VirtualCluster parseFrom(InputStream input) throws IOException
- Throws:
IOException
-
parseFrom
public static VirtualCluster parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
parseDelimitedFrom
public static VirtualCluster parseDelimitedFrom(InputStream input) throws IOException
- 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
public VirtualCluster.Builder newBuilderForType()
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
public static VirtualCluster.Builder newBuilder()
-
newBuilder
public static VirtualCluster.Builder newBuilder(VirtualCluster prototype)
-
toBuilder
public VirtualCluster.Builder 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
public static VirtualCluster getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<VirtualCluster> parser()
-
getParserForType
public com.google.protobuf.Parser<VirtualCluster> getParserForType()
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
public VirtualCluster getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
-