Class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec

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

Overview

Defines a Google Cloud policy specification which is used to specify constraints for configurations of Google Cloud resources.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudOrgpolicyV2PolicySpec

Returns a new instance of GoogleCloudOrgpolicyV2PolicySpec.



235
236
237
# File 'lib/google/apis/policysimulator_v1/classes.rb', line 235

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

Instance Attribute Details

#etagString

An opaque tag indicating the current version of the policySpec, used for concurrency control. This field is ignored if used in a CreatePolicy request. When the policy is returned from either a GetPolicy or a ListPolicies request, this etag indicates the version of the current policySpec to use when executing a read-modify-write loop. When the policy is returned from a GetEffectivePolicy request, the etag will be unset. Corresponds to the JSON property etag

Returns:

  • (String)


199
200
201
# File 'lib/google/apis/policysimulator_v1/classes.rb', line 199

def etag
  @etag
end

#inherit_from_parentBoolean Also known as: inherit_from_parent?

Determines the inheritance behavior for this policy. If inherit_from_parent is true, policy rules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this policy becomes the new root for evaluation. This field can be set only for policies which configure list constraints. Corresponds to the JSON property inheritFromParent

Returns:

  • (Boolean)


208
209
210
# File 'lib/google/apis/policysimulator_v1/classes.rb', line 208

def inherit_from_parent
  @inherit_from_parent
end

#resetBoolean Also known as: reset?

Ignores policies set above this resource and restores the constraint_default enforcement behavior of the specific constraint at this resource. This field can be set in policies for either list or boolean constraints. If set, rules must be empty and inherit_from_parent must be set to false. Corresponds to the JSON property reset

Returns:

  • (Boolean)


217
218
219
# File 'lib/google/apis/policysimulator_v1/classes.rb', line 217

def reset
  @reset
end

#rulesArray<Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpecPolicyRule>

In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set enforced to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence. Corresponds to the JSON property rules



227
228
229
# File 'lib/google/apis/policysimulator_v1/classes.rb', line 227

def rules
  @rules
end

#update_timeString

Output only. The time stamp this was previously updated. This represents the last time a call to CreatePolicy or UpdatePolicy was made for that policy. Corresponds to the JSON property updateTime

Returns:

  • (String)


233
234
235
# File 'lib/google/apis/policysimulator_v1/classes.rb', line 233

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



240
241
242
243
244
245
246
# File 'lib/google/apis/policysimulator_v1/classes.rb', line 240

def update!(**args)
  @etag = args[:etag] if args.key?(:etag)
  @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
  @reset = args[:reset] if args.key?(:reset)
  @rules = args[:rules] if args.key?(:rules)
  @update_time = args[:update_time] if args.key?(:update_time)
end