Class 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.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.api.v2.core.Metadata
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapField

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • internalGetMutableMapField

        protected com.google.protobuf.MapField internalGetMutableMapField​(int number)
        Overrides:
        internalGetMutableMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • clear

        public Metadata.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • getDefaultInstanceForType

        public Metadata getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public Metadata build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public Metadata buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public Metadata.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • setField

        public Metadata.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                         Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • clearField

        public Metadata.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • clearOneof

        public Metadata.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • setRepeatedField

        public Metadata.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                 int index,
                                                 Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • addRepeatedField

        public Metadata.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                 Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • mergeFrom

        public Metadata.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Metadata.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • mergeFrom

        public Metadata.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                   throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Metadata.Builder>
        Throws:
        IOException
      • 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.
         
        map<string, .google.protobuf.Struct> filter_metadata = 1;
        Specified by:
        getFilterMetadataCount in interface MetadataOrBuilder
      • containsFilterMetadata

        public 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;
        Specified by:
        containsFilterMetadata in interface MetadataOrBuilder
      • getFilterMetadataMap

        public 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;
        Specified by:
        getFilterMetadataMap in interface MetadataOrBuilder
      • 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.
         
        map<string, .google.protobuf.Struct> filter_metadata = 1;
        Specified by:
        getFilterMetadataOrDefault in interface MetadataOrBuilder
      • getFilterMetadataOrThrow

        public 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;
        Specified by:
        getFilterMetadataOrThrow in interface MetadataOrBuilder
      • removeFilterMetadata

        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;
      • getMutableFilterMetadata

        @Deprecated
        public Map<String,​com.google.protobuf.Struct> getMutableFilterMetadata()
        Deprecated.
        Use alternate mutation accessors instead.
      • putFilterMetadata

        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;
      • putAllFilterMetadata

        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;
      • setUnknownFields

        public final Metadata.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>
      • mergeUnknownFields

        public final Metadata.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Metadata.Builder>