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.
38470 38471 38472 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38470 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
38435 38436 38437 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38435 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
38454 38455 38456 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38454 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
38460 38461 38462 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38460 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
38468 38469 38470 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38468 def versioned_expr @versioned_expr end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
38475 38476 38477 38478 38479 38480 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38475 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 |