Class Metadata.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<Metadata.Builder>
com.google.protobuf.GeneratedMessage.Builder<Metadata.Builder>
io.envoyproxy.envoy.config.core.v3.Metadata.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, MetadataOrBuilder, Cloneable
- Enclosing class:
Metadata
public static final class Metadata.Builder
extends com.google.protobuf.GeneratedMessage.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.v3.Metadata-
Method Summary
Modifier and TypeMethodDescriptionbuild()clear()booleanKey is the reverse DNS filter name, e.g. com.acme.widget.booleanKey is the reverse DNS filter name, e.g. com.acme.widget.static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorDeprecated.intKey is the reverse DNS filter name, e.g. com.acme.widget.Key is the reverse DNS filter name, e.g. com.acme.widget.com.google.protobuf.StructgetFilterMetadataOrDefault(String key, com.google.protobuf.Struct defaultValue) Key is the reverse DNS filter name, e.g. com.acme.widget.com.google.protobuf.StructKey is the reverse DNS filter name, e.g. com.acme.widget.Deprecated.Deprecated.Deprecated.intKey is the reverse DNS filter name, e.g. com.acme.widget.Key is the reverse DNS filter name, e.g. com.acme.widget.com.google.protobuf.AnygetTypedFilterMetadataOrDefault(String key, com.google.protobuf.Any defaultValue) Key is the reverse DNS filter name, e.g. com.acme.widget.com.google.protobuf.AnyKey is the reverse DNS filter name, e.g. com.acme.widget.protected com.google.protobuf.GeneratedMessage.FieldAccessorTableprotected com.google.protobuf.MapFieldReflectionAccessorinternalGetMapFieldReflection(int number) protected com.google.protobuf.MapFieldReflectionAccessorinternalGetMutableMapFieldReflection(int number) final booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) putAllFilterMetadata(Map<String, com.google.protobuf.Struct> values) Key is the reverse DNS filter name, e.g. com.acme.widget.putAllTypedFilterMetadata(Map<String, com.google.protobuf.Any> values) Key is the reverse DNS filter name, e.g. com.acme.widget.putFilterMetadata(String key, com.google.protobuf.Struct value) Key is the reverse DNS filter name, e.g. com.acme.widget.com.google.protobuf.Struct.BuilderKey is the reverse DNS filter name, e.g. com.acme.widget.putTypedFilterMetadata(String key, com.google.protobuf.Any value) Key is the reverse DNS filter name, e.g. com.acme.widget.com.google.protobuf.Any.BuilderKey is the reverse DNS filter name, e.g. com.acme.widget.Key is the reverse DNS filter name, e.g. com.acme.widget.Key is the reverse DNS filter name, e.g. com.acme.widget.Methods inherited from class com.google.protobuf.GeneratedMessage.Builder
addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetMapFieldReflection
protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number) - Overrides:
internalGetMapFieldReflectionin classcom.google.protobuf.GeneratedMessage.Builder<Metadata.Builder>
-
internalGetMutableMapFieldReflection
protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection(int number) - Overrides:
internalGetMutableMapFieldReflectionin classcom.google.protobuf.GeneratedMessage.Builder<Metadata.Builder>
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage.Builder<Metadata.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessage.Builder<Metadata.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessage.Builder<Metadata.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<Metadata.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage.Builder<Metadata.Builder>
-
mergeFrom
public Metadata.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<Metadata.Builder>- Throws:
IOException
-
getFilterMetadataCount
public int getFilterMetadataCount()Description copied from interface:MetadataOrBuilderKey is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... }- Specified by:
getFilterMetadataCountin interfaceMetadataOrBuilder
-
containsFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... }- Specified by:
containsFilterMetadatain interfaceMetadataOrBuilder
-
getFilterMetadata
Deprecated.UsegetFilterMetadataMap()instead.- Specified by:
getFilterMetadatain interfaceMetadataOrBuilder
-
getFilterMetadataMap
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... }- Specified by:
getFilterMetadataMapin interfaceMetadataOrBuilder
-
getFilterMetadataOrDefault
public 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. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... }- Specified by:
getFilterMetadataOrDefaultin interfaceMetadataOrBuilder
-
getFilterMetadataOrThrow
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... }- Specified by:
getFilterMetadataOrThrowin interfaceMetadataOrBuilder
-
clearFilterMetadata
-
removeFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... } -
getMutableFilterMetadata
Deprecated.Use alternate mutation accessors instead. -
putFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... } -
putAllFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... } -
putFilterMetadataBuilderIfAbsent
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. If both ``filter_metadata`` and :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Struct> filter_metadata = 1 [(.validate.rules) = { ... } -
getTypedFilterMetadataCount
public int getTypedFilterMetadataCount()Description copied from interface:MetadataOrBuilderKey is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... }- Specified by:
getTypedFilterMetadataCountin interfaceMetadataOrBuilder
-
containsTypedFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... }- Specified by:
containsTypedFilterMetadatain interfaceMetadataOrBuilder
-
getTypedFilterMetadata
Deprecated.UsegetTypedFilterMetadataMap()instead.- Specified by:
getTypedFilterMetadatain interfaceMetadataOrBuilder
-
getTypedFilterMetadataMap
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... }- Specified by:
getTypedFilterMetadataMapin interfaceMetadataOrBuilder
-
getTypedFilterMetadataOrDefault
public com.google.protobuf.Any getTypedFilterMetadataOrDefault(String key, com.google.protobuf.Any defaultValue) Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... }- Specified by:
getTypedFilterMetadataOrDefaultin interfaceMetadataOrBuilder
-
getTypedFilterMetadataOrThrow
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... }- Specified by:
getTypedFilterMetadataOrThrowin interfaceMetadataOrBuilder
-
clearTypedFilterMetadata
-
removeTypedFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... } -
getMutableTypedFilterMetadata
Deprecated.Use alternate mutation accessors instead. -
putTypedFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... } -
putAllTypedFilterMetadata
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... } -
putTypedFilterMetadataBuilderIfAbsent
Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*`` namespace is reserved for Envoy's built-in filters. The value is encoded as google.protobuf.Any. If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` and ``typed_filter_metadata`` fields are present in the metadata with same keys, only ``typed_filter_metadata`` field will be parsed.
map<string, .google.protobuf.Any> typed_filter_metadata = 2 [(.validate.rules) = { ... }
-