Class: Google::Apis::ComputeV1::SecurityPolicyRuleMatcher
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::SecurityPolicyRuleMatcher
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb
Overview
Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.
Instance Attribute Summary collapse
-
#config ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig
The configuration options available when specifying versioned_expr.
-
#expr ⇒ Google::Apis::ComputeV1::Expr
Represents a textual expression in the Common Expression Language (CEL) syntax.
-
#expr_options ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptions
The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr').
-
#versioned_expr ⇒ String
Preconfigured versioned expression.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SecurityPolicyRuleMatcher
constructor
A new instance of SecurityPolicyRuleMatcher.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ SecurityPolicyRuleMatcher
Returns a new instance of SecurityPolicyRuleMatcher.
56041 56042 56043 |
# File 'lib/google/apis/compute_v1/classes.rb', line 56041 def initialize(**args) update!(**args) end |
Instance Attribute Details
#config ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig
The configuration options available when specifying versioned_expr.
This field must be specified if versioned_expr is specified and cannot
be specified if versioned_expr is not specified.
Corresponds to the JSON property config
55998 55999 56000 |
# File 'lib/google/apis/compute_v1/classes.rb', line 55998 def config @config end |
#expr ⇒ Google::Apis::ComputeV1::Expr
Represents a textual expression in the Common Expression Language (CEL)
syntax. CEL is a C-like expression language. The syntax and semantics of CEL
are documented at https://github.com/google/cel-spec.
Example (Comparison):
title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"
Example (Equality):
title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"
Example (Logic):
title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
Example (Data Manipulation):
title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"
The exact variables and functions that may be referenced within an expression
are determined by the service that evaluates it. See the service
documentation for additional information.
Corresponds to the JSON property expr
56024 56025 56026 |
# File 'lib/google/apis/compute_v1/classes.rb', line 56024 def expr @expr end |
#expr_options ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptions
The configuration options available when specifying a user defined
CEVAL expression (i.e., 'expr').
Corresponds to the JSON property exprOptions
56030 56031 56032 |
# File 'lib/google/apis/compute_v1/classes.rb', line 56030 def @expr_options end |
#versioned_expr ⇒ String
Preconfigured versioned expression.
If this field is specified, config must also be specified.
Available preconfigured expressions along with their requirements are:
SRC_IPS_V1 - must specify the corresponding src_ip_range field in
config.
Corresponds to the JSON property versionedExpr
56039 56040 56041 |
# File 'lib/google/apis/compute_v1/classes.rb', line 56039 def versioned_expr @versioned_expr end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
56046 56047 56048 56049 56050 56051 |
# File 'lib/google/apis/compute_v1/classes.rb', line 56046 def update!(**args) @config = args[:config] if args.key?(:config) @expr = args[:expr] if args.key?(:expr) @expr_options = args[:expr_options] if args.key?(:expr_options) @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr) end |