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.



558
559
560
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 558

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)


522
523
524
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 522

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)


531
532
533
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 531

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)


540
541
542
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 540

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



550
551
552
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 550

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)


556
557
558
# File 'lib/google/apis/orgpolicy_v2/classes.rb', line 556

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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