public static final class RouteOuterClass.VirtualCluster.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder> 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 | Method and Description |
|---|---|
RouteOuterClass.VirtualCluster.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
RouteOuterClass.VirtualCluster |
build() |
RouteOuterClass.VirtualCluster |
buildPartial() |
RouteOuterClass.VirtualCluster.Builder |
clear() |
RouteOuterClass.VirtualCluster.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
RouteOuterClass.VirtualCluster.Builder |
clearMethod()
Optionally specifies the HTTP method to match on.
|
RouteOuterClass.VirtualCluster.Builder |
clearName()
Specifies the name of the virtual cluster.
|
RouteOuterClass.VirtualCluster.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
RouteOuterClass.VirtualCluster.Builder |
clearPattern()
Specifies a regex pattern to use for matching requests.
|
RouteOuterClass.VirtualCluster.Builder |
clone() |
RouteOuterClass.VirtualCluster |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
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.
|
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.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
RouteOuterClass.VirtualCluster.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
RouteOuterClass.VirtualCluster.Builder |
mergeFrom(com.google.protobuf.Message other) |
RouteOuterClass.VirtualCluster.Builder |
mergeFrom(RouteOuterClass.VirtualCluster other) |
RouteOuterClass.VirtualCluster.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
RouteOuterClass.VirtualCluster.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
RouteOuterClass.VirtualCluster.Builder |
setMethod(Base.RequestMethod value)
Optionally specifies the HTTP method to match on.
|
RouteOuterClass.VirtualCluster.Builder |
setMethodValue(int value)
Optionally specifies the HTTP method to match on.
|
RouteOuterClass.VirtualCluster.Builder |
setName(String value)
Specifies the name of the virtual cluster.
|
RouteOuterClass.VirtualCluster.Builder |
setNameBytes(com.google.protobuf.ByteString value)
Specifies the name of the virtual cluster.
|
RouteOuterClass.VirtualCluster.Builder |
setPattern(String value)
Specifies a regex pattern to use for matching requests.
|
RouteOuterClass.VirtualCluster.Builder |
setPatternBytes(com.google.protobuf.ByteString value)
Specifies a regex pattern to use for matching requests.
|
RouteOuterClass.VirtualCluster.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
Object value) |
RouteOuterClass.VirtualCluster.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringaddAll, addAll, mergeFrom, newUninitializedMessageExceptionequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType in interface com.google.protobuf.Message.BuildergetDescriptorForType in interface com.google.protobuf.MessageOrBuildergetDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic RouteOuterClass.VirtualCluster build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic RouteOuterClass.VirtualCluster buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic RouteOuterClass.VirtualCluster.Builder clone()
clone in interface com.google.protobuf.Message.Builderclone in interface com.google.protobuf.MessageLite.Builderclone in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
setField in interface com.google.protobuf.Message.BuildersetField in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
setRepeatedField in interface com.google.protobuf.Message.BuildersetRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
addRepeatedField in interface com.google.protobuf.Message.BuilderaddRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder mergeFrom(RouteOuterClass.VirtualCluster other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public RouteOuterClass.VirtualCluster.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in interface com.google.protobuf.MessageLite.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<RouteOuterClass.VirtualCluster.Builder>IOExceptionpublic 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 RouteOuterClass.VirtualCluster.Builder setPattern(String value)
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) = { ... }public RouteOuterClass.VirtualCluster.Builder clearPattern()
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) = { ... }public RouteOuterClass.VirtualCluster.Builder setPatternBytes(com.google.protobuf.ByteString value)
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) = { ... }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) = { ... }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 RouteOuterClass.VirtualCluster.Builder setName(String value)
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) = { ... }public RouteOuterClass.VirtualCluster.Builder clearName()
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) = { ... }public RouteOuterClass.VirtualCluster.Builder setNameBytes(com.google.protobuf.ByteString value)
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) = { ... }public 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 RouteOuterClass.VirtualCluster.Builder setMethodValue(int value)
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;public 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 RouteOuterClass.VirtualCluster.Builder setMethod(Base.RequestMethod value)
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;public RouteOuterClass.VirtualCluster.Builder clearMethod()
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;public final RouteOuterClass.VirtualCluster.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>public final RouteOuterClass.VirtualCluster.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RouteOuterClass.VirtualCluster.Builder>Copyright © 2018 The Envoy Project. All rights reserved.