public static final class RouteOuterClass.VirtualCluster extends com.google.protobuf.GeneratedMessageV3 implements RouteOuterClass.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_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| Modifier and Type | Class and Description |
|---|---|
static class |
RouteOuterClass.VirtualCluster.Builder
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.
|
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| Modifier and Type | Field and Description |
|---|---|
static int |
METHOD_FIELD_NUMBER |
static int |
NAME_FIELD_NUMBER |
static int |
PATTERN_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
static RouteOuterClass.VirtualCluster |
getDefaultInstance() |
RouteOuterClass.VirtualCluster |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
Base.RequestMethod |
getMethod()
Optionally specifies the HTTP method to match on.
|
int |
getMethodValue()
Optionally specifies the HTTP method to match on.
|
String |
getName()
Specifies the name of the virtual cluster.
|
com.google.protobuf.ByteString |
getNameBytes()
Specifies the name of the virtual cluster.
|
com.google.protobuf.Parser<RouteOuterClass.VirtualCluster> |
getParserForType() |
String |
getPattern()
Specifies a regex pattern to use for matching requests.
|
com.google.protobuf.ByteString |
getPatternBytes()
Specifies a regex pattern to use for matching requests.
|
int |
getSerializedSize() |
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
int |
hashCode() |
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static RouteOuterClass.VirtualCluster.Builder |
newBuilder() |
static RouteOuterClass.VirtualCluster.Builder |
newBuilder(RouteOuterClass.VirtualCluster prototype) |
RouteOuterClass.VirtualCluster.Builder |
newBuilderForType() |
protected RouteOuterClass.VirtualCluster.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
static RouteOuterClass.VirtualCluster |
parseDelimitedFrom(InputStream input) |
static RouteOuterClass.VirtualCluster |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteOuterClass.VirtualCluster |
parseFrom(byte[] data) |
static RouteOuterClass.VirtualCluster |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteOuterClass.VirtualCluster |
parseFrom(ByteBuffer data) |
static RouteOuterClass.VirtualCluster |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteOuterClass.VirtualCluster |
parseFrom(com.google.protobuf.ByteString data) |
static RouteOuterClass.VirtualCluster |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteOuterClass.VirtualCluster |
parseFrom(com.google.protobuf.CodedInputStream input) |
static RouteOuterClass.VirtualCluster |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteOuterClass.VirtualCluster |
parseFrom(InputStream input) |
static RouteOuterClass.VirtualCluster |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<RouteOuterClass.VirtualCluster> |
parser() |
RouteOuterClass.VirtualCluster.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int PATTERN_FIELD_NUMBER
public static final int NAME_FIELD_NUMBER
public static final int METHOD_FIELD_NUMBER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public String getPattern()
Specifies 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 <http://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*
string pattern = 1 [(.validate.rules) = { ... }getPattern in interface RouteOuterClass.VirtualClusterOrBuilderpublic com.google.protobuf.ByteString getPatternBytes()
Specifies 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 <http://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*
string pattern = 1 [(.validate.rules) = { ... }getPatternBytes in interface RouteOuterClass.VirtualClusterOrBuilderpublic 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) = { ... }getName in interface RouteOuterClass.VirtualClusterOrBuilderpublic 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) = { ... }getNameBytes in interface RouteOuterClass.VirtualClusterOrBuilderpublic int getMethodValue()
Optionally specifies the HTTP method to match on. For example GET, PUT, etc. [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
.envoy.api.v2.core.RequestMethod method = 3;getMethodValue in interface RouteOuterClass.VirtualClusterOrBuilderpublic Base.RequestMethod getMethod()
Optionally specifies the HTTP method to match on. For example GET, PUT, etc. [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
.envoy.api.v2.core.RequestMethod method = 3;getMethod in interface RouteOuterClass.VirtualClusterOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static RouteOuterClass.VirtualCluster parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(InputStream input) throws IOException
IOExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RouteOuterClass.VirtualCluster parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static RouteOuterClass.VirtualCluster parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static RouteOuterClass.VirtualCluster parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic RouteOuterClass.VirtualCluster.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static RouteOuterClass.VirtualCluster.Builder newBuilder()
public static RouteOuterClass.VirtualCluster.Builder newBuilder(RouteOuterClass.VirtualCluster prototype)
public RouteOuterClass.VirtualCluster.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected RouteOuterClass.VirtualCluster.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static RouteOuterClass.VirtualCluster getDefaultInstance()
public static com.google.protobuf.Parser<RouteOuterClass.VirtualCluster> parser()
public com.google.protobuf.Parser<RouteOuterClass.VirtualCluster> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public RouteOuterClass.VirtualCluster getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018 The Envoy Project. All rights reserved.