Class: Google::Apis::NetworkservicesV1beta1::MetadataLabelMatcher

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkservices_v1beta1/classes.rb,
lib/google/apis/networkservices_v1beta1/representations.rb,
lib/google/apis/networkservices_v1beta1/representations.rb

Overview

The matcher that is based on node metadata presented by xDS clients.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MetadataLabelMatcher

Returns a new instance of MetadataLabelMatcher.



2743
2744
2745
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2743

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

Instance Attribute Details

#metadata_label_match_criteriaString

Specifies how matching should be done. Supported values are: MATCH_ANY: At least one of the Labels specified in the matcher should match the metadata presented by xDS client. MATCH_ALL: The metadata presented by the xDS client should contain all of the labels specified here. The selection is determined based on the best match. For example, suppose there are three EndpointPolicy resources P1, P2 and P3 and if P1 has a the matcher as MATCH_ANY , P2 has MATCH_ALL , and P3 has MATCH_ALL . If a client with label connects, the config from P1 will be selected. If a client with label connects, the config from P2 will be selected. If a client with label connects, the config from P3 will be selected. If there is more than one best match, (for example, if a config P4 with selector exists and if a client with label connects), pick up the one with older creation time. Corresponds to the JSON property metadataLabelMatchCriteria

Returns:

  • (String)


2733
2734
2735
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2733

def 
  @metadata_label_match_criteria
end

#metadata_labelsArray<Google::Apis::NetworkservicesV1beta1::MetadataLabels>

The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list can have at most 64 entries. The list can be empty if the match criteria is MATCH_ANY, to specify a wildcard match ( i.e this matches any client). Corresponds to the JSON property metadataLabels



2741
2742
2743
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2741

def 
  @metadata_labels
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2748
2749
2750
2751
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2748

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