Class MetadataFilter

  • All Implemented Interfaces:
    MetadataFilterOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class MetadataFilter
    extends com.google.protobuf.GeneratedMessageV3
    implements MetadataFilterOrBuilder
     Opaque filter criteria used by load balancers to restrict routing configuration to a limited set of load balancing proxies. Proxies and sidecars involved in load balancing would typically present metadata to the load balancers that need to match criteria specified here. If a match takes place, the relevant configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. An example for using metadataFilters would be: if load balancing involves Envoys, they receive routing configuration when values in metadataFilters match values supplied in of their XDS requests to loadbalancers.
     
    Protobuf type google.cloud.compute.v1.MetadataFilter
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  MetadataFilter.Builder
      Opaque filter criteria used by load balancers to restrict routing configuration to a limited set of load balancing proxies.
      static class  MetadataFilter.FilterMatchCriteria
      Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int FILTER_LABELS_FIELD_NUMBER  
      static int FILTER_MATCH_CRITERIA_FIELD_NUMBER  
      • Fields inherited from class com.google.protobuf.GeneratedMessageV3

        alwaysUseFieldBuilders, unknownFields
      • Fields inherited from class com.google.protobuf.AbstractMessage

        memoizedSize
      • Fields inherited from class com.google.protobuf.AbstractMessageLite

        memoizedHashCode
    • Field Detail

      • FILTER_LABELS_FIELD_NUMBER

        public static final int FILTER_LABELS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • FILTER_MATCH_CRITERIA_FIELD_NUMBER

        public static final int FILTER_MATCH_CRITERIA_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getFilterLabelsList

        public List<MetadataFilterLabelMatch> getFilterLabelsList()
         The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.
         
        repeated .google.cloud.compute.v1.MetadataFilterLabelMatch filter_labels = 307903142;
        Specified by:
        getFilterLabelsList in interface MetadataFilterOrBuilder
      • getFilterLabelsOrBuilderList

        public List<? extends MetadataFilterLabelMatchOrBuilder> getFilterLabelsOrBuilderList()
         The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.
         
        repeated .google.cloud.compute.v1.MetadataFilterLabelMatch filter_labels = 307903142;
        Specified by:
        getFilterLabelsOrBuilderList in interface MetadataFilterOrBuilder
      • getFilterLabelsCount

        public int getFilterLabelsCount()
         The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.
         
        repeated .google.cloud.compute.v1.MetadataFilterLabelMatch filter_labels = 307903142;
        Specified by:
        getFilterLabelsCount in interface MetadataFilterOrBuilder
      • getFilterLabels

        public MetadataFilterLabelMatch getFilterLabels​(int index)
         The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.
         
        repeated .google.cloud.compute.v1.MetadataFilterLabelMatch filter_labels = 307903142;
        Specified by:
        getFilterLabels in interface MetadataFilterOrBuilder
      • getFilterLabelsOrBuilder

        public MetadataFilterLabelMatchOrBuilder getFilterLabelsOrBuilder​(int index)
         The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list must not be empty and can have at the most 64 entries.
         
        repeated .google.cloud.compute.v1.MetadataFilterLabelMatch filter_labels = 307903142;
        Specified by:
        getFilterLabelsOrBuilder in interface MetadataFilterOrBuilder
      • hasFilterMatchCriteria

        public boolean hasFilterMatchCriteria()
         Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH_ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH_ALL: all filterLabels must have matching labels in the provided metadata.
         Check the FilterMatchCriteria enum for the list of possible values.
         
        optional string filter_match_criteria = 239970368;
        Specified by:
        hasFilterMatchCriteria in interface MetadataFilterOrBuilder
        Returns:
        Whether the filterMatchCriteria field is set.
      • getFilterMatchCriteria

        public String getFilterMatchCriteria()
         Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH_ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH_ALL: all filterLabels must have matching labels in the provided metadata.
         Check the FilterMatchCriteria enum for the list of possible values.
         
        optional string filter_match_criteria = 239970368;
        Specified by:
        getFilterMatchCriteria in interface MetadataFilterOrBuilder
        Returns:
        The filterMatchCriteria.
      • getFilterMatchCriteriaBytes

        public com.google.protobuf.ByteString getFilterMatchCriteriaBytes()
         Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH_ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH_ALL: all filterLabels must have matching labels in the provided metadata.
         Check the FilterMatchCriteria enum for the list of possible values.
         
        optional string filter_match_criteria = 239970368;
        Specified by:
        getFilterMatchCriteriaBytes in interface MetadataFilterOrBuilder
        Returns:
        The bytes for filterMatchCriteria.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static MetadataFilter parseFrom​(ByteBuffer data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataFilter parseFrom​(ByteBuffer data,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataFilter parseFrom​(com.google.protobuf.ByteString data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataFilter parseFrom​(com.google.protobuf.ByteString data,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataFilter parseFrom​(byte[] data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataFilter parseFrom​(byte[] data,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataFilter parseFrom​(com.google.protobuf.CodedInputStream input,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws IOException
        Throws:
        IOException
      • newBuilderForType

        public MetadataFilter.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public MetadataFilter.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected MetadataFilter.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static MetadataFilter getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<MetadataFilter> parser()
      • getParserForType

        public com.google.protobuf.Parser<MetadataFilter> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public MetadataFilter getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder