public static final class VirtualCluster.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<VirtualCluster.Builder> 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_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 |
|---|---|
VirtualCluster.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
VirtualCluster |
build() |
VirtualCluster |
buildPartial() |
VirtualCluster.Builder |
clear() |
VirtualCluster.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
VirtualCluster.Builder |
clearMethod()
Optionally specifies the HTTP method to match on.
|
VirtualCluster.Builder |
clearName()
Specifies the name of the virtual cluster.
|
VirtualCluster.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
VirtualCluster.Builder |
clearPattern()
Specifies a regex pattern to use for matching requests.
|
VirtualCluster.Builder |
clone() |
VirtualCluster |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
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() |
VirtualCluster.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
VirtualCluster.Builder |
mergeFrom(com.google.protobuf.Message other) |
VirtualCluster.Builder |
mergeFrom(VirtualCluster other) |
VirtualCluster.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
VirtualCluster.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
VirtualCluster.Builder |
setMethod(RequestMethod value)
Optionally specifies the HTTP method to match on.
|
VirtualCluster.Builder |
setMethodValue(int value)
Optionally specifies the HTTP method to match on.
|
VirtualCluster.Builder |
setName(String value)
Specifies the name of the virtual cluster.
|
VirtualCluster.Builder |
setNameBytes(com.google.protobuf.ByteString value)
Specifies the name of the virtual cluster.
|
VirtualCluster.Builder |
setPattern(String value)
Specifies a regex pattern to use for matching requests.
|
VirtualCluster.Builder |
setPatternBytes(com.google.protobuf.ByteString value)
Specifies a regex pattern to use for matching requests.
|
VirtualCluster.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
Object value) |
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<VirtualCluster.Builder>public 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<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<VirtualCluster.Builder>public VirtualCluster getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic VirtualCluster build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic VirtualCluster buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic 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<VirtualCluster.Builder>public 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<VirtualCluster.Builder>public VirtualCluster.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<VirtualCluster.Builder>public VirtualCluster.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<VirtualCluster.Builder>public 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<VirtualCluster.Builder>public 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<VirtualCluster.Builder>public VirtualCluster.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<VirtualCluster.Builder>public VirtualCluster.Builder mergeFrom(VirtualCluster other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<VirtualCluster.Builder>public 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<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 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 VirtualClusterOrBuilderpublic 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 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 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 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 VirtualClusterOrBuilderpublic 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 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 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 VirtualClusterOrBuilderpublic 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 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 VirtualClusterOrBuilderpublic VirtualCluster.Builder setMethod(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 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 VirtualCluster.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<VirtualCluster.Builder>public final VirtualCluster.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<VirtualCluster.Builder>Copyright © 2018–2019 The Envoy Project. All rights reserved.