You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2896 lines
140 KiB
2896 lines
140 KiB
<html><body>
|
|
<style>
|
|
|
|
body, h1, h2, h3, div, span, p, pre, a {
|
|
margin: 0;
|
|
padding: 0;
|
|
border: 0;
|
|
font-weight: inherit;
|
|
font-style: inherit;
|
|
font-size: 100%;
|
|
font-family: inherit;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
body {
|
|
font-size: 13px;
|
|
padding: 1em;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 26px;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 24px;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
h3 {
|
|
font-size: 20px;
|
|
margin-bottom: 1em;
|
|
margin-top: 1em;
|
|
}
|
|
|
|
pre, code {
|
|
line-height: 1.5;
|
|
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
|
|
}
|
|
|
|
pre {
|
|
margin-top: 0.5em;
|
|
}
|
|
|
|
h1, h2, h3, p {
|
|
font-family: Arial, sans serif;
|
|
}
|
|
|
|
h1, h2, h3 {
|
|
border-bottom: solid #CCC 1px;
|
|
}
|
|
|
|
.toc_element {
|
|
margin-top: 0.5em;
|
|
}
|
|
|
|
.firstline {
|
|
margin-left: 2 em;
|
|
}
|
|
|
|
.method {
|
|
margin-top: 1em;
|
|
border: solid 1px #CCC;
|
|
padding: 1em;
|
|
background: #EEE;
|
|
}
|
|
|
|
.details {
|
|
font-weight: bold;
|
|
font-size: 14px;
|
|
}
|
|
|
|
</style>
|
|
|
|
<h1><a href="cloudresourcemanager_v1.html">Cloud Resource Manager API</a> . <a href="cloudresourcemanager_v1.projects.html">projects</a></h1>
|
|
<h2>Instance Methods</h2>
|
|
<p class="toc_element">
|
|
<code><a href="#clearOrgPolicy">clearOrgPolicy(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Clears a `Policy` from a resource.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#create">create(body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Request that a new Project be created. The result is an Operation which</p>
|
|
<p class="toc_element">
|
|
<code><a href="#delete">delete(projectId, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Marks the Project identified by the specified</p>
|
|
<p class="toc_element">
|
|
<code><a href="#get">get(projectId, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Retrieves the Project identified by the specified</p>
|
|
<p class="toc_element">
|
|
<code><a href="#getAncestry">getAncestry(projectId, body=None, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Gets a list of ancestors in the resource hierarchy for the Project</p>
|
|
<p class="toc_element">
|
|
<code><a href="#getEffectiveOrgPolicy">getEffectiveOrgPolicy(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Gets the effective `Policy` on a resource. This is the result of merging</p>
|
|
<p class="toc_element">
|
|
<code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Returns the IAM access control policy for the specified Project.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#getOrgPolicy">getOrgPolicy(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Gets a `Policy` on a resource.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#list">list(pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
|
|
<p class="firstline">Lists Projects that the caller has the `resourcemanager.projects.get`</p>
|
|
<p class="toc_element">
|
|
<code><a href="#listAvailableOrgPolicyConstraints">listAvailableOrgPolicyConstraints(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Lists `Constraints` that could be applied on the specified resource.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#listAvailableOrgPolicyConstraints_next">listAvailableOrgPolicyConstraints_next(previous_request, previous_response)</a></code></p>
|
|
<p class="firstline">Retrieves the next page of results.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#listOrgPolicies">listOrgPolicies(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Lists all the `Policies` set for a particular resource.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#listOrgPolicies_next">listOrgPolicies_next(previous_request, previous_response)</a></code></p>
|
|
<p class="firstline">Retrieves the next page of results.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
|
|
<p class="firstline">Retrieves the next page of results.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Sets the IAM access control policy for the specified Project. Overwrites</p>
|
|
<p class="toc_element">
|
|
<code><a href="#setOrgPolicy">setOrgPolicy(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Updates the specified `Policy` on the resource. Creates a new `Policy` for</p>
|
|
<p class="toc_element">
|
|
<code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Returns permissions that a caller has on the specified Project.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#undelete">undelete(projectId, body=None, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Restores the Project identified by the specified</p>
|
|
<p class="toc_element">
|
|
<code><a href="#update">update(projectId, body, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Updates the attributes of the Project identified by the specified</p>
|
|
<h3>Method Details</h3>
|
|
<div class="method">
|
|
<code class="details" id="clearOrgPolicy">clearOrgPolicy(resource, body, x__xgafv=None)</code>
|
|
<pre>Clears a `Policy` from a resource.
|
|
|
|
Args:
|
|
resource: string, Name of the resource for the `Policy` to clear. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the ClearOrgPolicy method.
|
|
"etag": "A String", # The current version, for concurrency control. Not sending an `etag`
|
|
# will cause the `Policy` to be cleared blindly.
|
|
"constraint": "A String", # Name of the `Constraint` of the `Policy` to clear.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # A generic empty message that you can re-use to avoid defining duplicated
|
|
# empty messages in your APIs. A typical example is to use it as the request
|
|
# or the response type of an API method. For instance:
|
|
#
|
|
# service Foo {
|
|
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
|
# }
|
|
#
|
|
# The JSON representation for `Empty` is empty JSON object `{}`.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="create">create(body, x__xgafv=None)</code>
|
|
<pre>Request that a new Project be created. The result is an Operation which
|
|
can be used to track the creation process. It is automatically deleted
|
|
after a few hours, so there is no need to call DeleteOperation.
|
|
|
|
Our SLO permits Project creation to take up to 30 seconds at the 90th
|
|
percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile
|
|
latency. 95th percentile latency is around 11 seconds. We recommend
|
|
polling at the 5th second with an exponential backoff.
|
|
|
|
Authorization requires the Google IAM permission
|
|
`resourcemanager.projects.create` on the specified parent for the new
|
|
project. The parent is identified by a specified ResourceId,
|
|
which must include both an ID and a type, such as organization.
|
|
|
|
This method does not associate the new project with a billing account.
|
|
You can set or update the billing account associated with a project using
|
|
the [`projects.updateBillingInfo`]
|
|
(/billing/reference/rest/v1/projects/updateBillingInfo) method.
|
|
|
|
Args:
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # A Project is a high-level Google Cloud Platform entity. It is a
|
|
# container for ACLs, APIs, App Engine Apps, VMs, and other
|
|
# Google Cloud Platform resources.
|
|
"name": "A String", # The optional user-assigned display name of the Project.
|
|
# When present it must be between 4 to 30 characters.
|
|
# Allowed characters are: lowercase and uppercase letters, numbers,
|
|
# hyphen, single-quote, double-quote, space, and exclamation point.
|
|
#
|
|
# Example: <code>My Project</code>
|
|
# Read-write.
|
|
"parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource.
|
|
#
|
|
# Supported parent types include "organization" and "folder". Once set, the
|
|
# parent cannot be cleared. The `parent` can be set on creation or using the
|
|
# `UpdateProject` method; the end user must have the
|
|
# `resourcemanager.projects.create` permission on the parent.
|
|
#
|
|
# Read-write.
|
|
# Cloud Platform is a generic term for something you (a developer) may want to
|
|
# interact with through one of our API's. Some examples are an App Engine app,
|
|
# a Compute Engine instance, a Cloud SQL database, and so on.
|
|
"type": "A String", # Required field representing the resource type this id is for.
|
|
# At present, the valid types are: "organization" and "folder".
|
|
"id": "A String", # Required field for the type-specific id. This should correspond to the id
|
|
# used in the type-specific API's.
|
|
},
|
|
"projectId": "A String", # The unique, user-assigned ID of the Project.
|
|
# It must be 6 to 30 lowercase letters, digits, or hyphens.
|
|
# It must start with a letter.
|
|
# Trailing hyphens are prohibited.
|
|
#
|
|
# Example: <code>tokyo-rain-123</code>
|
|
# Read-only after creation.
|
|
"labels": { # The labels associated with this Project.
|
|
#
|
|
# Label keys must be between 1 and 63 characters long and must conform
|
|
# to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
|
|
#
|
|
# Label values must be between 0 and 63 characters long and must conform
|
|
# to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. A label
|
|
# value can be empty.
|
|
#
|
|
# No more than 256 labels can be associated with a given resource.
|
|
#
|
|
# Clients should store labels in a representation such as JSON that does not
|
|
# depend on specific characters being disallowed.
|
|
#
|
|
# Example: <code>"environment" : "dev"</code>
|
|
# Read-write.
|
|
"a_key": "A String",
|
|
},
|
|
"createTime": "A String", # Creation time.
|
|
#
|
|
# Read-only.
|
|
"lifecycleState": "A String", # The Project lifecycle state.
|
|
#
|
|
# Read-only.
|
|
"projectNumber": "A String", # The number uniquely identifying the project.
|
|
#
|
|
# Example: <code>415104041262</code>
|
|
# Read-only.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # This resource represents a long-running operation that is the result of a
|
|
# network API call.
|
|
"metadata": { # Service-specific metadata associated with the operation. It typically
|
|
# contains progress information and common metadata such as create time.
|
|
# Some services might not provide such metadata. Any method that returns a
|
|
# long-running operation should document the metadata type, if any.
|
|
"a_key": "", # Properties of the object. Contains field @type with type URL.
|
|
},
|
|
"error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
|
|
# different programming environments, including REST APIs and RPC APIs. It is
|
|
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
|
|
# three pieces of data: error code, error message, and error details.
|
|
#
|
|
# You can find out more about this error model and how to work with it in the
|
|
# [API Design Guide](https://cloud.google.com/apis/design/errors).
|
|
"message": "A String", # A developer-facing error message, which should be in English. Any
|
|
# user-facing error message should be localized and sent in the
|
|
# google.rpc.Status.details field, or localized by the client.
|
|
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
|
|
"details": [ # A list of messages that carry the error details. There is a common set of
|
|
# message types for APIs to use.
|
|
{
|
|
"a_key": "", # Properties of the object. Contains field @type with type URL.
|
|
},
|
|
],
|
|
},
|
|
"done": True or False, # If the value is `false`, it means the operation is still in progress.
|
|
# If `true`, the operation is completed, and either `error` or `response` is
|
|
# available.
|
|
"response": { # The normal response of the operation in case of success. If the original
|
|
# method returns no data on success, such as `Delete`, the response is
|
|
# `google.protobuf.Empty`. If the original method is standard
|
|
# `Get`/`Create`/`Update`, the response should be the resource. For other
|
|
# methods, the response should have the type `XxxResponse`, where `Xxx`
|
|
# is the original method name. For example, if the original method name
|
|
# is `TakeSnapshot()`, the inferred response type is
|
|
# `TakeSnapshotResponse`.
|
|
"a_key": "", # Properties of the object. Contains field @type with type URL.
|
|
},
|
|
"name": "A String", # The server-assigned name, which is only unique within the same service that
|
|
# originally returns it. If you use the default HTTP mapping, the
|
|
# `name` should be a resource name ending with `operations/{unique_id}`.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="delete">delete(projectId, x__xgafv=None)</code>
|
|
<pre>Marks the Project identified by the specified
|
|
`project_id` (for example, `my-project-123`) for deletion.
|
|
This method will only affect the Project if it has a lifecycle state of
|
|
ACTIVE.
|
|
|
|
This method changes the Project's lifecycle state from
|
|
ACTIVE
|
|
to DELETE_REQUESTED.
|
|
The deletion starts at an unspecified time,
|
|
at which point the Project is no longer accessible.
|
|
|
|
Until the deletion completes, you can check the lifecycle state
|
|
checked by retrieving the Project with GetProject,
|
|
and the Project remains visible to ListProjects.
|
|
However, you cannot update the project.
|
|
|
|
After the deletion completes, the Project is not retrievable by
|
|
the GetProject and
|
|
ListProjects methods.
|
|
|
|
The caller must have modify permissions for this Project.
|
|
|
|
Args:
|
|
projectId: string, The Project ID (for example, `foo-bar-123`).
|
|
|
|
Required. (required)
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # A generic empty message that you can re-use to avoid defining duplicated
|
|
# empty messages in your APIs. A typical example is to use it as the request
|
|
# or the response type of an API method. For instance:
|
|
#
|
|
# service Foo {
|
|
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
|
# }
|
|
#
|
|
# The JSON representation for `Empty` is empty JSON object `{}`.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="get">get(projectId, x__xgafv=None)</code>
|
|
<pre>Retrieves the Project identified by the specified
|
|
`project_id` (for example, `my-project-123`).
|
|
|
|
The caller must have read permissions for this Project.
|
|
|
|
Args:
|
|
projectId: string, The Project ID (for example, `my-project-123`).
|
|
|
|
Required. (required)
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # A Project is a high-level Google Cloud Platform entity. It is a
|
|
# container for ACLs, APIs, App Engine Apps, VMs, and other
|
|
# Google Cloud Platform resources.
|
|
"name": "A String", # The optional user-assigned display name of the Project.
|
|
# When present it must be between 4 to 30 characters.
|
|
# Allowed characters are: lowercase and uppercase letters, numbers,
|
|
# hyphen, single-quote, double-quote, space, and exclamation point.
|
|
#
|
|
# Example: <code>My Project</code>
|
|
# Read-write.
|
|
"parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource.
|
|
#
|
|
# Supported parent types include "organization" and "folder". Once set, the
|
|
# parent cannot be cleared. The `parent` can be set on creation or using the
|
|
# `UpdateProject` method; the end user must have the
|
|
# `resourcemanager.projects.create` permission on the parent.
|
|
#
|
|
# Read-write.
|
|
# Cloud Platform is a generic term for something you (a developer) may want to
|
|
# interact with through one of our API's. Some examples are an App Engine app,
|
|
# a Compute Engine instance, a Cloud SQL database, and so on.
|
|
"type": "A String", # Required field representing the resource type this id is for.
|
|
# At present, the valid types are: "organization" and "folder".
|
|
"id": "A String", # Required field for the type-specific id. This should correspond to the id
|
|
# used in the type-specific API's.
|
|
},
|
|
"projectId": "A String", # The unique, user-assigned ID of the Project.
|
|
# It must be 6 to 30 lowercase letters, digits, or hyphens.
|
|
# It must start with a letter.
|
|
# Trailing hyphens are prohibited.
|
|
#
|
|
# Example: <code>tokyo-rain-123</code>
|
|
# Read-only after creation.
|
|
"labels": { # The labels associated with this Project.
|
|
#
|
|
# Label keys must be between 1 and 63 characters long and must conform
|
|
# to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
|
|
#
|
|
# Label values must be between 0 and 63 characters long and must conform
|
|
# to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. A label
|
|
# value can be empty.
|
|
#
|
|
# No more than 256 labels can be associated with a given resource.
|
|
#
|
|
# Clients should store labels in a representation such as JSON that does not
|
|
# depend on specific characters being disallowed.
|
|
#
|
|
# Example: <code>"environment" : "dev"</code>
|
|
# Read-write.
|
|
"a_key": "A String",
|
|
},
|
|
"createTime": "A String", # Creation time.
|
|
#
|
|
# Read-only.
|
|
"lifecycleState": "A String", # The Project lifecycle state.
|
|
#
|
|
# Read-only.
|
|
"projectNumber": "A String", # The number uniquely identifying the project.
|
|
#
|
|
# Example: <code>415104041262</code>
|
|
# Read-only.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="getAncestry">getAncestry(projectId, body=None, x__xgafv=None)</code>
|
|
<pre>Gets a list of ancestors in the resource hierarchy for the Project
|
|
identified by the specified `project_id` (for example, `my-project-123`).
|
|
|
|
The caller must have read permissions for this Project.
|
|
|
|
Args:
|
|
projectId: string, The Project ID (for example, `my-project-123`).
|
|
|
|
Required. (required)
|
|
body: object, The request body.
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the
|
|
# GetAncestry
|
|
# method.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Response from the GetAncestry method.
|
|
"ancestor": [ # Ancestors are ordered from bottom to top of the resource hierarchy. The
|
|
# first ancestor is the project itself, followed by the project's parent,
|
|
# etc..
|
|
{ # Identifying information for a single ancestor of a project.
|
|
"resourceId": { # A container to reference an id for any resource type. A `resource` in Google # Resource id of the ancestor.
|
|
# Cloud Platform is a generic term for something you (a developer) may want to
|
|
# interact with through one of our API's. Some examples are an App Engine app,
|
|
# a Compute Engine instance, a Cloud SQL database, and so on.
|
|
"type": "A String", # Required field representing the resource type this id is for.
|
|
# At present, the valid types are: "organization" and "folder".
|
|
"id": "A String", # Required field for the type-specific id. This should correspond to the id
|
|
# used in the type-specific API's.
|
|
},
|
|
},
|
|
],
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="getEffectiveOrgPolicy">getEffectiveOrgPolicy(resource, body, x__xgafv=None)</code>
|
|
<pre>Gets the effective `Policy` on a resource. This is the result of merging
|
|
`Policies` in the resource hierarchy. The returned `Policy` will not have
|
|
an `etag`set because it is a computed `Policy` across multiple resources.
|
|
Subtrees of Resource Manager resource hierarchy with 'under:' prefix will
|
|
not be expanded.
|
|
|
|
Args:
|
|
resource: string, The name of the resource to start computing the effective `Policy`. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the GetEffectiveOrgPolicy method.
|
|
"constraint": "A String", # The name of the `Constraint` to compute the effective `Policy`.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
|
|
# for configurations of Cloud Platform resources.
|
|
"updateTime": "A String", # 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
|
|
# `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
|
|
# be ignored.
|
|
"version": 42, # Version of the `Policy`. Default version is 0;
|
|
"constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example,
|
|
# `constraints/serviceuser.services`.
|
|
#
|
|
# Immutable after creation.
|
|
"restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of
|
|
# `Constraint` type.
|
|
# `constraint_default` enforcement behavior of the specific `Constraint` at
|
|
# this resource.
|
|
#
|
|
# Suppose that `constraint_default` 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 `policy_type` `restore_default` on
|
|
# several experimental projects, restoring the `constraint_default`
|
|
# enforcement of the `Constraint` for only those projects, allowing those
|
|
# projects to have all services activated.
|
|
},
|
|
"listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed.
|
|
# 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 `allowed_values` and `denied_values`
|
|
# 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/<project-id>”, e.g. “projects/tokyo-rain-123”
|
|
# - “folders/<folder-id>”, e.g. “folders/1234”
|
|
# - “organizations/<organization-id>”, e.g. “organizations/1234”
|
|
# The `supports_under` field of the associated `Constraint` defines whether
|
|
# ancestry prefixes can be used. You can set `allowed_values` and
|
|
# `denied_values` in the same `Policy` if `all_values` is
|
|
# `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
|
|
# values. If `all_values` is set to either `ALLOW` or `DENY`,
|
|
# `allowed_values` and `denied_values` must be unset.
|
|
"allValues": "A String", # The policy all_values state.
|
|
"allowedValues": [ # List of values allowed at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
"inheritFromParent": True or False, # 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 for
|
|
# `projects/bar` parented by `organizations/foo`:
|
|
#
|
|
# 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 at `organizations/foo` are `E1`, `E2`.
|
|
# The accepted values at `projects/bar` are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 5 (no policy inherits parent policy):
|
|
# `organizations/foo` has no `Policy` set.
|
|
# `projects/bar` has no `Policy` set.
|
|
# The accepted values at both levels are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 6 (ListConstraint allowing all):
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: “E1” allowed_values: ”E2”}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {all: ALLOW}
|
|
# The accepted values at `organizations/foo` are `E1`, 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 at `projects/bar`.
|
|
#
|
|
# Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
|
|
# Given the following resource hierarchy
|
|
# O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: "under:organizations/O1"}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {allowed_values: "under:projects/P3"}
|
|
# {denied_values: "under:folders/F2"}
|
|
# The accepted values at `organizations/foo` are `organizations/O1`,
|
|
# `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
|
|
# `projects/P3`.
|
|
# The accepted values at `projects/bar` are `organizations/O1`,
|
|
# `folders/F1`, `projects/P1`.
|
|
"suggestedValue": "A 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`.
|
|
"deniedValues": [ # List of values denied at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
},
|
|
"booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not.
|
|
# resource.
|
|
"enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any
|
|
# configuration is acceptable.
|
|
#
|
|
# Suppose you have a `Constraint`
|
|
# `constraints/compute.disableSerialPortAccess` with `constraint_default`
|
|
# set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
|
|
# behavior:
|
|
# - If the `Policy` at this resource has enforced set to `false`, serial
|
|
# port connection attempts will be allowed.
|
|
# - If the `Policy` at this resource has enforced set to `true`, serial
|
|
# port connection attempts will be refused.
|
|
# - If the `Policy` at this resource is `RestoreDefault`, serial port
|
|
# connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource or anywhere higher in the
|
|
# resource hierarchy, serial port connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource, but one exists higher in the
|
|
# resource hierarchy, the behavior is as if the`Policy` were set at
|
|
# this resource.
|
|
#
|
|
# The following examples demonstrate the different possible layerings:
|
|
#
|
|
# Example 1 (nearest `Constraint` wins):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has no `Policy` set.
|
|
# The constraint at `projects/bar` and `organizations/foo` will not be
|
|
# enforced.
|
|
#
|
|
# Example 2 (enforcement gets replaced):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {enforced: true}
|
|
# The constraint at `organizations/foo` is not enforced.
|
|
# The constraint at `projects/bar` is enforced.
|
|
#
|
|
# Example 3 (RestoreDefault):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: true}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {RestoreDefault: {}}
|
|
# The constraint at `organizations/foo` is enforced.
|
|
# The constraint at `projects/bar` is not enforced, because
|
|
# `constraint_default` for the `Constraint` is `ALLOW`.
|
|
},
|
|
"etag": "A String", # 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 `SetOrgPolicy` method, use the `etag` value
|
|
# that was returned from a `GetOrgPolicy` request as part of a
|
|
# read-modify-write loop for concurrency control. Not setting the `etag`in a
|
|
# `SetOrgPolicy` request will result in an unconditional write of the
|
|
# `Policy`.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
|
|
<pre>Returns the IAM access control policy for the specified Project.
|
|
Permission is denied if the policy or the resource does not exist.
|
|
|
|
Authorization requires the Google IAM permission
|
|
`resourcemanager.projects.getIamPolicy` on the project.
|
|
|
|
For additional information about resource structure and identification,
|
|
see [Resource Names](/apis/design/resource_names).
|
|
|
|
Args:
|
|
resource: string, REQUIRED: The resource for which the policy is being requested.
|
|
See the operation documentation for the appropriate value for this field. (required)
|
|
body: object, The request body.
|
|
The object takes the form of:
|
|
|
|
{ # Request message for `GetIamPolicy` method.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Defines an Identity and Access Management (IAM) policy. It is used to
|
|
# specify access control policies for Cloud Platform resources.
|
|
#
|
|
#
|
|
# A `Policy` consists of a list of `bindings`. A `binding` binds a list of
|
|
# `members` to a `role`, where the members can be user accounts, Google groups,
|
|
# Google domains, and service accounts. A `role` is a named list of permissions
|
|
# defined by IAM.
|
|
#
|
|
# **JSON Example**
|
|
#
|
|
# {
|
|
# "bindings": [
|
|
# {
|
|
# "role": "roles/owner",
|
|
# "members": [
|
|
# "user:mike@example.com",
|
|
# "group:admins@example.com",
|
|
# "domain:google.com",
|
|
# "serviceAccount:my-other-app@appspot.gserviceaccount.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "role": "roles/viewer",
|
|
# "members": ["user:sean@example.com"]
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# **YAML Example**
|
|
#
|
|
# bindings:
|
|
# - members:
|
|
# - user:mike@example.com
|
|
# - group:admins@example.com
|
|
# - domain:google.com
|
|
# - serviceAccount:my-other-app@appspot.gserviceaccount.com
|
|
# role: roles/owner
|
|
# - members:
|
|
# - user:sean@example.com
|
|
# role: roles/viewer
|
|
#
|
|
#
|
|
# For a description of IAM and its features, see the
|
|
# [IAM developer's guide](https://cloud.google.com/iam/docs).
|
|
"bindings": [ # Associates a list of `members` to a `role`.
|
|
# `bindings` with no members will result in an error.
|
|
{ # Associates `members` with a `role`.
|
|
"role": "A String", # Role that is assigned to `members`.
|
|
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
"condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
|
|
# NOTE: An unsatisfied condition will not allow user access via current
|
|
# binding. Different bindings, including their conditions, are examined
|
|
# independently.
|
|
#
|
|
# title: "User account presence"
|
|
# description: "Determines whether the request has a user account"
|
|
# expression: "size(request.user) > 0"
|
|
"location": "A String", # An optional string indicating the location of the expression for error
|
|
# reporting, e.g. a file name and a position in the file.
|
|
"expression": "A String", # Textual representation of an expression in
|
|
# Common Expression Language syntax.
|
|
#
|
|
# The application context of the containing message determines which
|
|
# well-known feature set of CEL is supported.
|
|
"description": "A String", # An optional description of the expression. This is a longer text which
|
|
# describes the expression, e.g. when hovered over it in a UI.
|
|
"title": "A String", # An optional title for the expression, i.e. a short string describing
|
|
# its purpose. This can be used e.g. in UIs which allow to enter the
|
|
# expression.
|
|
},
|
|
"members": [ # Specifies the identities requesting access for a Cloud Platform resource.
|
|
# `members` can have the following values:
|
|
#
|
|
# * `allUsers`: A special identifier that represents anyone who is
|
|
# on the internet; with or without a Google account.
|
|
#
|
|
# * `allAuthenticatedUsers`: A special identifier that represents anyone
|
|
# who is authenticated with a Google account or a service account.
|
|
#
|
|
# * `user:{emailid}`: An email address that represents a specific Google
|
|
# account. For example, `alice@gmail.com` .
|
|
#
|
|
#
|
|
# * `serviceAccount:{emailid}`: An email address that represents a service
|
|
# account. For example, `my-other-app@appspot.gserviceaccount.com`.
|
|
#
|
|
# * `group:{emailid}`: An email address that represents a Google group.
|
|
# For example, `admins@example.com`.
|
|
#
|
|
#
|
|
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
|
|
# users of that domain. For example, `google.com` or `example.com`.
|
|
#
|
|
"A String",
|
|
],
|
|
},
|
|
],
|
|
"etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
|
|
# prevent simultaneous updates of a policy from overwriting each other.
|
|
# It is strongly suggested that systems make use of the `etag` in the
|
|
# read-modify-write cycle to perform policy updates in order to avoid race
|
|
# conditions: An `etag` is returned in the response to `getIamPolicy`, and
|
|
# systems are expected to put that etag in the request to `setIamPolicy` to
|
|
# ensure that their change will be applied to the same version of the policy.
|
|
#
|
|
# If no `etag` is provided in the call to `setIamPolicy`, then the existing
|
|
# policy is overwritten blindly.
|
|
"version": 42, # Deprecated.
|
|
"auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
|
|
{ # Specifies the audit configuration for a service.
|
|
# The configuration determines which permission types are logged, and what
|
|
# identities, if any, are exempted from logging.
|
|
# An AuditConfig must have one or more AuditLogConfigs.
|
|
#
|
|
# If there are AuditConfigs for both `allServices` and a specific service,
|
|
# the union of the two AuditConfigs is used for that service: the log_types
|
|
# specified in each AuditConfig are enabled, and the exempted_members in each
|
|
# AuditLogConfig are exempted.
|
|
#
|
|
# Example Policy with multiple AuditConfigs:
|
|
#
|
|
# {
|
|
# "audit_configs": [
|
|
# {
|
|
# "service": "allServices"
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# "exempted_members": [
|
|
# "user:foo@gmail.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# },
|
|
# {
|
|
# "log_type": "ADMIN_READ",
|
|
# }
|
|
# ]
|
|
# },
|
|
# {
|
|
# "service": "fooservice.googleapis.com"
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# "exempted_members": [
|
|
# "user:bar@gmail.com"
|
|
# ]
|
|
# }
|
|
# ]
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
|
|
# logging. It also exempts foo@gmail.com from DATA_READ logging, and
|
|
# bar@gmail.com from DATA_WRITE logging.
|
|
"auditLogConfigs": [ # The configuration for logging of each type of permission.
|
|
{ # Provides the configuration for logging a type of permissions.
|
|
# Example:
|
|
#
|
|
# {
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# "exempted_members": [
|
|
# "user:foo@gmail.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
|
|
# foo@gmail.com from DATA_READ logging.
|
|
"exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
|
|
# permission.
|
|
# Follows the same format of Binding.members.
|
|
"A String",
|
|
],
|
|
"logType": "A String", # The log type that this config enables.
|
|
},
|
|
],
|
|
"service": "A String", # Specifies a service that will be enabled for audit logging.
|
|
# For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
|
|
# `allServices` is a special value that covers all services.
|
|
},
|
|
],
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="getOrgPolicy">getOrgPolicy(resource, body, x__xgafv=None)</code>
|
|
<pre>Gets a `Policy` on a resource.
|
|
|
|
If no `Policy` is set on the resource, a `Policy` is returned with default
|
|
values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The
|
|
`etag` value can be used with `SetOrgPolicy()` to create or update a
|
|
`Policy` during read-modify-write.
|
|
|
|
Args:
|
|
resource: string, Name of the resource the `Policy` is set on. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the GetOrgPolicy method.
|
|
"constraint": "A String", # Name of the `Constraint` to get the `Policy`.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
|
|
# for configurations of Cloud Platform resources.
|
|
"updateTime": "A String", # 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
|
|
# `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
|
|
# be ignored.
|
|
"version": 42, # Version of the `Policy`. Default version is 0;
|
|
"constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example,
|
|
# `constraints/serviceuser.services`.
|
|
#
|
|
# Immutable after creation.
|
|
"restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of
|
|
# `Constraint` type.
|
|
# `constraint_default` enforcement behavior of the specific `Constraint` at
|
|
# this resource.
|
|
#
|
|
# Suppose that `constraint_default` 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 `policy_type` `restore_default` on
|
|
# several experimental projects, restoring the `constraint_default`
|
|
# enforcement of the `Constraint` for only those projects, allowing those
|
|
# projects to have all services activated.
|
|
},
|
|
"listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed.
|
|
# 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 `allowed_values` and `denied_values`
|
|
# 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/<project-id>”, e.g. “projects/tokyo-rain-123”
|
|
# - “folders/<folder-id>”, e.g. “folders/1234”
|
|
# - “organizations/<organization-id>”, e.g. “organizations/1234”
|
|
# The `supports_under` field of the associated `Constraint` defines whether
|
|
# ancestry prefixes can be used. You can set `allowed_values` and
|
|
# `denied_values` in the same `Policy` if `all_values` is
|
|
# `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
|
|
# values. If `all_values` is set to either `ALLOW` or `DENY`,
|
|
# `allowed_values` and `denied_values` must be unset.
|
|
"allValues": "A String", # The policy all_values state.
|
|
"allowedValues": [ # List of values allowed at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
"inheritFromParent": True or False, # 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 for
|
|
# `projects/bar` parented by `organizations/foo`:
|
|
#
|
|
# 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 at `organizations/foo` are `E1`, `E2`.
|
|
# The accepted values at `projects/bar` are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 5 (no policy inherits parent policy):
|
|
# `organizations/foo` has no `Policy` set.
|
|
# `projects/bar` has no `Policy` set.
|
|
# The accepted values at both levels are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 6 (ListConstraint allowing all):
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: “E1” allowed_values: ”E2”}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {all: ALLOW}
|
|
# The accepted values at `organizations/foo` are `E1`, 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 at `projects/bar`.
|
|
#
|
|
# Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
|
|
# Given the following resource hierarchy
|
|
# O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: "under:organizations/O1"}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {allowed_values: "under:projects/P3"}
|
|
# {denied_values: "under:folders/F2"}
|
|
# The accepted values at `organizations/foo` are `organizations/O1`,
|
|
# `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
|
|
# `projects/P3`.
|
|
# The accepted values at `projects/bar` are `organizations/O1`,
|
|
# `folders/F1`, `projects/P1`.
|
|
"suggestedValue": "A 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`.
|
|
"deniedValues": [ # List of values denied at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
},
|
|
"booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not.
|
|
# resource.
|
|
"enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any
|
|
# configuration is acceptable.
|
|
#
|
|
# Suppose you have a `Constraint`
|
|
# `constraints/compute.disableSerialPortAccess` with `constraint_default`
|
|
# set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
|
|
# behavior:
|
|
# - If the `Policy` at this resource has enforced set to `false`, serial
|
|
# port connection attempts will be allowed.
|
|
# - If the `Policy` at this resource has enforced set to `true`, serial
|
|
# port connection attempts will be refused.
|
|
# - If the `Policy` at this resource is `RestoreDefault`, serial port
|
|
# connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource or anywhere higher in the
|
|
# resource hierarchy, serial port connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource, but one exists higher in the
|
|
# resource hierarchy, the behavior is as if the`Policy` were set at
|
|
# this resource.
|
|
#
|
|
# The following examples demonstrate the different possible layerings:
|
|
#
|
|
# Example 1 (nearest `Constraint` wins):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has no `Policy` set.
|
|
# The constraint at `projects/bar` and `organizations/foo` will not be
|
|
# enforced.
|
|
#
|
|
# Example 2 (enforcement gets replaced):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {enforced: true}
|
|
# The constraint at `organizations/foo` is not enforced.
|
|
# The constraint at `projects/bar` is enforced.
|
|
#
|
|
# Example 3 (RestoreDefault):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: true}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {RestoreDefault: {}}
|
|
# The constraint at `organizations/foo` is enforced.
|
|
# The constraint at `projects/bar` is not enforced, because
|
|
# `constraint_default` for the `Constraint` is `ALLOW`.
|
|
},
|
|
"etag": "A String", # 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 `SetOrgPolicy` method, use the `etag` value
|
|
# that was returned from a `GetOrgPolicy` request as part of a
|
|
# read-modify-write loop for concurrency control. Not setting the `etag`in a
|
|
# `SetOrgPolicy` request will result in an unconditional write of the
|
|
# `Policy`.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="list">list(pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
|
|
<pre>Lists Projects that the caller has the `resourcemanager.projects.get`
|
|
permission on and satisfy the specified filter.
|
|
|
|
This method returns Projects in an unspecified order.
|
|
This method is eventually consistent with project mutations; this means
|
|
that a newly created project may not appear in the results or recent
|
|
updates to an existing project may not be reflected in the results. To
|
|
retrieve the latest state of a project, use the
|
|
GetProject method.
|
|
|
|
NOTE: If the request filter contains a `parent.type` and `parent.id` and
|
|
the caller has the `resourcemanager.projects.list` permission on the
|
|
parent, the results will be drawn from an alternate index which provides
|
|
more consistent results. In future versions of this API, this List method
|
|
will be split into List and Search to properly capture the behavorial
|
|
difference.
|
|
|
|
Args:
|
|
pageSize: integer, The maximum number of Projects to return in the response.
|
|
The server can return fewer Projects than requested.
|
|
If unspecified, server picks an appropriate default.
|
|
|
|
Optional.
|
|
pageToken: string, A pagination token returned from a previous call to ListProjects
|
|
that indicates from where listing should continue.
|
|
|
|
Optional.
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
filter: string, An expression for filtering the results of the request. Filter rules are
|
|
case insensitive. The fields eligible for filtering are:
|
|
|
|
+ `name`
|
|
+ `id`
|
|
+ `labels.<key>` (where *key* is the name of a label)
|
|
+ `parent.type`
|
|
+ `parent.id`
|
|
|
|
Some examples of using labels as filters:
|
|
|
|
| Filter | Description |
|
|
|------------------|-----------------------------------------------------|
|
|
| name:how* | The project's name starts with "how". |
|
|
| name:Howl | The project's name is `Howl` or `howl`. |
|
|
| name:HOWL | Equivalent to above. |
|
|
| NAME:howl | Equivalent to above. |
|
|
| labels.color:* | The project has the label `color`. |
|
|
| labels.color:red | The project's label `color` has the value `red`. |
|
|
| labels.color:red labels.size:big |The project's label `color` has
|
|
the value `red` and its label `size` has the value `big`. |
|
|
|
|
If no filter is specified, the call will return projects for which the user
|
|
has the `resourcemanager.projects.get` permission.
|
|
|
|
NOTE: To perform a by-parent query (eg., what projects are directly in a
|
|
Folder), the caller must have the `resourcemanager.projects.list`
|
|
permission on the parent and the filter must contain both a `parent.type`
|
|
and a `parent.id` restriction
|
|
(example: "parent.type:folder parent.id:123"). In this case an alternate
|
|
search index is used which provides more consistent results.
|
|
|
|
Optional.
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # A page of the response received from the
|
|
# ListProjects
|
|
# method.
|
|
#
|
|
# A paginated response where more pages are available has
|
|
# `next_page_token` set. This token can be used in a subsequent request to
|
|
# retrieve the next request page.
|
|
"nextPageToken": "A String", # Pagination token.
|
|
#
|
|
# If the result set is too large to fit in a single response, this token
|
|
# is returned. It encodes the position of the current result cursor.
|
|
# Feeding this value into a new list request with the `page_token` parameter
|
|
# gives the next page of the results.
|
|
#
|
|
# When `next_page_token` is not filled in, there is no next page and
|
|
# the list returned is the last page in the result set.
|
|
#
|
|
# Pagination tokens have a limited lifetime.
|
|
"projects": [ # The list of Projects that matched the list filter. This list can
|
|
# be paginated.
|
|
{ # A Project is a high-level Google Cloud Platform entity. It is a
|
|
# container for ACLs, APIs, App Engine Apps, VMs, and other
|
|
# Google Cloud Platform resources.
|
|
"name": "A String", # The optional user-assigned display name of the Project.
|
|
# When present it must be between 4 to 30 characters.
|
|
# Allowed characters are: lowercase and uppercase letters, numbers,
|
|
# hyphen, single-quote, double-quote, space, and exclamation point.
|
|
#
|
|
# Example: <code>My Project</code>
|
|
# Read-write.
|
|
"parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource.
|
|
#
|
|
# Supported parent types include "organization" and "folder". Once set, the
|
|
# parent cannot be cleared. The `parent` can be set on creation or using the
|
|
# `UpdateProject` method; the end user must have the
|
|
# `resourcemanager.projects.create` permission on the parent.
|
|
#
|
|
# Read-write.
|
|
# Cloud Platform is a generic term for something you (a developer) may want to
|
|
# interact with through one of our API's. Some examples are an App Engine app,
|
|
# a Compute Engine instance, a Cloud SQL database, and so on.
|
|
"type": "A String", # Required field representing the resource type this id is for.
|
|
# At present, the valid types are: "organization" and "folder".
|
|
"id": "A String", # Required field for the type-specific id. This should correspond to the id
|
|
# used in the type-specific API's.
|
|
},
|
|
"projectId": "A String", # The unique, user-assigned ID of the Project.
|
|
# It must be 6 to 30 lowercase letters, digits, or hyphens.
|
|
# It must start with a letter.
|
|
# Trailing hyphens are prohibited.
|
|
#
|
|
# Example: <code>tokyo-rain-123</code>
|
|
# Read-only after creation.
|
|
"labels": { # The labels associated with this Project.
|
|
#
|
|
# Label keys must be between 1 and 63 characters long and must conform
|
|
# to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
|
|
#
|
|
# Label values must be between 0 and 63 characters long and must conform
|
|
# to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. A label
|
|
# value can be empty.
|
|
#
|
|
# No more than 256 labels can be associated with a given resource.
|
|
#
|
|
# Clients should store labels in a representation such as JSON that does not
|
|
# depend on specific characters being disallowed.
|
|
#
|
|
# Example: <code>"environment" : "dev"</code>
|
|
# Read-write.
|
|
"a_key": "A String",
|
|
},
|
|
"createTime": "A String", # Creation time.
|
|
#
|
|
# Read-only.
|
|
"lifecycleState": "A String", # The Project lifecycle state.
|
|
#
|
|
# Read-only.
|
|
"projectNumber": "A String", # The number uniquely identifying the project.
|
|
#
|
|
# Example: <code>415104041262</code>
|
|
# Read-only.
|
|
},
|
|
],
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="listAvailableOrgPolicyConstraints">listAvailableOrgPolicyConstraints(resource, body, x__xgafv=None)</code>
|
|
<pre>Lists `Constraints` that could be applied on the specified resource.
|
|
|
|
Args:
|
|
resource: string, Name of the resource to list `Constraints` for. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the [ListAvailableOrgPolicyConstraints]
|
|
# google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
|
|
"pageToken": "A String", # Page token used to retrieve the next page. This is currently unsupported
|
|
# and will be ignored. The server may at any point start using this field.
|
|
"pageSize": 42, # Size of the pages to be returned. This is currently unsupported and will
|
|
# be ignored. The server may at any point start using this field to limit
|
|
# page size.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # The response returned from the ListAvailableOrgPolicyConstraints method.
|
|
# Returns all `Constraints` that could be set at this level of the hierarchy
|
|
# (contrast with the response from `ListPolicies`, which returns all policies
|
|
# which are set).
|
|
"nextPageToken": "A String", # Page token used to retrieve the next page. This is currently not used.
|
|
"constraints": [ # The collection of constraints that are settable on the request resource.
|
|
{ # A `Constraint` describes a way in which a resource's configuration can be
|
|
# restricted. For example, it controls which cloud services can be activated
|
|
# across an organization, or whether a Compute Engine instance can have
|
|
# serial port connections established. `Constraints` can be configured by the
|
|
# organization's policy adminstrator to fit the needs of the organzation by
|
|
# setting Policies for `Constraints` at different locations in the
|
|
# organization's resource hierarchy. Policies are inherited down the resource
|
|
# hierarchy from higher levels, but can also be overridden. For details about
|
|
# the inheritance rules please read about
|
|
# Policies.
|
|
#
|
|
# `Constraints` have a default behavior determined by the `constraint_default`
|
|
# field, which is the enforcement behavior that is used in the absence of a
|
|
# `Policy` being defined or inherited for the resource in question.
|
|
"constraintDefault": "A String", # The evaluation behavior of this constraint in the absense of 'Policy'.
|
|
"displayName": "A String", # The human readable name.
|
|
#
|
|
# Mutable.
|
|
"name": "A String", # Immutable value, required to globally be unique. For example,
|
|
# `constraints/serviceuser.services`
|
|
"booleanConstraint": { # A `Constraint` that is either enforced or not. # Defines this constraint as being a BooleanConstraint.
|
|
#
|
|
# For example a constraint `constraints/compute.disableSerialPortAccess`.
|
|
# If it is enforced on a VM instance, serial port connections will not be
|
|
# opened to that instance.
|
|
},
|
|
"version": 42, # Version of the `Constraint`. Default version is 0;
|
|
"listConstraint": { # A `Constraint` that allows or disallows a list of string values, which are # Defines this constraint as being a ListConstraint.
|
|
# configured by an Organization's policy administrator with a `Policy`.
|
|
"supportsUnder": True or False, # Indicates whether subtrees of Cloud Resource Manager resource hierarchy
|
|
# can be used in `Policy.allowed_values` and `Policy.denied_values`. For
|
|
# example, `"under:folders/123"` would match any resource under the
|
|
# 'folders/123' folder.
|
|
"suggestedValue": "A String", # Optional. The Google Cloud Console will try to default to a configuration
|
|
# that matches the value specified in this `Constraint`.
|
|
},
|
|
"description": "A String", # Detailed description of what this `Constraint` controls as well as how and
|
|
# where it is enforced.
|
|
#
|
|
# Mutable.
|
|
},
|
|
],
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="listAvailableOrgPolicyConstraints_next">listAvailableOrgPolicyConstraints_next(previous_request, previous_response)</code>
|
|
<pre>Retrieves the next page of results.
|
|
|
|
Args:
|
|
previous_request: The request for the previous page. (required)
|
|
previous_response: The response from the request for the previous page. (required)
|
|
|
|
Returns:
|
|
A request object that you can call 'execute()' on to request the next
|
|
page. Returns None if there are no more items in the collection.
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="listOrgPolicies">listOrgPolicies(resource, body, x__xgafv=None)</code>
|
|
<pre>Lists all the `Policies` set for a particular resource.
|
|
|
|
Args:
|
|
resource: string, Name of the resource to list Policies for. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the ListOrgPolicies method.
|
|
"pageToken": "A String", # Page token used to retrieve the next page. This is currently unsupported
|
|
# and will be ignored. The server may at any point start using this field.
|
|
"pageSize": 42, # Size of the pages to be returned. This is currently unsupported and will
|
|
# be ignored. The server may at any point start using this field to limit
|
|
# page size.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # The response returned from the ListOrgPolicies method. It will be empty
|
|
# if no `Policies` are set on the resource.
|
|
"nextPageToken": "A String", # Page token used to retrieve the next page. This is currently not used, but
|
|
# the server may at any point start supplying a valid token.
|
|
"policies": [ # The `Policies` that are set on the resource. It will be empty if no
|
|
# `Policies` are set.
|
|
{ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
|
|
# for configurations of Cloud Platform resources.
|
|
"updateTime": "A String", # 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
|
|
# `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
|
|
# be ignored.
|
|
"version": 42, # Version of the `Policy`. Default version is 0;
|
|
"constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example,
|
|
# `constraints/serviceuser.services`.
|
|
#
|
|
# Immutable after creation.
|
|
"restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of
|
|
# `Constraint` type.
|
|
# `constraint_default` enforcement behavior of the specific `Constraint` at
|
|
# this resource.
|
|
#
|
|
# Suppose that `constraint_default` 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 `policy_type` `restore_default` on
|
|
# several experimental projects, restoring the `constraint_default`
|
|
# enforcement of the `Constraint` for only those projects, allowing those
|
|
# projects to have all services activated.
|
|
},
|
|
"listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed.
|
|
# 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 `allowed_values` and `denied_values`
|
|
# 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/<project-id>”, e.g. “projects/tokyo-rain-123”
|
|
# - “folders/<folder-id>”, e.g. “folders/1234”
|
|
# - “organizations/<organization-id>”, e.g. “organizations/1234”
|
|
# The `supports_under` field of the associated `Constraint` defines whether
|
|
# ancestry prefixes can be used. You can set `allowed_values` and
|
|
# `denied_values` in the same `Policy` if `all_values` is
|
|
# `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
|
|
# values. If `all_values` is set to either `ALLOW` or `DENY`,
|
|
# `allowed_values` and `denied_values` must be unset.
|
|
"allValues": "A String", # The policy all_values state.
|
|
"allowedValues": [ # List of values allowed at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
"inheritFromParent": True or False, # 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 for
|
|
# `projects/bar` parented by `organizations/foo`:
|
|
#
|
|
# 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 at `organizations/foo` are `E1`, `E2`.
|
|
# The accepted values at `projects/bar` are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 5 (no policy inherits parent policy):
|
|
# `organizations/foo` has no `Policy` set.
|
|
# `projects/bar` has no `Policy` set.
|
|
# The accepted values at both levels are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 6 (ListConstraint allowing all):
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: “E1” allowed_values: ”E2”}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {all: ALLOW}
|
|
# The accepted values at `organizations/foo` are `E1`, 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 at `projects/bar`.
|
|
#
|
|
# Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
|
|
# Given the following resource hierarchy
|
|
# O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: "under:organizations/O1"}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {allowed_values: "under:projects/P3"}
|
|
# {denied_values: "under:folders/F2"}
|
|
# The accepted values at `organizations/foo` are `organizations/O1`,
|
|
# `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
|
|
# `projects/P3`.
|
|
# The accepted values at `projects/bar` are `organizations/O1`,
|
|
# `folders/F1`, `projects/P1`.
|
|
"suggestedValue": "A 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`.
|
|
"deniedValues": [ # List of values denied at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
},
|
|
"booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not.
|
|
# resource.
|
|
"enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any
|
|
# configuration is acceptable.
|
|
#
|
|
# Suppose you have a `Constraint`
|
|
# `constraints/compute.disableSerialPortAccess` with `constraint_default`
|
|
# set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
|
|
# behavior:
|
|
# - If the `Policy` at this resource has enforced set to `false`, serial
|
|
# port connection attempts will be allowed.
|
|
# - If the `Policy` at this resource has enforced set to `true`, serial
|
|
# port connection attempts will be refused.
|
|
# - If the `Policy` at this resource is `RestoreDefault`, serial port
|
|
# connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource or anywhere higher in the
|
|
# resource hierarchy, serial port connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource, but one exists higher in the
|
|
# resource hierarchy, the behavior is as if the`Policy` were set at
|
|
# this resource.
|
|
#
|
|
# The following examples demonstrate the different possible layerings:
|
|
#
|
|
# Example 1 (nearest `Constraint` wins):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has no `Policy` set.
|
|
# The constraint at `projects/bar` and `organizations/foo` will not be
|
|
# enforced.
|
|
#
|
|
# Example 2 (enforcement gets replaced):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {enforced: true}
|
|
# The constraint at `organizations/foo` is not enforced.
|
|
# The constraint at `projects/bar` is enforced.
|
|
#
|
|
# Example 3 (RestoreDefault):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: true}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {RestoreDefault: {}}
|
|
# The constraint at `organizations/foo` is enforced.
|
|
# The constraint at `projects/bar` is not enforced, because
|
|
# `constraint_default` for the `Constraint` is `ALLOW`.
|
|
},
|
|
"etag": "A String", # 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 `SetOrgPolicy` method, use the `etag` value
|
|
# that was returned from a `GetOrgPolicy` request as part of a
|
|
# read-modify-write loop for concurrency control. Not setting the `etag`in a
|
|
# `SetOrgPolicy` request will result in an unconditional write of the
|
|
# `Policy`.
|
|
},
|
|
],
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="listOrgPolicies_next">listOrgPolicies_next(previous_request, previous_response)</code>
|
|
<pre>Retrieves the next page of results.
|
|
|
|
Args:
|
|
previous_request: The request for the previous page. (required)
|
|
previous_response: The response from the request for the previous page. (required)
|
|
|
|
Returns:
|
|
A request object that you can call 'execute()' on to request the next
|
|
page. Returns None if there are no more items in the collection.
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="list_next">list_next(previous_request, previous_response)</code>
|
|
<pre>Retrieves the next page of results.
|
|
|
|
Args:
|
|
previous_request: The request for the previous page. (required)
|
|
previous_response: The response from the request for the previous page. (required)
|
|
|
|
Returns:
|
|
A request object that you can call 'execute()' on to request the next
|
|
page. Returns None if there are no more items in the collection.
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
|
|
<pre>Sets the IAM access control policy for the specified Project. Overwrites
|
|
any existing policy.
|
|
|
|
The following constraints apply when using `setIamPolicy()`:
|
|
|
|
+ Project does not support `allUsers` and `allAuthenticatedUsers` as
|
|
`members` in a `Binding` of a `Policy`.
|
|
|
|
+ The owner role can be granted only to `user` and `serviceAccount`.
|
|
|
|
+ Service accounts can be made owners of a project directly
|
|
without any restrictions. However, to be added as an owner, a user must be
|
|
invited via Cloud Platform console and must accept the invitation.
|
|
|
|
+ A user cannot be granted the owner role using `setIamPolicy()`. The user
|
|
must be granted the owner role using the Cloud Platform Console and must
|
|
explicitly accept the invitation.
|
|
|
|
+ You can only grant ownership of a project to a member by using the
|
|
GCP Console. Inviting a member will deliver an invitation email that
|
|
they must accept. An invitation email is not generated if you are
|
|
granting a role other than owner, or if both the member you are inviting
|
|
and the project are part of your organization.
|
|
|
|
+ Membership changes that leave the project without any owners that have
|
|
accepted the Terms of Service (ToS) will be rejected.
|
|
|
|
+ If the project is not part of an organization, there must be at least
|
|
one owner who has accepted the Terms of Service (ToS) agreement in the
|
|
policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner
|
|
from the policy will fail. This restriction also applies to legacy
|
|
projects that no longer have owners who have accepted the ToS. Edits to
|
|
IAM policies will be rejected until the lack of a ToS-accepting owner is
|
|
rectified.
|
|
|
|
+ This method will replace the existing policy, and cannot be used to
|
|
append additional IAM settings.
|
|
|
|
Note: Removing service accounts from policies or changing their roles
|
|
can render services completely inoperable. It is important to understand
|
|
how the service account is being used before removing or updating its
|
|
roles.
|
|
|
|
Authorization requires the Google IAM permission
|
|
`resourcemanager.projects.setIamPolicy` on the project
|
|
|
|
Args:
|
|
resource: string, REQUIRED: The resource for which the policy is being specified.
|
|
See the operation documentation for the appropriate value for this field. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # Request message for `SetIamPolicy` method.
|
|
"policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
|
|
# the policy is limited to a few 10s of KB. An empty policy is a
|
|
# valid policy but certain Cloud Platform services (such as Projects)
|
|
# might reject them.
|
|
# specify access control policies for Cloud Platform resources.
|
|
#
|
|
#
|
|
# A `Policy` consists of a list of `bindings`. A `binding` binds a list of
|
|
# `members` to a `role`, where the members can be user accounts, Google groups,
|
|
# Google domains, and service accounts. A `role` is a named list of permissions
|
|
# defined by IAM.
|
|
#
|
|
# **JSON Example**
|
|
#
|
|
# {
|
|
# "bindings": [
|
|
# {
|
|
# "role": "roles/owner",
|
|
# "members": [
|
|
# "user:mike@example.com",
|
|
# "group:admins@example.com",
|
|
# "domain:google.com",
|
|
# "serviceAccount:my-other-app@appspot.gserviceaccount.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "role": "roles/viewer",
|
|
# "members": ["user:sean@example.com"]
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# **YAML Example**
|
|
#
|
|
# bindings:
|
|
# - members:
|
|
# - user:mike@example.com
|
|
# - group:admins@example.com
|
|
# - domain:google.com
|
|
# - serviceAccount:my-other-app@appspot.gserviceaccount.com
|
|
# role: roles/owner
|
|
# - members:
|
|
# - user:sean@example.com
|
|
# role: roles/viewer
|
|
#
|
|
#
|
|
# For a description of IAM and its features, see the
|
|
# [IAM developer's guide](https://cloud.google.com/iam/docs).
|
|
"bindings": [ # Associates a list of `members` to a `role`.
|
|
# `bindings` with no members will result in an error.
|
|
{ # Associates `members` with a `role`.
|
|
"role": "A String", # Role that is assigned to `members`.
|
|
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
"condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
|
|
# NOTE: An unsatisfied condition will not allow user access via current
|
|
# binding. Different bindings, including their conditions, are examined
|
|
# independently.
|
|
#
|
|
# title: "User account presence"
|
|
# description: "Determines whether the request has a user account"
|
|
# expression: "size(request.user) > 0"
|
|
"location": "A String", # An optional string indicating the location of the expression for error
|
|
# reporting, e.g. a file name and a position in the file.
|
|
"expression": "A String", # Textual representation of an expression in
|
|
# Common Expression Language syntax.
|
|
#
|
|
# The application context of the containing message determines which
|
|
# well-known feature set of CEL is supported.
|
|
"description": "A String", # An optional description of the expression. This is a longer text which
|
|
# describes the expression, e.g. when hovered over it in a UI.
|
|
"title": "A String", # An optional title for the expression, i.e. a short string describing
|
|
# its purpose. This can be used e.g. in UIs which allow to enter the
|
|
# expression.
|
|
},
|
|
"members": [ # Specifies the identities requesting access for a Cloud Platform resource.
|
|
# `members` can have the following values:
|
|
#
|
|
# * `allUsers`: A special identifier that represents anyone who is
|
|
# on the internet; with or without a Google account.
|
|
#
|
|
# * `allAuthenticatedUsers`: A special identifier that represents anyone
|
|
# who is authenticated with a Google account or a service account.
|
|
#
|
|
# * `user:{emailid}`: An email address that represents a specific Google
|
|
# account. For example, `alice@gmail.com` .
|
|
#
|
|
#
|
|
# * `serviceAccount:{emailid}`: An email address that represents a service
|
|
# account. For example, `my-other-app@appspot.gserviceaccount.com`.
|
|
#
|
|
# * `group:{emailid}`: An email address that represents a Google group.
|
|
# For example, `admins@example.com`.
|
|
#
|
|
#
|
|
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
|
|
# users of that domain. For example, `google.com` or `example.com`.
|
|
#
|
|
"A String",
|
|
],
|
|
},
|
|
],
|
|
"etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
|
|
# prevent simultaneous updates of a policy from overwriting each other.
|
|
# It is strongly suggested that systems make use of the `etag` in the
|
|
# read-modify-write cycle to perform policy updates in order to avoid race
|
|
# conditions: An `etag` is returned in the response to `getIamPolicy`, and
|
|
# systems are expected to put that etag in the request to `setIamPolicy` to
|
|
# ensure that their change will be applied to the same version of the policy.
|
|
#
|
|
# If no `etag` is provided in the call to `setIamPolicy`, then the existing
|
|
# policy is overwritten blindly.
|
|
"version": 42, # Deprecated.
|
|
"auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
|
|
{ # Specifies the audit configuration for a service.
|
|
# The configuration determines which permission types are logged, and what
|
|
# identities, if any, are exempted from logging.
|
|
# An AuditConfig must have one or more AuditLogConfigs.
|
|
#
|
|
# If there are AuditConfigs for both `allServices` and a specific service,
|
|
# the union of the two AuditConfigs is used for that service: the log_types
|
|
# specified in each AuditConfig are enabled, and the exempted_members in each
|
|
# AuditLogConfig are exempted.
|
|
#
|
|
# Example Policy with multiple AuditConfigs:
|
|
#
|
|
# {
|
|
# "audit_configs": [
|
|
# {
|
|
# "service": "allServices"
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# "exempted_members": [
|
|
# "user:foo@gmail.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# },
|
|
# {
|
|
# "log_type": "ADMIN_READ",
|
|
# }
|
|
# ]
|
|
# },
|
|
# {
|
|
# "service": "fooservice.googleapis.com"
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# "exempted_members": [
|
|
# "user:bar@gmail.com"
|
|
# ]
|
|
# }
|
|
# ]
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
|
|
# logging. It also exempts foo@gmail.com from DATA_READ logging, and
|
|
# bar@gmail.com from DATA_WRITE logging.
|
|
"auditLogConfigs": [ # The configuration for logging of each type of permission.
|
|
{ # Provides the configuration for logging a type of permissions.
|
|
# Example:
|
|
#
|
|
# {
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# "exempted_members": [
|
|
# "user:foo@gmail.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
|
|
# foo@gmail.com from DATA_READ logging.
|
|
"exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
|
|
# permission.
|
|
# Follows the same format of Binding.members.
|
|
"A String",
|
|
],
|
|
"logType": "A String", # The log type that this config enables.
|
|
},
|
|
],
|
|
"service": "A String", # Specifies a service that will be enabled for audit logging.
|
|
# For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
|
|
# `allServices` is a special value that covers all services.
|
|
},
|
|
],
|
|
},
|
|
"updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
|
|
# the fields in the mask will be modified. If no mask is provided, the
|
|
# following default mask is used:
|
|
# paths: "bindings, etag"
|
|
# This field is only used by Cloud IAM.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Defines an Identity and Access Management (IAM) policy. It is used to
|
|
# specify access control policies for Cloud Platform resources.
|
|
#
|
|
#
|
|
# A `Policy` consists of a list of `bindings`. A `binding` binds a list of
|
|
# `members` to a `role`, where the members can be user accounts, Google groups,
|
|
# Google domains, and service accounts. A `role` is a named list of permissions
|
|
# defined by IAM.
|
|
#
|
|
# **JSON Example**
|
|
#
|
|
# {
|
|
# "bindings": [
|
|
# {
|
|
# "role": "roles/owner",
|
|
# "members": [
|
|
# "user:mike@example.com",
|
|
# "group:admins@example.com",
|
|
# "domain:google.com",
|
|
# "serviceAccount:my-other-app@appspot.gserviceaccount.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "role": "roles/viewer",
|
|
# "members": ["user:sean@example.com"]
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# **YAML Example**
|
|
#
|
|
# bindings:
|
|
# - members:
|
|
# - user:mike@example.com
|
|
# - group:admins@example.com
|
|
# - domain:google.com
|
|
# - serviceAccount:my-other-app@appspot.gserviceaccount.com
|
|
# role: roles/owner
|
|
# - members:
|
|
# - user:sean@example.com
|
|
# role: roles/viewer
|
|
#
|
|
#
|
|
# For a description of IAM and its features, see the
|
|
# [IAM developer's guide](https://cloud.google.com/iam/docs).
|
|
"bindings": [ # Associates a list of `members` to a `role`.
|
|
# `bindings` with no members will result in an error.
|
|
{ # Associates `members` with a `role`.
|
|
"role": "A String", # Role that is assigned to `members`.
|
|
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
"condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
|
|
# NOTE: An unsatisfied condition will not allow user access via current
|
|
# binding. Different bindings, including their conditions, are examined
|
|
# independently.
|
|
#
|
|
# title: "User account presence"
|
|
# description: "Determines whether the request has a user account"
|
|
# expression: "size(request.user) > 0"
|
|
"location": "A String", # An optional string indicating the location of the expression for error
|
|
# reporting, e.g. a file name and a position in the file.
|
|
"expression": "A String", # Textual representation of an expression in
|
|
# Common Expression Language syntax.
|
|
#
|
|
# The application context of the containing message determines which
|
|
# well-known feature set of CEL is supported.
|
|
"description": "A String", # An optional description of the expression. This is a longer text which
|
|
# describes the expression, e.g. when hovered over it in a UI.
|
|
"title": "A String", # An optional title for the expression, i.e. a short string describing
|
|
# its purpose. This can be used e.g. in UIs which allow to enter the
|
|
# expression.
|
|
},
|
|
"members": [ # Specifies the identities requesting access for a Cloud Platform resource.
|
|
# `members` can have the following values:
|
|
#
|
|
# * `allUsers`: A special identifier that represents anyone who is
|
|
# on the internet; with or without a Google account.
|
|
#
|
|
# * `allAuthenticatedUsers`: A special identifier that represents anyone
|
|
# who is authenticated with a Google account or a service account.
|
|
#
|
|
# * `user:{emailid}`: An email address that represents a specific Google
|
|
# account. For example, `alice@gmail.com` .
|
|
#
|
|
#
|
|
# * `serviceAccount:{emailid}`: An email address that represents a service
|
|
# account. For example, `my-other-app@appspot.gserviceaccount.com`.
|
|
#
|
|
# * `group:{emailid}`: An email address that represents a Google group.
|
|
# For example, `admins@example.com`.
|
|
#
|
|
#
|
|
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
|
|
# users of that domain. For example, `google.com` or `example.com`.
|
|
#
|
|
"A String",
|
|
],
|
|
},
|
|
],
|
|
"etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
|
|
# prevent simultaneous updates of a policy from overwriting each other.
|
|
# It is strongly suggested that systems make use of the `etag` in the
|
|
# read-modify-write cycle to perform policy updates in order to avoid race
|
|
# conditions: An `etag` is returned in the response to `getIamPolicy`, and
|
|
# systems are expected to put that etag in the request to `setIamPolicy` to
|
|
# ensure that their change will be applied to the same version of the policy.
|
|
#
|
|
# If no `etag` is provided in the call to `setIamPolicy`, then the existing
|
|
# policy is overwritten blindly.
|
|
"version": 42, # Deprecated.
|
|
"auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
|
|
{ # Specifies the audit configuration for a service.
|
|
# The configuration determines which permission types are logged, and what
|
|
# identities, if any, are exempted from logging.
|
|
# An AuditConfig must have one or more AuditLogConfigs.
|
|
#
|
|
# If there are AuditConfigs for both `allServices` and a specific service,
|
|
# the union of the two AuditConfigs is used for that service: the log_types
|
|
# specified in each AuditConfig are enabled, and the exempted_members in each
|
|
# AuditLogConfig are exempted.
|
|
#
|
|
# Example Policy with multiple AuditConfigs:
|
|
#
|
|
# {
|
|
# "audit_configs": [
|
|
# {
|
|
# "service": "allServices"
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# "exempted_members": [
|
|
# "user:foo@gmail.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# },
|
|
# {
|
|
# "log_type": "ADMIN_READ",
|
|
# }
|
|
# ]
|
|
# },
|
|
# {
|
|
# "service": "fooservice.googleapis.com"
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# "exempted_members": [
|
|
# "user:bar@gmail.com"
|
|
# ]
|
|
# }
|
|
# ]
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
|
|
# logging. It also exempts foo@gmail.com from DATA_READ logging, and
|
|
# bar@gmail.com from DATA_WRITE logging.
|
|
"auditLogConfigs": [ # The configuration for logging of each type of permission.
|
|
{ # Provides the configuration for logging a type of permissions.
|
|
# Example:
|
|
#
|
|
# {
|
|
# "audit_log_configs": [
|
|
# {
|
|
# "log_type": "DATA_READ",
|
|
# "exempted_members": [
|
|
# "user:foo@gmail.com"
|
|
# ]
|
|
# },
|
|
# {
|
|
# "log_type": "DATA_WRITE",
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
|
|
# foo@gmail.com from DATA_READ logging.
|
|
"exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
|
|
# permission.
|
|
# Follows the same format of Binding.members.
|
|
"A String",
|
|
],
|
|
"logType": "A String", # The log type that this config enables.
|
|
},
|
|
],
|
|
"service": "A String", # Specifies a service that will be enabled for audit logging.
|
|
# For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
|
|
# `allServices` is a special value that covers all services.
|
|
},
|
|
],
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="setOrgPolicy">setOrgPolicy(resource, body, x__xgafv=None)</code>
|
|
<pre>Updates the specified `Policy` on the resource. Creates a new `Policy` for
|
|
that `Constraint` on the resource if one does not exist.
|
|
|
|
Not supplying an `etag` on the request `Policy` results in an unconditional
|
|
write of the `Policy`.
|
|
|
|
Args:
|
|
resource: string, Resource name of the resource to attach the `Policy`. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the SetOrgPolicyRequest method.
|
|
"policy": { # Defines a Cloud Organization `Policy` which is used to specify `Constraints` # `Policy` to set on the resource.
|
|
# for configurations of Cloud Platform resources.
|
|
"updateTime": "A String", # 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
|
|
# `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
|
|
# be ignored.
|
|
"version": 42, # Version of the `Policy`. Default version is 0;
|
|
"constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example,
|
|
# `constraints/serviceuser.services`.
|
|
#
|
|
# Immutable after creation.
|
|
"restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of
|
|
# `Constraint` type.
|
|
# `constraint_default` enforcement behavior of the specific `Constraint` at
|
|
# this resource.
|
|
#
|
|
# Suppose that `constraint_default` 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 `policy_type` `restore_default` on
|
|
# several experimental projects, restoring the `constraint_default`
|
|
# enforcement of the `Constraint` for only those projects, allowing those
|
|
# projects to have all services activated.
|
|
},
|
|
"listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed.
|
|
# 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 `allowed_values` and `denied_values`
|
|
# 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/<project-id>”, e.g. “projects/tokyo-rain-123”
|
|
# - “folders/<folder-id>”, e.g. “folders/1234”
|
|
# - “organizations/<organization-id>”, e.g. “organizations/1234”
|
|
# The `supports_under` field of the associated `Constraint` defines whether
|
|
# ancestry prefixes can be used. You can set `allowed_values` and
|
|
# `denied_values` in the same `Policy` if `all_values` is
|
|
# `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
|
|
# values. If `all_values` is set to either `ALLOW` or `DENY`,
|
|
# `allowed_values` and `denied_values` must be unset.
|
|
"allValues": "A String", # The policy all_values state.
|
|
"allowedValues": [ # List of values allowed at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
"inheritFromParent": True or False, # 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 for
|
|
# `projects/bar` parented by `organizations/foo`:
|
|
#
|
|
# 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 at `organizations/foo` are `E1`, `E2`.
|
|
# The accepted values at `projects/bar` are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 5 (no policy inherits parent policy):
|
|
# `organizations/foo` has no `Policy` set.
|
|
# `projects/bar` has no `Policy` set.
|
|
# The accepted values at both levels are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 6 (ListConstraint allowing all):
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: “E1” allowed_values: ”E2”}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {all: ALLOW}
|
|
# The accepted values at `organizations/foo` are `E1`, 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 at `projects/bar`.
|
|
#
|
|
# Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
|
|
# Given the following resource hierarchy
|
|
# O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: "under:organizations/O1"}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {allowed_values: "under:projects/P3"}
|
|
# {denied_values: "under:folders/F2"}
|
|
# The accepted values at `organizations/foo` are `organizations/O1`,
|
|
# `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
|
|
# `projects/P3`.
|
|
# The accepted values at `projects/bar` are `organizations/O1`,
|
|
# `folders/F1`, `projects/P1`.
|
|
"suggestedValue": "A 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`.
|
|
"deniedValues": [ # List of values denied at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
},
|
|
"booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not.
|
|
# resource.
|
|
"enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any
|
|
# configuration is acceptable.
|
|
#
|
|
# Suppose you have a `Constraint`
|
|
# `constraints/compute.disableSerialPortAccess` with `constraint_default`
|
|
# set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
|
|
# behavior:
|
|
# - If the `Policy` at this resource has enforced set to `false`, serial
|
|
# port connection attempts will be allowed.
|
|
# - If the `Policy` at this resource has enforced set to `true`, serial
|
|
# port connection attempts will be refused.
|
|
# - If the `Policy` at this resource is `RestoreDefault`, serial port
|
|
# connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource or anywhere higher in the
|
|
# resource hierarchy, serial port connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource, but one exists higher in the
|
|
# resource hierarchy, the behavior is as if the`Policy` were set at
|
|
# this resource.
|
|
#
|
|
# The following examples demonstrate the different possible layerings:
|
|
#
|
|
# Example 1 (nearest `Constraint` wins):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has no `Policy` set.
|
|
# The constraint at `projects/bar` and `organizations/foo` will not be
|
|
# enforced.
|
|
#
|
|
# Example 2 (enforcement gets replaced):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {enforced: true}
|
|
# The constraint at `organizations/foo` is not enforced.
|
|
# The constraint at `projects/bar` is enforced.
|
|
#
|
|
# Example 3 (RestoreDefault):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: true}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {RestoreDefault: {}}
|
|
# The constraint at `organizations/foo` is enforced.
|
|
# The constraint at `projects/bar` is not enforced, because
|
|
# `constraint_default` for the `Constraint` is `ALLOW`.
|
|
},
|
|
"etag": "A String", # 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 `SetOrgPolicy` method, use the `etag` value
|
|
# that was returned from a `GetOrgPolicy` request as part of a
|
|
# read-modify-write loop for concurrency control. Not setting the `etag`in a
|
|
# `SetOrgPolicy` request will result in an unconditional write of the
|
|
# `Policy`.
|
|
},
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
|
|
# for configurations of Cloud Platform resources.
|
|
"updateTime": "A String", # 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
|
|
# `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
|
|
# be ignored.
|
|
"version": 42, # Version of the `Policy`. Default version is 0;
|
|
"constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example,
|
|
# `constraints/serviceuser.services`.
|
|
#
|
|
# Immutable after creation.
|
|
"restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of
|
|
# `Constraint` type.
|
|
# `constraint_default` enforcement behavior of the specific `Constraint` at
|
|
# this resource.
|
|
#
|
|
# Suppose that `constraint_default` 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 `policy_type` `restore_default` on
|
|
# several experimental projects, restoring the `constraint_default`
|
|
# enforcement of the `Constraint` for only those projects, allowing those
|
|
# projects to have all services activated.
|
|
},
|
|
"listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed.
|
|
# 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 `allowed_values` and `denied_values`
|
|
# 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/<project-id>”, e.g. “projects/tokyo-rain-123”
|
|
# - “folders/<folder-id>”, e.g. “folders/1234”
|
|
# - “organizations/<organization-id>”, e.g. “organizations/1234”
|
|
# The `supports_under` field of the associated `Constraint` defines whether
|
|
# ancestry prefixes can be used. You can set `allowed_values` and
|
|
# `denied_values` in the same `Policy` if `all_values` is
|
|
# `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
|
|
# values. If `all_values` is set to either `ALLOW` or `DENY`,
|
|
# `allowed_values` and `denied_values` must be unset.
|
|
"allValues": "A String", # The policy all_values state.
|
|
"allowedValues": [ # List of values allowed at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
"inheritFromParent": True or False, # 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 for
|
|
# `projects/bar` parented by `organizations/foo`:
|
|
#
|
|
# 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 at `organizations/foo` are `E1`, `E2`.
|
|
# The accepted values at `projects/bar` are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 5 (no policy inherits parent policy):
|
|
# `organizations/foo` has no `Policy` set.
|
|
# `projects/bar` has no `Policy` set.
|
|
# The accepted values at both levels are either all or none depending on
|
|
# the value of `constraint_default` (if `ALLOW`, all; if
|
|
# `DENY`, none).
|
|
#
|
|
# Example 6 (ListConstraint allowing all):
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: “E1” allowed_values: ”E2”}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {all: ALLOW}
|
|
# The accepted values at `organizations/foo` are `E1`, 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 at `projects/bar`.
|
|
#
|
|
# Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
|
|
# Given the following resource hierarchy
|
|
# O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
|
|
# `organizations/foo` has a `Policy` with values:
|
|
# {allowed_values: "under:organizations/O1"}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {allowed_values: "under:projects/P3"}
|
|
# {denied_values: "under:folders/F2"}
|
|
# The accepted values at `organizations/foo` are `organizations/O1`,
|
|
# `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
|
|
# `projects/P3`.
|
|
# The accepted values at `projects/bar` are `organizations/O1`,
|
|
# `folders/F1`, `projects/P1`.
|
|
"suggestedValue": "A 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`.
|
|
"deniedValues": [ # List of values denied at this resource. Can only be set if `all_values`
|
|
# is set to `ALL_VALUES_UNSPECIFIED`.
|
|
"A String",
|
|
],
|
|
},
|
|
"booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not.
|
|
# resource.
|
|
"enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any
|
|
# configuration is acceptable.
|
|
#
|
|
# Suppose you have a `Constraint`
|
|
# `constraints/compute.disableSerialPortAccess` with `constraint_default`
|
|
# set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
|
|
# behavior:
|
|
# - If the `Policy` at this resource has enforced set to `false`, serial
|
|
# port connection attempts will be allowed.
|
|
# - If the `Policy` at this resource has enforced set to `true`, serial
|
|
# port connection attempts will be refused.
|
|
# - If the `Policy` at this resource is `RestoreDefault`, serial port
|
|
# connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource or anywhere higher in the
|
|
# resource hierarchy, serial port connection attempts will be allowed.
|
|
# - If no `Policy` is set at this resource, but one exists higher in the
|
|
# resource hierarchy, the behavior is as if the`Policy` were set at
|
|
# this resource.
|
|
#
|
|
# The following examples demonstrate the different possible layerings:
|
|
#
|
|
# Example 1 (nearest `Constraint` wins):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has no `Policy` set.
|
|
# The constraint at `projects/bar` and `organizations/foo` will not be
|
|
# enforced.
|
|
#
|
|
# Example 2 (enforcement gets replaced):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: false}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {enforced: true}
|
|
# The constraint at `organizations/foo` is not enforced.
|
|
# The constraint at `projects/bar` is enforced.
|
|
#
|
|
# Example 3 (RestoreDefault):
|
|
# `organizations/foo` has a `Policy` with:
|
|
# {enforced: true}
|
|
# `projects/bar` has a `Policy` with:
|
|
# {RestoreDefault: {}}
|
|
# The constraint at `organizations/foo` is enforced.
|
|
# The constraint at `projects/bar` is not enforced, because
|
|
# `constraint_default` for the `Constraint` is `ALLOW`.
|
|
},
|
|
"etag": "A String", # 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 `SetOrgPolicy` method, use the `etag` value
|
|
# that was returned from a `GetOrgPolicy` request as part of a
|
|
# read-modify-write loop for concurrency control. Not setting the `etag`in a
|
|
# `SetOrgPolicy` request will result in an unconditional write of the
|
|
# `Policy`.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
|
|
<pre>Returns permissions that a caller has on the specified Project.
|
|
|
|
There are no permissions required for making this API call.
|
|
|
|
Args:
|
|
resource: string, REQUIRED: The resource for which the policy detail is being requested.
|
|
See the operation documentation for the appropriate value for this field. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # Request message for `TestIamPermissions` method.
|
|
"permissions": [ # The set of permissions to check for the `resource`. Permissions with
|
|
# wildcards (such as '*' or 'storage.*') are not allowed. For more
|
|
# information see
|
|
# [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
|
|
"A String",
|
|
],
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Response message for `TestIamPermissions` method.
|
|
"permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
|
|
# allowed.
|
|
"A String",
|
|
],
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="undelete">undelete(projectId, body=None, x__xgafv=None)</code>
|
|
<pre>Restores the Project identified by the specified
|
|
`project_id` (for example, `my-project-123`).
|
|
You can only use this method for a Project that has a lifecycle state of
|
|
DELETE_REQUESTED.
|
|
After deletion starts, the Project cannot be restored.
|
|
|
|
The caller must have modify permissions for this Project.
|
|
|
|
Args:
|
|
projectId: string, The project ID (for example, `foo-bar-123`).
|
|
|
|
Required. (required)
|
|
body: object, The request body.
|
|
The object takes the form of:
|
|
|
|
{ # The request sent to the UndeleteProject
|
|
# method.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # A generic empty message that you can re-use to avoid defining duplicated
|
|
# empty messages in your APIs. A typical example is to use it as the request
|
|
# or the response type of an API method. For instance:
|
|
#
|
|
# service Foo {
|
|
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
|
# }
|
|
#
|
|
# The JSON representation for `Empty` is empty JSON object `{}`.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="update">update(projectId, body, x__xgafv=None)</code>
|
|
<pre>Updates the attributes of the Project identified by the specified
|
|
`project_id` (for example, `my-project-123`).
|
|
|
|
The caller must have modify permissions for this Project.
|
|
|
|
Args:
|
|
projectId: string, The project ID (for example, `my-project-123`).
|
|
|
|
Required. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # A Project is a high-level Google Cloud Platform entity. It is a
|
|
# container for ACLs, APIs, App Engine Apps, VMs, and other
|
|
# Google Cloud Platform resources.
|
|
"name": "A String", # The optional user-assigned display name of the Project.
|
|
# When present it must be between 4 to 30 characters.
|
|
# Allowed characters are: lowercase and uppercase letters, numbers,
|
|
# hyphen, single-quote, double-quote, space, and exclamation point.
|
|
#
|
|
# Example: <code>My Project</code>
|
|
# Read-write.
|
|
"parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource.
|
|
#
|
|
# Supported parent types include "organization" and "folder". Once set, the
|
|
# parent cannot be cleared. The `parent` can be set on creation or using the
|
|
# `UpdateProject` method; the end user must have the
|
|
# `resourcemanager.projects.create` permission on the parent.
|
|
#
|
|
# Read-write.
|
|
# Cloud Platform is a generic term for something you (a developer) may want to
|
|
# interact with through one of our API's. Some examples are an App Engine app,
|
|
# a Compute Engine instance, a Cloud SQL database, and so on.
|
|
"type": "A String", # Required field representing the resource type this id is for.
|
|
# At present, the valid types are: "organization" and "folder".
|
|
"id": "A String", # Required field for the type-specific id. This should correspond to the id
|
|
# used in the type-specific API's.
|
|
},
|
|
"projectId": "A String", # The unique, user-assigned ID of the Project.
|
|
# It must be 6 to 30 lowercase letters, digits, or hyphens.
|
|
# It must start with a letter.
|
|
# Trailing hyphens are prohibited.
|
|
#
|
|
# Example: <code>tokyo-rain-123</code>
|
|
# Read-only after creation.
|
|
"labels": { # The labels associated with this Project.
|
|
#
|
|
# Label keys must be between 1 and 63 characters long and must conform
|
|
# to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
|
|
#
|
|
# Label values must be between 0 and 63 characters long and must conform
|
|
# to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. A label
|
|
# value can be empty.
|
|
#
|
|
# No more than 256 labels can be associated with a given resource.
|
|
#
|
|
# Clients should store labels in a representation such as JSON that does not
|
|
# depend on specific characters being disallowed.
|
|
#
|
|
# Example: <code>"environment" : "dev"</code>
|
|
# Read-write.
|
|
"a_key": "A String",
|
|
},
|
|
"createTime": "A String", # Creation time.
|
|
#
|
|
# Read-only.
|
|
"lifecycleState": "A String", # The Project lifecycle state.
|
|
#
|
|
# Read-only.
|
|
"projectNumber": "A String", # The number uniquely identifying the project.
|
|
#
|
|
# Example: <code>415104041262</code>
|
|
# Read-only.
|
|
}
|
|
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # A Project is a high-level Google Cloud Platform entity. It is a
|
|
# container for ACLs, APIs, App Engine Apps, VMs, and other
|
|
# Google Cloud Platform resources.
|
|
"name": "A String", # The optional user-assigned display name of the Project.
|
|
# When present it must be between 4 to 30 characters.
|
|
# Allowed characters are: lowercase and uppercase letters, numbers,
|
|
# hyphen, single-quote, double-quote, space, and exclamation point.
|
|
#
|
|
# Example: <code>My Project</code>
|
|
# Read-write.
|
|
"parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource.
|
|
#
|
|
# Supported parent types include "organization" and "folder". Once set, the
|
|
# parent cannot be cleared. The `parent` can be set on creation or using the
|
|
# `UpdateProject` method; the end user must have the
|
|
# `resourcemanager.projects.create` permission on the parent.
|
|
#
|
|
# Read-write.
|
|
# Cloud Platform is a generic term for something you (a developer) may want to
|
|
# interact with through one of our API's. Some examples are an App Engine app,
|
|
# a Compute Engine instance, a Cloud SQL database, and so on.
|
|
"type": "A String", # Required field representing the resource type this id is for.
|
|
# At present, the valid types are: "organization" and "folder".
|
|
"id": "A String", # Required field for the type-specific id. This should correspond to the id
|
|
# used in the type-specific API's.
|
|
},
|
|
"projectId": "A String", # The unique, user-assigned ID of the Project.
|
|
# It must be 6 to 30 lowercase letters, digits, or hyphens.
|
|
# It must start with a letter.
|
|
# Trailing hyphens are prohibited.
|
|
#
|
|
# Example: <code>tokyo-rain-123</code>
|
|
# Read-only after creation.
|
|
"labels": { # The labels associated with this Project.
|
|
#
|
|
# Label keys must be between 1 and 63 characters long and must conform
|
|
# to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
|
|
#
|
|
# Label values must be between 0 and 63 characters long and must conform
|
|
# to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. A label
|
|
# value can be empty.
|
|
#
|
|
# No more than 256 labels can be associated with a given resource.
|
|
#
|
|
# Clients should store labels in a representation such as JSON that does not
|
|
# depend on specific characters being disallowed.
|
|
#
|
|
# Example: <code>"environment" : "dev"</code>
|
|
# Read-write.
|
|
"a_key": "A String",
|
|
},
|
|
"createTime": "A String", # Creation time.
|
|
#
|
|
# Read-only.
|
|
"lifecycleState": "A String", # The Project lifecycle state.
|
|
#
|
|
# Read-only.
|
|
"projectNumber": "A String", # The number uniquely identifying the project.
|
|
#
|
|
# Example: <code>415104041262</code>
|
|
# Read-only.
|
|
}</pre>
|
|
</div>
|
|
|
|
</body></html> |