Class: Google::Apis::TrafficdirectorV3::StructMatcher
- Inherits:
-
Object
- Object
- Google::Apis::TrafficdirectorV3::StructMatcher
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/trafficdirector_v3/classes.rb,
lib/google/apis/trafficdirector_v3/representations.rb,
lib/google/apis/trafficdirector_v3/representations.rb
Overview
StructMatcher provides a general interface to check if a given value is
matched in google.protobuf.Struct. It uses path to retrieve the value from
the struct and then check if it's matched to the specified value. For example,
for the following Struct: .. code-block:: yaml fields: a: struct_value: fields:
b: struct_value: fields: c: string_value: pro t: list_value: values: -
string_value: m - string_value: n The following MetadataMatcher is matched as
the path [a, b, c] will retrieve a string value "pro" from the Metadata which
is matched to the specified prefix match. .. code-block:: yaml path: - key: a -
key: b - key: c value: string_match: prefix: pr The following StructMatcher
is matched as the code will match one of the string values in the list at the
path [a, t]. .. code-block:: yaml path: - key: a - key: t value: list_match:
one_of: string_match: exact: m An example use of StructMatcher is to match
metadata in envoy.v*.core.Node.
Instance Attribute Summary collapse
-
#path ⇒ Array<Google::Apis::TrafficdirectorV3::PathSegment>
The path to retrieve the Value from the Struct.
-
#value ⇒ Google::Apis::TrafficdirectorV3::ValueMatcher
Specifies the way to match a ProtobufWkt::Value.
Instance Method Summary collapse
-
#initialize(**args) ⇒ StructMatcher
constructor
A new instance of StructMatcher.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ StructMatcher
Returns a new instance of StructMatcher.
1616 1617 1618 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1616 def initialize(**args) update!(**args) end |
Instance Attribute Details
#path ⇒ Array<Google::Apis::TrafficdirectorV3::PathSegment>
The path to retrieve the Value from the Struct.
Corresponds to the JSON property path
1607 1608 1609 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1607 def path @path end |
#value ⇒ Google::Apis::TrafficdirectorV3::ValueMatcher
Specifies the way to match a ProtobufWkt::Value. Primitive values and
ListValue are supported. StructValue is not supported and is always not
matched. [#next-free-field: 8]
Corresponds to the JSON property value
1614 1615 1616 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1614 def value @value end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1621 1622 1623 1624 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1621 def update!(**args) @path = args[:path] if args.key?(:path) @value = args[:value] if args.key?(:value) end |