public static final class Metadata.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder> implements MetadataOrBuilder
Metadata provides additional inputs to filters based on matched listeners,
filter chains, routes and endpoints. It is structured as a map, usually from
filter name (in reverse DNS format) to metadata specific to the filter. Metadata
key-values for a filter are merged as connection and request handling occurs,
with later values for the same key overriding earlier values.
An example use of metadata is providing additional values to
http_connection_manager in the envoy.http_connection_manager.access_log
namespace.
Another example use of metadata is to per service config info in cluster metadata, which may get
consumed by multiple filters.
For load balancing, Metadata provides a means to subset cluster endpoints.
Endpoints have a Metadata object associated and routes contain a Metadata
object to match against. There are some well defined metadata used today for
this purpose:
* ``{"envoy.lb": {"canary": <bool> }}`` This indicates the canary status of an
endpoint and is also used during header processing
(x-envoy-upstream-canary) and for stats purposes.
[#next-major-version: move to type/metadata/v2]
Protobuf type envoy.config.core.v4alpha.Metadata| Modifier and Type | Method and Description |
|---|---|
Metadata.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
Metadata |
build() |
Metadata |
buildPartial() |
Metadata.Builder |
clear() |
Metadata.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
Metadata.Builder |
clearFilterMetadata() |
Metadata.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
Metadata.Builder |
clone() |
boolean |
containsFilterMetadata(String key)
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
Metadata |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
Map<String,com.google.protobuf.Struct> |
getFilterMetadata()
Deprecated.
|
int |
getFilterMetadataCount()
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
Map<String,com.google.protobuf.Struct> |
getFilterMetadataMap()
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
com.google.protobuf.Struct |
getFilterMetadataOrDefault(String key,
com.google.protobuf.Struct defaultValue)
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
com.google.protobuf.Struct |
getFilterMetadataOrThrow(String key)
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
Map<String,com.google.protobuf.Struct> |
getMutableFilterMetadata()
Deprecated.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
protected com.google.protobuf.MapField |
internalGetMapField(int number) |
protected com.google.protobuf.MapField |
internalGetMutableMapField(int number) |
boolean |
isInitialized() |
Metadata.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
Metadata.Builder |
mergeFrom(com.google.protobuf.Message other) |
Metadata.Builder |
mergeFrom(Metadata other) |
Metadata.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Metadata.Builder |
putAllFilterMetadata(Map<String,com.google.protobuf.Struct> values)
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
Metadata.Builder |
putFilterMetadata(String key,
com.google.protobuf.Struct value)
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
Metadata.Builder |
removeFilterMetadata(String key)
Key is the reverse DNS filter name, e.g. com.acme.widget.
|
Metadata.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
Metadata.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
Object value) |
Metadata.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, 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.MapField internalGetMapField(int number)
internalGetMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>protected com.google.protobuf.MapField internalGetMutableMapField(int number)
internalGetMutableMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>public Metadata.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.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<Metadata.Builder>public Metadata getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic Metadata build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic Metadata buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic Metadata.Builder clone()
clone in interface com.google.protobuf.Message.Builderclone in interface com.google.protobuf.MessageLite.Builderclone in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>public Metadata.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<Metadata.Builder>public Metadata.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>public Metadata.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>public Metadata.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<Metadata.Builder>public Metadata.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<Metadata.Builder>public Metadata.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Metadata.Builder>public Metadata.Builder mergeFrom(Metadata other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>public Metadata.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<Metadata.Builder>IOExceptionpublic int getFilterMetadataCount()
MetadataOrBuilderKey is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;getFilterMetadataCount in interface MetadataOrBuilderpublic boolean containsFilterMetadata(String key)
Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;containsFilterMetadata in interface MetadataOrBuilder@Deprecated public Map<String,com.google.protobuf.Struct> getFilterMetadata()
getFilterMetadataMap() instead.getFilterMetadata in interface MetadataOrBuilderpublic Map<String,com.google.protobuf.Struct> getFilterMetadataMap()
Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;getFilterMetadataMap in interface MetadataOrBuilderpublic com.google.protobuf.Struct getFilterMetadataOrDefault(String key, com.google.protobuf.Struct defaultValue)
Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;getFilterMetadataOrDefault in interface MetadataOrBuilderpublic com.google.protobuf.Struct getFilterMetadataOrThrow(String key)
Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;getFilterMetadataOrThrow in interface MetadataOrBuilderpublic Metadata.Builder clearFilterMetadata()
public Metadata.Builder removeFilterMetadata(String key)
Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;@Deprecated public Map<String,com.google.protobuf.Struct> getMutableFilterMetadata()
public Metadata.Builder putFilterMetadata(String key, com.google.protobuf.Struct value)
Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;public Metadata.Builder putAllFilterMetadata(Map<String,com.google.protobuf.Struct> values)
Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters.
map<string, .google.protobuf.Struct> filter_metadata = 1;public final Metadata.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>public final Metadata.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>Copyright © 2018–2021 The Envoy Project. All rights reserved.