Defines a Cloud Organization Policy 
which is used to specify Constraints 
for configurations of Cloud Platform resources.
| JSON representation | 
|---|
| { "version" : integer , "constraint" : string , "etag" : string , "updateTime" : string , // Union field | 
version 
 integer 
Version of the Policy 
. Default version is 0;
constraint 
 string 
The name of the Constraint 
the Policy 
is configuring, for example, constraints/serviceuser.services 
.
A list of available constraints is available.
Immutable after creation.
etag 
 string ( bytes 
format) 
An opaque tag indicating the current version of the Policy 
, used for concurrency control.
When the Policy 
is returned from either a GetPolicy 
or a ListOrgPolicy 
request, this etag 
indicates the version of the current Policy 
to use when executing a read-modify-write loop.
When the Policy 
is returned from a GetEffectivePolicy 
request, the etag 
will be unset.
When the Policy 
is used in a projects.setOrgPolicy 
method, use the etag 
value that was returned from a projects.getOrgPolicy 
request as part of a read-modify-write loop for concurrency control. Not setting the etag 
in a projects.setOrgPolicy 
request will result in an unconditional write of the Policy 
.
A base64-encoded string.
updateTime 
 string (  
 Timestamp 
 
format)
The time stamp the Policy 
was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to projects.setOrgPolicy 
was made for that Policy 
. Any value set by the client will be ignored.
Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z" 
, "2014-10-02T15:01:23.045123456Z" 
or "2014-10-02T15:01:23+05:30" 
.
Union field policy_type 
. The field to populate is based on the constraint_type 
value in the Constraint 
. list_constraint 
=> list_policy 
 boolean_constraint 
=> boolean_policy 
A restore_default 
message may be used with any Constraint 
type.
Providing a *_policy that is incompatible with the constraint_type 
will result in an invalid_argument 
error.
Attempting to set a Policy 
with a policy_type 
not set will result in an invalid_argument 
error. policy_type 
can be only one of the following:
listPolicy 
 object (  
 ListPolicy 
 
)
List of values either allowed or disallowed.
booleanPolicy 
 object (  
 BooleanPolicy 
 
)
For boolean Constraints 
, whether to enforce the Constraint 
or not.
restoreDefault 
 object (  
 RestoreDefault 
 
)
Restores the default behavior of the constraint; independent of Constraint 
type.
ListPolicy
Used in policyType 
to specify how listPolicy 
behaves at this resource.
 ListPolicy 
can define specific values and subtrees of Cloud Resource Manager resource hierarchy ( Organizations 
, Folders 
, Projects 
) that are allowed or denied by setting the allowedValues 
and deniedValues 
fields. This is achieved by using the under: 
and optional is: 
prefixes. The under: 
prefix is used to denote resource subtree values. The is: 
prefix is used to denote specific values, and is required only if the value contains a ":". Values prefixed with "is:" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats:
- "projects/ ", e.g. "projects/tokyo-rain-123" 
- "folders/ ", e.g. "folders/1234" 
- "organizations/ ", e.g. "organizations/1234" 
The supportsUnder 
field of the associated Constraint 
defines whether ancestry prefixes can be used. You can set allowedValues 
and deniedValues 
in the same Policy 
if allValues 
is ALL_VALUES_UNSPECIFIED 
. ALLOW 
or DENY 
are used to allow or deny all values. If allValues 
is set to either ALLOW 
or DENY 
, allowedValues 
and deniedValues 
must be unset.
| JSON representation | 
|---|
|  { 
 "allowedValues" 
 : 
 [ 
 string 
 ] 
 , 
 "deniedValues" 
 : 
 [ 
 string 
 ] 
 , 
 "allValues" 
 : 
 enum (  | 
| Fields | |
|---|---|
| allowedValues[] |   List of values allowed at this resource. Can only be set if  | 
| deniedValues[] |   List of values denied at this resource. Can only be set if  | 
| allValues |   The policy allValues state. | 
| suggestedValue |   Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this  | 
| inheritFromParent |   Determines the inheritance behavior for this  By default, a  Setting  For example, suppose you have a  The following examples demonstrate different possible layerings for  Example 1 (no inherited values):  Example 2 (inherited values):  Example 3 (inheriting both allowed and denied values):  Example 4 (RestoreDefault):  Example 5 (no policy inherits parent policy):  Example 6 (ListConstraint allowing all):  Example 7 (ListConstraint allowing none):  Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy  O1->{F1, F2}; F1->{P1}; F2->{P2, P3},  | 
AllValues
This enum can be used to set Policies 
that apply to all possible configuration values rather than specific values in allowedValues 
or deniedValues 
.
Setting this to ALLOW 
will mean this Policy 
allows all values. Similarly, setting it to DENY 
will mean no values are allowed. If set to either ALLOW 
or DENY, 
allowedValues and 
deniedValues must be unset. Setting this to 
ALL_VALUES_UNSPECIFIED allows for
          setting 
allowedValues and 
deniedValues`.
| Enums | |
|---|---|
| ALL_VALUES_UNSPECIFIED | Indicates that allowedValues or deniedValues must be set. | 
| ALLOW | A policy with this set allows all values. | 
| DENY | A policy with this set denies all values. | 
BooleanPolicy
Used in policyType 
to specify how booleanPolicy 
will behave at this resource.
| JSON representation | 
|---|
| { "enforced" : boolean } | 
| Fields | |
|---|---|
| enforced |   If  Suppose you have a  The following examples demonstrate the different possible layerings: Example 1 (nearest  Example 2 (enforcement gets replaced):  Example 3 (RestoreDefault):  | 
RestoreDefault
This type has no fields.
Ignores policies set above this resource and restores the constraintDefault 
enforcement behavior of the specific Constraint 
at this resource.
Suppose that constraintDefault 
is set to ALLOW 
for the Constraint 
 constraints/serviceuser.services 
. Suppose that organization foo.com sets a Policy 
at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a Policy 
with the policyType 
 restoreDefault 
on several experimental projects, restoring the constraintDefault 
enforcement of the Constraint 
for only those projects, allowing those projects to have all services activated.

