Class: Google::Apis::OrgpolicyV2::GoogleCloudOrgpolicyV2PolicySpec

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/orgpolicy_v2/classes.rb,
lib/google/apis/orgpolicy_v2/representations.rb,
lib/google/apis/orgpolicy_v2/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.



571
572
573
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 571

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)


535
536
537
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 535

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)


544
545
546
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 544

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)


553
554
555
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 553

def reset
  @reset
end

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



563
564
565
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 563

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)


569
570
571
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 569

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



576
577
578
579
580
581
582
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 576

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