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
,java.io.Serializable
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 typeenvoy.config.core.v3.Metadata
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Metadata.Builder
Metadata provides additional inputs to filters based on matched listeners, filter chains, routes and endpoints.private static class
Metadata.FilterMetadataDefaultEntryHolder
private static class
Metadata.TypedFilterMetadataDefaultEntryHolder
-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description private static Metadata
DEFAULT_INSTANCE
static int
FILTER_METADATA_FIELD_NUMBER
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Struct>
filterMetadata_
private byte
memoizedIsInitialized
private static com.google.protobuf.Parser<Metadata>
PARSER
private static long
serialVersionUID
static int
TYPED_FILTER_METADATA_FIELD_NUMBER
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Any>
typedFilterMetadata_
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
containsFilterMetadata(java.lang.String key)
Key is the reverse DNS filter name, e.g.boolean
containsTypedFilterMetadata(java.lang.String key)
Key is the reverse DNS filter name, e.g.boolean
equals(java.lang.Object obj)
static Metadata
getDefaultInstance()
Metadata
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
java.util.Map<java.lang.String,com.google.protobuf.Struct>
getFilterMetadata()
Deprecated.int
getFilterMetadataCount()
Key is the reverse DNS filter name, e.g.java.util.Map<java.lang.String,com.google.protobuf.Struct>
getFilterMetadataMap()
Key is the reverse DNS filter name, e.g.com.google.protobuf.Struct
getFilterMetadataOrDefault(java.lang.String key, com.google.protobuf.Struct defaultValue)
Key is the reverse DNS filter name, e.g.com.google.protobuf.Struct
getFilterMetadataOrThrow(java.lang.String key)
Key is the reverse DNS filter name, e.g.com.google.protobuf.Parser<Metadata>
getParserForType()
int
getSerializedSize()
java.util.Map<java.lang.String,com.google.protobuf.Any>
getTypedFilterMetadata()
Deprecated.int
getTypedFilterMetadataCount()
Key is the reverse DNS filter name, e.g.java.util.Map<java.lang.String,com.google.protobuf.Any>
getTypedFilterMetadataMap()
Key is the reverse DNS filter name, e.g.com.google.protobuf.Any
getTypedFilterMetadataOrDefault(java.lang.String key, com.google.protobuf.Any defaultValue)
Key is the reverse DNS filter name, e.g.com.google.protobuf.Any
getTypedFilterMetadataOrThrow(java.lang.String key)
Key is the reverse DNS filter name, e.g.int
hashCode()
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable()
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Struct>
internalGetFilterMetadata()
protected com.google.protobuf.MapFieldReflectionAccessor
internalGetMapFieldReflection(int number)
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Any>
internalGetTypedFilterMetadata()
boolean
isInitialized()
static Metadata.Builder
newBuilder()
static Metadata.Builder
newBuilder(Metadata prototype)
Metadata.Builder
newBuilderForType()
protected Metadata.Builder
newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
static Metadata
parseDelimitedFrom(java.io.InputStream input)
static Metadata
parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Metadata
parseFrom(byte[] data)
static Metadata
parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Metadata
parseFrom(com.google.protobuf.ByteString data)
static Metadata
parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Metadata
parseFrom(com.google.protobuf.CodedInputStream input)
static Metadata
parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Metadata
parseFrom(java.io.InputStream input)
static Metadata
parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Metadata
parseFrom(java.nio.ByteBuffer data)
static Metadata
parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser<Metadata>
parser()
Metadata.Builder
toBuilder()
void
writeTo(com.google.protobuf.CodedOutputStream output)
-
Methods inherited from class com.google.protobuf.GeneratedMessage
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
FILTER_METADATA_FIELD_NUMBER
public static final int FILTER_METADATA_FIELD_NUMBER
- See Also:
- Constant Field Values
-
filterMetadata_
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Struct> filterMetadata_
-
TYPED_FILTER_METADATA_FIELD_NUMBER
public static final int TYPED_FILTER_METADATA_FIELD_NUMBER
- See Also:
- Constant Field Values
-
typedFilterMetadata_
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Any> typedFilterMetadata_
-
memoizedIsInitialized
private byte memoizedIsInitialized
-
DEFAULT_INSTANCE
private static final Metadata DEFAULT_INSTANCE
-
PARSER
private static final com.google.protobuf.Parser<Metadata> PARSER
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetMapFieldReflection
protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
- Overrides:
internalGetMapFieldReflection
in classcom.google.protobuf.GeneratedMessage
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage
-
internalGetFilterMetadata
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Struct> internalGetFilterMetadata()
-
getFilterMetadataCount
public int getFilterMetadataCount()
Description copied from interface:MetadataOrBuilder
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:
getFilterMetadataCount
in interfaceMetadataOrBuilder
-
containsFilterMetadata
public boolean containsFilterMetadata(java.lang.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. 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:
containsFilterMetadata
in interfaceMetadataOrBuilder
-
getFilterMetadata
@Deprecated public java.util.Map<java.lang.String,com.google.protobuf.Struct> getFilterMetadata()
Deprecated.UsegetFilterMetadataMap()
instead.- Specified by:
getFilterMetadata
in interfaceMetadataOrBuilder
-
getFilterMetadataMap
public java.util.Map<java.lang.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. 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:
getFilterMetadataMap
in interfaceMetadataOrBuilder
-
getFilterMetadataOrDefault
public com.google.protobuf.Struct getFilterMetadataOrDefault(java.lang.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:
getFilterMetadataOrDefault
in interfaceMetadataOrBuilder
-
getFilterMetadataOrThrow
public com.google.protobuf.Struct getFilterMetadataOrThrow(java.lang.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. 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:
getFilterMetadataOrThrow
in interfaceMetadataOrBuilder
-
internalGetTypedFilterMetadata
private com.google.protobuf.MapField<java.lang.String,com.google.protobuf.Any> internalGetTypedFilterMetadata()
-
getTypedFilterMetadataCount
public int getTypedFilterMetadataCount()
Description copied from interface:MetadataOrBuilder
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:
getTypedFilterMetadataCount
in interfaceMetadataOrBuilder
-
containsTypedFilterMetadata
public boolean containsTypedFilterMetadata(java.lang.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. 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:
containsTypedFilterMetadata
in interfaceMetadataOrBuilder
-
getTypedFilterMetadata
@Deprecated public java.util.Map<java.lang.String,com.google.protobuf.Any> getTypedFilterMetadata()
Deprecated.UsegetTypedFilterMetadataMap()
instead.- Specified by:
getTypedFilterMetadata
in interfaceMetadataOrBuilder
-
getTypedFilterMetadataMap
public java.util.Map<java.lang.String,com.google.protobuf.Any> 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:
getTypedFilterMetadataMap
in interfaceMetadataOrBuilder
-
getTypedFilterMetadataOrDefault
public com.google.protobuf.Any getTypedFilterMetadataOrDefault(java.lang.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:
getTypedFilterMetadataOrDefault
in interfaceMetadataOrBuilder
-
getTypedFilterMetadataOrThrow
public com.google.protobuf.Any getTypedFilterMetadataOrThrow(java.lang.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. 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:
getTypedFilterMetadataOrThrow
in interfaceMetadataOrBuilder
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessage
- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessage
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in interfacecom.google.protobuf.Message
- Overrides:
equals
in classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacecom.google.protobuf.Message
- Overrides:
hashCode
in classcom.google.protobuf.AbstractMessage
-
parseFrom
public static Metadata parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Metadata parseFrom(java.nio.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
public static Metadata parseFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static Metadata parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static Metadata parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static Metadata parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static Metadata parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static Metadata parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
newBuilderForType
public Metadata.Builder newBuilderForType()
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
public static Metadata.Builder newBuilder()
-
newBuilder
public static Metadata.Builder newBuilder(Metadata prototype)
-
toBuilder
public Metadata.Builder toBuilder()
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected Metadata.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
- Overrides:
newBuilderForType
in classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
public static Metadata getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<Metadata> parser()
-
getParserForType
public com.google.protobuf.Parser<Metadata> getParserForType()
- Specified by:
getParserForType
in interfacecom.google.protobuf.Message
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
- Overrides:
getParserForType
in classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
public Metadata getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
-