Class: Google::Apis::ComputeV1::MetadataFilter
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::MetadataFilter
- Defined in:
- generated/google/apis/compute_v1/classes.rb,
generated/google/apis/compute_v1/representations.rb,
generated/google/apis/compute_v1/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 routing 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 in the provided 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
-
#filter_labels ⇒ Array<Google::Apis::ComputeV1::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.
-
#filter_match_criteria ⇒ String
Specifies how individual filterLabel matches within the list of filterLabels contribute towards the overall metadataFilter match.
Instance Method Summary collapse
-
#initialize(**args) ⇒ MetadataFilter
constructor
A new instance of MetadataFilter.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ MetadataFilter
Returns a new instance of MetadataFilter
14789 14790 14791 |
# File 'generated/google/apis/compute_v1/classes.rb', line 14789 def initialize(**args) update!(**args) end |
Instance Attribute Details
#filter_labels ⇒ Array<Google::Apis::ComputeV1::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
14776 14777 14778 |
# File 'generated/google/apis/compute_v1/classes.rb', line 14776 def filter_labels @filter_labels end |
#filter_match_criteria ⇒ String
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
14787 14788 14789 |
# File 'generated/google/apis/compute_v1/classes.rb', line 14787 def filter_match_criteria @filter_match_criteria end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
14794 14795 14796 14797 |
# File 'generated/google/apis/compute_v1/classes.rb', line 14794 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 |