Class Metadata
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.core.v3.Metadata
- All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, MetadataOrBuilder, Serializable
@Generated
public final class Metadata
extends com.google.protobuf.GeneratedMessage
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- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classMetadata provides additional inputs to filters based on matched listeners, filter chains, routes and endpoints.private static final classprivate static final classNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT, T>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage
com.google.protobuf.AbstractMessage.BuilderParentNested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Metadatastatic final intprivate com.google.protobuf.MapField<String, com.google.protobuf.Struct> private byteprivate static final com.google.protobuf.Parser<Metadata> private static final longstatic final intprivate com.google.protobuf.MapField<String, com.google.protobuf.Any> Fields inherited from class com.google.protobuf.GeneratedMessage
alwaysUseFieldBuilders, loggedPre22TypeNames, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanKey is the reverse DNS filter name, e.g.booleanKey is the reverse DNS filter name, e.g.booleanstatic Metadatastatic 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.com.google.protobuf.Parser<Metadata> intDeprecated.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.inthashCode()protected com.google.protobuf.GeneratedMessage.FieldAccessorTableprivate com.google.protobuf.MapField<String, com.google.protobuf.Struct> protected com.google.protobuf.MapFieldReflectionAccessorinternalGetMapFieldReflection(int number) private com.google.protobuf.MapField<String, com.google.protobuf.Any> final booleanstatic Metadata.Builderstatic Metadata.BuildernewBuilder(Metadata prototype) protected Metadata.BuildernewBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) static MetadataparseDelimitedFrom(InputStream input) static MetadataparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static MetadataparseFrom(byte[] data) static MetadataparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static MetadataparseFrom(com.google.protobuf.ByteString data) static MetadataparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static MetadataparseFrom(com.google.protobuf.CodedInputStream input) static MetadataparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static MetadataparseFrom(InputStream input) static MetadataparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static MetadataparseFrom(ByteBuffer data) static MetadataparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<Metadata> parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessage
computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
FILTER_METADATA_FIELD_NUMBER
public static final int FILTER_METADATA_FIELD_NUMBER- See Also:
-
filterMetadata_
-
TYPED_FILTER_METADATA_FIELD_NUMBER
public static final int TYPED_FILTER_METADATA_FIELD_NUMBER- See Also:
-
typedFilterMetadata_
-
memoizedIsInitialized
private byte memoizedIsInitialized -
DEFAULT_INSTANCE
-
PARSER
-
-
Constructor Details
-
Metadata
private Metadata(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
Metadata
private Metadata()
-
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessage
-
internalGetMapFieldReflection
protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number) - Overrides:
internalGetMapFieldReflectionin classcom.google.protobuf.GeneratedMessage
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage
-
internalGetFilterMetadata
private com.google.protobuf.MapField<String, com.google.protobuf.Struct> internalGetFilterMetadata() -
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
-
internalGetTypedFilterMetadata
private com.google.protobuf.MapField<String, com.google.protobuf.Any> internalGetTypedFilterMetadata() -
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
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessage- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessage
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static Metadata parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Metadata parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Metadata parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Metadata parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Metadata parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Metadata parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static Metadata parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static Metadata parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static Metadata parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected Metadata.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) - Overrides:
newBuilderForTypein classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-