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-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate com.google.protobuf.MapFieldBuilder<String, com.google.protobuf.StructOrBuilder, com.google.protobuf.Struct, com.google.protobuf.Struct.Builder> private static final Metadata.Builder.FilterMetadataConverterprivate com.google.protobuf.MapFieldBuilder<String, com.google.protobuf.AnyOrBuilder, com.google.protobuf.Any, com.google.protobuf.Any.Builder> private static final Metadata.Builder.TypedFilterMetadataConverter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()private voidbuildPartial0(Metadata result) clear()booleanKey is the reverse DNS filter name, e.g.booleanKey is the reverse DNS filter name, e.g.static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorDeprecated.intKey is the reverse DNS filter name, e.g.Key is the reverse DNS filter name, e.g.com.google.protobuf.StructgetFilterMetadataOrDefault(String key, com.google.protobuf.Struct defaultValue) Key is the reverse DNS filter name, e.g.com.google.protobuf.StructKey is the reverse DNS filter name, e.g.Deprecated.Deprecated.Deprecated.intKey is the reverse DNS filter name, e.g.Key is the reverse DNS filter name, e.g.com.google.protobuf.AnygetTypedFilterMetadataOrDefault(String key, com.google.protobuf.Any defaultValue) Key is the reverse DNS filter name, e.g.com.google.protobuf.AnyKey is the reverse DNS filter name, e.g.protected com.google.protobuf.GeneratedMessage.FieldAccessorTableprivate com.google.protobuf.MapFieldBuilder<String, com.google.protobuf.StructOrBuilder, com.google.protobuf.Struct, com.google.protobuf.Struct.Builder> protected com.google.protobuf.MapFieldReflectionAccessorinternalGetMapFieldReflection(int number) private com.google.protobuf.MapFieldBuilder<String, com.google.protobuf.StructOrBuilder, com.google.protobuf.Struct, com.google.protobuf.Struct.Builder> protected com.google.protobuf.MapFieldReflectionAccessorinternalGetMutableMapFieldReflection(int number) private com.google.protobuf.MapFieldBuilder<String, com.google.protobuf.AnyOrBuilder, com.google.protobuf.Any, com.google.protobuf.Any.Builder> private com.google.protobuf.MapFieldBuilder<String, com.google.protobuf.AnyOrBuilder, com.google.protobuf.Any, com.google.protobuf.Any.Builder> 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.putAllTypedFilterMetadata(Map<String, com.google.protobuf.Any> values) Key is the reverse DNS filter name, e.g.putFilterMetadata(String key, com.google.protobuf.Struct value) Key is the reverse DNS filter name, e.g.com.google.protobuf.Struct.BuilderKey is the reverse DNS filter name, e.g.putTypedFilterMetadata(String key, com.google.protobuf.Any value) Key is the reverse DNS filter name, e.g.com.google.protobuf.Any.BuilderKey is the reverse DNS filter name, e.g.Key is the reverse DNS filter name, e.g.Key is the reverse DNS filter name, e.g.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 java.lang.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
-
Field Details
-
bitField0_
private int bitField0_ -
filterMetadataConverter
-
filterMetadata_
private com.google.protobuf.MapFieldBuilder<String,com.google.protobuf.StructOrBuilder, filterMetadata_com.google.protobuf.Struct, com.google.protobuf.Struct.Builder> -
typedFilterMetadataConverter
-
typedFilterMetadata_
private com.google.protobuf.MapFieldBuilder<String,com.google.protobuf.AnyOrBuilder, typedFilterMetadata_com.google.protobuf.Any, com.google.protobuf.Any.Builder>
-
-
Constructor Details
-
Builder
private Builder() -
Builder
private Builder(com.google.protobuf.AbstractMessage.BuilderParent parent)
-
-
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
-
buildPartial0
-
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
-
internalGetFilterMetadata
private com.google.protobuf.MapFieldBuilder<String,com.google.protobuf.StructOrBuilder, internalGetFilterMetadata()com.google.protobuf.Struct, com.google.protobuf.Struct.Builder> -
internalGetMutableFilterMetadata
private com.google.protobuf.MapFieldBuilder<String,com.google.protobuf.StructOrBuilder, internalGetMutableFilterMetadata()com.google.protobuf.Struct, com.google.protobuf.Struct.Builder> -
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) = { ... } -
internalGetTypedFilterMetadata
private com.google.protobuf.MapFieldBuilder<String,com.google.protobuf.AnyOrBuilder, internalGetTypedFilterMetadata()com.google.protobuf.Any, com.google.protobuf.Any.Builder> -
internalGetMutableTypedFilterMetadata
private com.google.protobuf.MapFieldBuilder<String,com.google.protobuf.AnyOrBuilder, internalGetMutableTypedFilterMetadata()com.google.protobuf.Any, com.google.protobuf.Any.Builder> -
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) = { ... }
-