Class: Google::Apis::CloudresourcemanagerV1::ListPolicy
- Inherits:
- 
      Object
      
        - Object
- Google::Apis::CloudresourcemanagerV1::ListPolicy
 
- Defined in:
- generated/google/apis/cloudresourcemanager_v1/classes.rb,
 generated/google/apis/cloudresourcemanager_v1/representations.rb,
 generated/google/apis/cloudresourcemanager_v1/representations.rb
Overview
Used in policy_type to specify how list_policy behaves at this
resource.
A ListPolicy can define specific values that are allowed or denied by
setting either the allowed_values or denied_values fields. It can also
be used to allow or deny all values, by setting the all_values field. If
all_values is ALL_VALUES_UNSPECIFIED, exactly one of allowed_values
or denied_values must be set (attempting to set both or neither will
result in a failed request). If all_values is set to either ALLOW or
DENY, allowed_values and denied_values must be unset.
Instance Attribute Summary collapse
- 
  
    
      #all_values  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The policy all_values state. 
- 
  
    
      #allowed_values  ⇒ Array<String> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    List of values allowed at this resource. 
- 
  
    
      #denied_values  ⇒ Array<String> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    List of values denied at this resource. 
- 
  
    
      #inherit_from_parent  ⇒ Boolean 
    
    
      (also: #inherit_from_parent?)
    
  
  
  
  
    
    
  
  
  
  
  
  
    Determines the inheritance behavior for this Policy.
- 
  
    
      #suggested_value  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Optional. 
Instance Method Summary collapse
- 
  
    
      #initialize(**args)  ⇒ ListPolicy 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of ListPolicy. 
- 
  
    
      #update!(**args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Update properties of this object. 
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ ListPolicy
Returns a new instance of ListPolicy
| 880 881 882 | # File 'generated/google/apis/cloudresourcemanager_v1/classes.rb', line 880 def initialize(**args) update!(**args) end | 
Instance Attribute Details
#all_values ⇒ String
The policy all_values state.
Corresponds to the JSON property allValues
| 780 781 782 | # File 'generated/google/apis/cloudresourcemanager_v1/classes.rb', line 780 def all_values @all_values end | 
#allowed_values ⇒ Array<String>
List of values allowed  at this resource. Can only be set if no values
are set for denied_values and all_values is set to
ALL_VALUES_UNSPECIFIED.
Corresponds to the JSON property allowedValues
| 787 788 789 | # File 'generated/google/apis/cloudresourcemanager_v1/classes.rb', line 787 def allowed_values @allowed_values end | 
#denied_values ⇒ Array<String>
List of values denied at this resource. Can only be set if no values are
set for allowed_values and all_values is set to
ALL_VALUES_UNSPECIFIED.
Corresponds to the JSON property deniedValues
| 794 795 796 | # File 'generated/google/apis/cloudresourcemanager_v1/classes.rb', line 794 def denied_values @denied_values end | 
#inherit_from_parent ⇒ Boolean Also known as: inherit_from_parent?
Determines the inheritance behavior for this Policy.
By default, a ListPolicy set at a resource supercedes any Policy set
anywhere up the resource hierarchy. However, if inherit_from_parent is
set to true, then the values from the effective Policy of the parent
resource are inherited, meaning the values set in this Policy are
added to the values inherited up the hierarchy.
Setting Policy hierarchies that inherit both allowed values and denied
values isn't recommended in most circumstances to keep the configuration
simple and understandable. However, it is possible to set a Policy with
allowed_values set that inherits a Policy with denied_values set.
In this case, the values that are allowed must be in allowed_values and
not present in denied_values.
For example, suppose you have a Constraint
constraints/serviceuser.services, which has a constraint_type of
list_constraint, and with constraint_default set to ALLOW.
Suppose that at the Organization level, a Policy is applied that
restricts the allowed API activations to E1`, `E2. Then, if a
Policy is applied to a project below the Organization that has
inherit_from_parent set to false and field all_values set to DENY,
then an attempt to activate any API will be denied.
The following examples demonstrate different possible layerings:
Example 1 (no inherited values):
organizations/foo has a Policy with values:
allowed_values: “E1” allowed_values:”E2”
projects/bar has inherit_from_parent false and values:
allowed_values: "E3" allowed_values: "E4"
The accepted values at organizations/foo are E1, E2.
The accepted values at projects/bar are E3, and E4.
Example 2 (inherited values):
organizations/foo has a Policy with values:
allowed_values: “E1” allowed_values:”E2”
projects/bar has a Policy with values:
value: “E3” value: ”E4” inherit_from_parent: true
The accepted values at organizations/foo are E1, E2.
The accepted values at projects/bar are E1, E2, E3, and E4.
Example 3 (inheriting both allowed and denied values):
organizations/foo has a Policy with values:
allowed_values: "E1" allowed_values: "E2"
projects/bar has a Policy with:
denied_values: "E1"
The accepted values at organizations/foo are E1, E2.
The value accepted at projects/bar is E2.
Example 4 (RestoreDefault):
organizations/foo has a Policy with values:
allowed_values: “E1” allowed_values:”E2”
projects/bar has a Policy with values:
RestoreDefault:`
The accepted values atorganizations/fooareE1,E2.
The accepted values atprojects/barare either all or none depending on
the value ofconstraint_default(ifALLOW, all; if
DENY, none).
Example 5 (no policy inherits parent policy):
organizations/foohas noPolicyset.
projects/barhas noPolicyset.
The accepted values at both levels are either all or none depending on
the value ofconstraint_default(ifALLOW, all; if
DENY, none).
Example 6 (ListConstraint allowing all):
organizations/foohas aPolicywith values:
allowed_values: “E1” allowed_values: ”E2”
projects/barhas aPolicywith:
all: ALLOW
The accepted values atorganizations/fooareE1, E2.
Any value is accepted at projects/bar.
Example 7 (ListConstraint allowing none):
organizations/foo has a Policy with values:
allowed_values: “E1” allowed_values: ”E2”
projects/bar has a Policy with:
all: DENY
The accepted values at organizations/foo are E1, E2.
No value is accepted atprojects/bar.
Corresponds to the JSON propertyinheritFromParent`
| 869 870 871 | # File 'generated/google/apis/cloudresourcemanager_v1/classes.rb', line 869 def inherit_from_parent @inherit_from_parent end | 
#suggested_value ⇒ String
Optional. The Google Cloud Console will try to default to a configuration
that matches the value specified in this Policy. If suggested_value
is not set, it will inherit the value specified higher in the hierarchy,
unless inherit_from_parent is false.
Corresponds to the JSON property suggestedValue
| 878 879 880 | # File 'generated/google/apis/cloudresourcemanager_v1/classes.rb', line 878 def suggested_value @suggested_value end | 
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
| 885 886 887 888 889 890 891 | # File 'generated/google/apis/cloudresourcemanager_v1/classes.rb', line 885 def update!(**args) @all_values = args[:all_values] if args.key?(:all_values) @allowed_values = args[:allowed_values] if args.key?(:allowed_values) @denied_values = args[:denied_values] if args.key?(:denied_values) @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent) @suggested_value = args[:suggested_value] if args.key?(:suggested_value) end |