Class: Google::Apis::PolicysimulatorV1alpha::GoogleCloudOrgpolicyV2PolicySpec

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

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.



226
227
228
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 226

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

Instance Attribute Details

#etagString

An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a CreatePolicy request. When the policyis returned from either aGetPolicyor aListPolicies request, thisetagindicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a GetEffectivePolicyrequest, theetagwill be unset. Corresponds to the JSON propertyetag`

Returns:

  • (String)


190
191
192
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 190

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)


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

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)


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

def reset
  @reset
end

#rulesArray<Google::Apis::PolicysimulatorV1alpha::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



218
219
220
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 218

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)


224
225
226
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 224

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



231
232
233
234
235
236
237
# File 'lib/google/apis/policysimulator_v1alpha/classes.rb', line 231

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