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.