Class: Google::Apis::ComputeAlpha::MetadataFilter

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_alpha/classes.rb,
generated/google/apis/compute_alpha/representations.rb,
generated/google/apis/compute_alpha/representations.rb

Overview

Opaque filter criteria used by loadbalancers to restrict routing configuration to a limited set of loadbalancing proxies. Proxies and sidecars involved in loadbalancing would typically present metadata to the loadbalancers which 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 loadbalancing involves Envoys, they will only receive routing configuration when values in metadataFilters match values supplied in <a href="https://www.envoyproxy.io/ docs/envoy/latest/api-v2/api/v2/core/base.proto#envoy-api-msg-core-node" Node metadata of their XDS requests to loadbalancers.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ MetadataFilter

Returns a new instance of MetadataFilter.



18568
18569
18570
# File 'generated/google/apis/compute_alpha/classes.rb', line 18568

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#filter_labelsArray<Google::Apis::ComputeAlpha::MetadataFilterLabelMatch>

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. Corresponds to the JSON property filterLabels



18555
18556
18557
# File 'generated/google/apis/compute_alpha/classes.rb', line 18555

def filter_labels
  @filter_labels
end

#filter_match_criteriaString

Specifies how individual filterLabel matches within the list of filterLabels contribute towards 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. Corresponds to the JSON property filterMatchCriteria

Returns:

  • (String)


18566
18567
18568
# File 'generated/google/apis/compute_alpha/classes.rb', line 18566

def filter_match_criteria
  @filter_match_criteria
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



18573
18574
18575
18576
# File 'generated/google/apis/compute_alpha/classes.rb', line 18573

def update!(**args)
  @filter_labels = args[:filter_labels] if args.key?(:filter_labels)
  @filter_match_criteria = args[:filter_match_criteria] if args.key?(:filter_match_criteria)
end