Class: Google::Apis::PolicysimulatorV1alpha::GoogleCloudOrgpolicyV2PolicySpecPolicyRule

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

Overview

A rule used to express this policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudOrgpolicyV2PolicySpecPolicyRule

Returns a new instance of GoogleCloudOrgpolicyV2PolicySpecPolicyRule.



299
300
301
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 299

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

Instance Attribute Details

#allow_allBoolean Also known as: allow_all?

Setting this to true means that all values are allowed. This field can be set only in policies for list constraints. Corresponds to the JSON property allowAll

Returns:

  • (Boolean)


248
249
250
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 248

def allow_all
  @allow_all
end

#conditionGoogle::Apis::PolicysimulatorV1alpha::GoogleTypeExpr

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 condition



268
269
270
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 268

def condition
  @condition
end

#deny_allBoolean Also known as: deny_all?

Setting this to true means that all values are denied. This field can be set only in policies for list constraints. Corresponds to the JSON property denyAll

Returns:

  • (Boolean)


274
275
276
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 274

def deny_all
  @deny_all
end

#enforceBoolean Also known as: enforce?

If true, then the policy is enforced. If false, then any configuration is acceptable. This field can be set only in policies for boolean constraints. Corresponds to the JSON property enforce

Returns:

  • (Boolean)


281
282
283
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 281

def enforce
  @enforce
end

#valuesGoogle::Apis::PolicysimulatorV1alpha::GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues

A message that holds specific allowed and denied values. This message can define specific values and subtrees of the Resource Manager resource hierarchy (Organizations, Folders, Projects) that are allowed or denied. This is achieved by using the under: and optional is: prefixes. The under: prefix is used to denote resource subtree values. The is: prefix is used to denote specific values, and is required only if the value contains a ":". Values prefixed with "is:" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - "projects/", e.g. "projects/tokyo-rain-123" - "folders/", e.g. "folders/1234" - "organizations/", e.g. "organizations/1234" The supports_under field of the associated Constraint defines whether ancestry prefixes can be used. Corresponds to the JSON property values



297
298
299
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 297

def values
  @values
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



304
305
306
307
308
309
310
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 304

def update!(**args)
  @allow_all = args[:allow_all] if args.key?(:allow_all)
  @condition = args[:condition] if args.key?(:condition)
  @deny_all = args[:deny_all] if args.key?(:deny_all)
  @enforce = args[:enforce] if args.key?(:enforce)
  @values = args[:values] if args.key?(:values)
end