class Google::Apis::ComputeV1::SecurityPolicyRuleMatcher

Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.

Attributes

config[RW]

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` @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig]

expr[RW]

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 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` @return [Google::Apis::ComputeV1::Expr]

versioned_expr[RW]

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` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/compute_v1/classes.rb, line 32699
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/compute_v1/classes.rb, line 32704
def update!(**args)
  @config = args[:config] if args.key?(:config)
  @expr = args[:expr] if args.key?(:expr)
  @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
end