blob: 0676bbc7db944e14e8ec0242bdcb043cd670a7e7 [file] [log] [blame]
<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="serviceconsumermanagement_v1.html">Service Consumer Management API</a> . <a href="serviceconsumermanagement_v1.services.html">services</a> . <a href="serviceconsumermanagement_v1.services.tenancyUnits.html">tenancyUnits</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#addProject">addProject(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Add a new tenant project to the tenancy unit.</p>
<p class="toc_element">
<code><a href="#applyProjectConfig">applyProjectConfig(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Apply a configuration to an existing tenant project.</p>
<p class="toc_element">
<code><a href="#attachProject">attachProject(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Attach an existing project to the tenancy unit as a new tenant</p>
<p class="toc_element">
<code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a tenancy unit with no tenant resources.</p>
<p class="toc_element">
<code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
<p class="firstline">Delete a tenancy unit. Before you delete the tenancy unit, there should be</p>
<p class="toc_element">
<code><a href="#deleteProject">deleteProject(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes the specified project resource identified by a tenant resource tag.</p>
<p class="toc_element">
<code><a href="#list">list(parent, pageSize=None, pageToken=None, filter=None, x__xgafv=None)</a></code></p>
<p class="firstline">Find the tenancy unit for a managed service and service consumer.</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="#removeProject">removeProject(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Removes the specified project resource identified by a tenant resource tag.</p>
<p class="toc_element">
<code><a href="#undeleteProject">undeleteProject(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Attempts to undelete a previously deleted tenant project. The project must</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="addProject">addProject(parent, body=None, x__xgafv=None)</code>
<pre>Add a new tenant project to the tenancy unit.
There can be a maximum of 512 tenant projects in a tenancy unit.
If there are previously failed `AddTenantProject` calls, you might need to
call `RemoveTenantProject` first to resolve them before you can make
another call to `AddTenantProject` with the same tag.
Operation&lt;response: Empty&gt;.
Args:
parent: string, Name of the tenancy unit.
Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
body: object, The request body.
The object takes the form of:
{ # Request to add a newly created and configured tenant project to a tenancy
# unit.
&quot;tag&quot;: &quot;A String&quot;, # Tag of the added project. Must be less than 128 characters. Required.
&quot;projectConfig&quot;: { # This structure defines a tenant project to be added to the specified tenancy # Configuration of the new tenant project to be added to tenancy unit
# resources.
# unit and its initial configuration and properties. A project lien is created
# for the tenant project to prevent the tenant project from being deleted
# accidentally. The lien is deleted as part of tenant project removal.
&quot;tenantProjectPolicy&quot;: { # Describes policy settings that need to be applied to a newly # Describes ownership and policies for the new tenant project. Required.
# created tenant project.
&quot;policyBindings&quot;: [ # Policy bindings to be applied to the tenant project, in addition to the
# &#x27;roles/owner&#x27; role granted to the Service Consumer Management service
# account.
# At least one binding must have the role `roles/owner`. Among the list of
# members for `roles/owner`, at least one of them must be either the `user`
# or `group` type.
{ # Translates to IAM Policy bindings (without auditing at this level)
&quot;role&quot;: &quot;A String&quot;, # Role. (https://cloud.google.com/iam/docs/understanding-roles)
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
&quot;members&quot;: [ # Uses the same format as in IAM policy.
# `member` must include both a prefix and ID. For example, `user:{emailId}`,
# `serviceAccount:{emailId}`, `group:{emailId}`.
&quot;A String&quot;,
],
},
],
},
&quot;labels&quot;: { # Labels that are applied to this project.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;folder&quot;: &quot;A String&quot;, # Folder where project in this tenancy unit must be located
# This folder must have been previously created with the required
# permissions for the caller to create and configure a project in it.
# Valid folder resource names have the format `folders/{folder_number}`
# (for example, `folders/123456`).
&quot;billingConfig&quot;: { # Describes the billing configuration for a new tenant project. # Billing account properties. The billing account must be specified.
&quot;billingAccount&quot;: &quot;A String&quot;, # Name of the billing account.
# For example `billingAccounts/012345-567890-ABCDEF`.
},
&quot;services&quot;: [ # Google Cloud API names of services that are activated on this project
# during provisioning. If any of these services can&#x27;t be activated,
# the request fails.
# For example: &#x27;compute.googleapis.com&#x27;,&#x27;cloudfunctions.googleapis.com&#x27;
&quot;A String&quot;,
],
&quot;serviceAccountConfig&quot;: { # Describes the service account configuration for the tenant project. # Configuration for the IAM service account on the tenant project.
&quot;tenantProjectRoles&quot;: [ # Roles for the associated service account for the tenant project.
&quot;A String&quot;,
],
&quot;accountId&quot;: &quot;A String&quot;, # ID of the IAM service account to be created in tenant project.
# The email format of the service account is
# &quot;&lt;account-id&gt;@&lt;tenant-project-id&gt;.iam.gserviceaccount.com&quot;.
# This account ID must be unique within tenant project and service
# producers have to guarantee it. The ID must be 6-30 characters long, and
# match the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])`.
},
},
}
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.
&quot;error&quot;: { # 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).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: 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.
&quot;response&quot;: { # 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
<div class="method">
<code class="details" id="applyProjectConfig">applyProjectConfig(name, body=None, x__xgafv=None)</code>
<pre>Apply a configuration to an existing tenant project.
This project must exist in an active state and have the original owner
account. The caller must have permission to add a project to the given
tenancy unit. The configuration is applied, but any existing settings on
the project aren&#x27;t modified.
Specified policy bindings are applied. Existing bindings aren&#x27;t modified.
Specified services are activated. No service is deactivated.
If specified, new billing configuration is applied.
Omit a billing configuration to keep the existing one.
A service account in the project is created if previously non existed.
Specified labels will be appended to tenant project, note that the value of
existing label key will be updated if the same label key is requested.
The specified folder is ignored, as moving a tenant project to a different
folder isn&#x27;t supported.
The operation fails if any of the steps fail, but no rollback of already
applied configuration changes is attempted.
Operation&lt;response: Empty&gt;.
Args:
name: string, Name of the tenancy unit.
Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
body: object, The request body.
The object takes the form of:
{ # Request to apply configuration to an existing tenant project.
&quot;projectConfig&quot;: { # This structure defines a tenant project to be added to the specified tenancy # Configuration that should be applied to the existing tenant project.
# unit and its initial configuration and properties. A project lien is created
# for the tenant project to prevent the tenant project from being deleted
# accidentally. The lien is deleted as part of tenant project removal.
&quot;tenantProjectPolicy&quot;: { # Describes policy settings that need to be applied to a newly # Describes ownership and policies for the new tenant project. Required.
# created tenant project.
&quot;policyBindings&quot;: [ # Policy bindings to be applied to the tenant project, in addition to the
# &#x27;roles/owner&#x27; role granted to the Service Consumer Management service
# account.
# At least one binding must have the role `roles/owner`. Among the list of
# members for `roles/owner`, at least one of them must be either the `user`
# or `group` type.
{ # Translates to IAM Policy bindings (without auditing at this level)
&quot;role&quot;: &quot;A String&quot;, # Role. (https://cloud.google.com/iam/docs/understanding-roles)
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
&quot;members&quot;: [ # Uses the same format as in IAM policy.
# `member` must include both a prefix and ID. For example, `user:{emailId}`,
# `serviceAccount:{emailId}`, `group:{emailId}`.
&quot;A String&quot;,
],
},
],
},
&quot;labels&quot;: { # Labels that are applied to this project.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;folder&quot;: &quot;A String&quot;, # Folder where project in this tenancy unit must be located
# This folder must have been previously created with the required
# permissions for the caller to create and configure a project in it.
# Valid folder resource names have the format `folders/{folder_number}`
# (for example, `folders/123456`).
&quot;billingConfig&quot;: { # Describes the billing configuration for a new tenant project. # Billing account properties. The billing account must be specified.
&quot;billingAccount&quot;: &quot;A String&quot;, # Name of the billing account.
# For example `billingAccounts/012345-567890-ABCDEF`.
},
&quot;services&quot;: [ # Google Cloud API names of services that are activated on this project
# during provisioning. If any of these services can&#x27;t be activated,
# the request fails.
# For example: &#x27;compute.googleapis.com&#x27;,&#x27;cloudfunctions.googleapis.com&#x27;
&quot;A String&quot;,
],
&quot;serviceAccountConfig&quot;: { # Describes the service account configuration for the tenant project. # Configuration for the IAM service account on the tenant project.
&quot;tenantProjectRoles&quot;: [ # Roles for the associated service account for the tenant project.
&quot;A String&quot;,
],
&quot;accountId&quot;: &quot;A String&quot;, # ID of the IAM service account to be created in tenant project.
# The email format of the service account is
# &quot;&lt;account-id&gt;@&lt;tenant-project-id&gt;.iam.gserviceaccount.com&quot;.
# This account ID must be unique within tenant project and service
# producers have to guarantee it. The ID must be 6-30 characters long, and
# match the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])`.
},
},
&quot;tag&quot;: &quot;A String&quot;, # Tag of the project. Must be less than 128 characters. Required.
}
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.
&quot;error&quot;: { # 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).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: 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.
&quot;response&quot;: { # 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
<div class="method">
<code class="details" id="attachProject">attachProject(name, body=None, x__xgafv=None)</code>
<pre>Attach an existing project to the tenancy unit as a new tenant
resource. The project could either be the tenant project reserved by
calling `AddTenantProject` under a tenancy unit of a service producer&#x27;s
project of a managed service, or from a separate project.
The caller is checked against a set of permissions as if calling
`AddTenantProject` on the same service consumer.
To trigger the attachment, the targeted tenant project must be in a
folder. Make sure the ServiceConsumerManagement service account is
the owner of that project. These two requirements are already met
if the project is reserved by calling `AddTenantProject`.
Operation&lt;response: Empty&gt;.
Args:
name: string, Name of the tenancy unit that the project will be attached to.
Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
body: object, The request body.
The object takes the form of:
{ # Request to attach an existing project to the tenancy unit as a new tenant
# resource.
&quot;reservedResource&quot;: &quot;A String&quot;, # When attaching a reserved project already in tenancy units, this is the
# tag of a tenant resource under the tenancy unit for the managed service&#x27;s
# service producer project. The reserved tenant resource must be in an
# active state.
&quot;tag&quot;: &quot;A String&quot;, # Tag of the tenant resource after attachment.
# Must be less than 128 characters. Required.
&quot;externalResource&quot;: &quot;A String&quot;, # When attaching an external project, this is in the format of
# `projects/{project_number}`.
}
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.
&quot;error&quot;: { # 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).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: 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.
&quot;response&quot;: { # 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
<div class="method">
<code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
<pre>Creates a tenancy unit with no tenant resources.
If tenancy unit already exists, it will be returned,
however, in this case, returned TenancyUnit does not have tenant_resources
field set and ListTenancyUnit has to be used to get a complete
TenancyUnit with all fields populated.
Args:
parent: string, services/{service}/{collection id}/{resource id}
{collection id} is the cloud resource collection type representing the
service consumer, for example &#x27;projects&#x27;, or &#x27;organizations&#x27;.
{resource id} is the consumer numeric id, such as project number: &#x27;123456&#x27;.
{service} the name of a managed service, such as &#x27;service.googleapis.com&#x27;.
Enables service binding using the new tenancy unit. (required)
body: object, The request body.
The object takes the form of:
{ # Request to create a tenancy unit for a service consumer of a managed service.
&quot;tenancyUnitId&quot;: &quot;A String&quot;, # Optional. Optional service producer-provided identifier of the tenancy unit.
# Must be no longer than 40 characters and preferably URI friendly.
# If it isn&#x27;t provided, a UID for the tenancy unit is automatically
# generated. The identifier must be unique across a managed service.
# If the tenancy unit already exists for the managed service and service
# consumer pair, calling `CreateTenancyUnit` returns the existing tenancy
# unit if the provided identifier is identical or empty, otherwise the call
# fails.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Representation of a tenancy unit.
&quot;consumer&quot;: &quot;A String&quot;, # @OutputOnly Cloud resource name of the consumer of this service.
# For example &#x27;projects/123456&#x27;.
&quot;createTime&quot;: &quot;A String&quot;, # @OutputOnly The time this tenancy unit was created.
&quot;tenantResources&quot;: [ # Resources constituting the tenancy unit.
# There can be at most 512 tenant resources in a tenancy unit.
{ # Resource constituting the TenancyUnit.
&quot;status&quot;: &quot;A String&quot;, # Status of tenant resource.
&quot;tag&quot;: &quot;A String&quot;, # Unique per single tenancy unit.
&quot;resource&quot;: &quot;A String&quot;, # @OutputOnly Identifier of the tenant resource.
# For cloud projects, it is in the form &#x27;projects/{number}&#x27;.
# For example &#x27;projects/123456&#x27;.
},
],
&quot;service&quot;: &quot;A String&quot;, # Output only. Google Cloud API name of the managed service owning this
# tenancy unit.
# For example &#x27;serviceconsumermanagement.googleapis.com&#x27;.
&quot;name&quot;: &quot;A String&quot;, # Globally unique identifier of this tenancy unit
# &quot;services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}&quot;
}</pre>
</div>
<div class="method">
<code class="details" id="delete">delete(name, x__xgafv=None)</code>
<pre>Delete a tenancy unit. Before you delete the tenancy unit, there should be
no tenant resources in it that aren&#x27;t in a DELETED state.
Operation&lt;response: Empty&gt;.
Args:
name: string, Name of the tenancy unit to be deleted. (required)
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.
&quot;error&quot;: { # 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).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: 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.
&quot;response&quot;: { # 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
<div class="method">
<code class="details" id="deleteProject">deleteProject(name, body=None, x__xgafv=None)</code>
<pre>Deletes the specified project resource identified by a tenant resource tag.
The mothod removes a project lien with a &#x27;TenantManager&#x27; origin if that was
added. It will then attempt to delete the project. If that operation fails,
this method also fails.
After the project has been deleted, the tenant resource state is set to
DELETED. To permanently remove resource metadata, call the
`RemoveTenantProject` method.
New resources with the same tag can&#x27;t be added if there are existing
resources in a DELETED state.
Operation&lt;response: Empty&gt;.
Args:
name: string, Name of the tenancy unit.
Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
body: object, The request body.
The object takes the form of:
{ # Request message to delete tenant project resource from the tenancy unit.
&quot;tag&quot;: &quot;A String&quot;, # Tag of the resource within the tenancy unit.
}
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.
&quot;error&quot;: { # 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).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: 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.
&quot;response&quot;: { # 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(parent, pageSize=None, pageToken=None, filter=None, x__xgafv=None)</code>
<pre>Find the tenancy unit for a managed service and service consumer.
This method shouldn&#x27;t be used in a service producer&#x27;s runtime path, for
example to find the tenant project number when creating VMs. Service
producers must persist the tenant project&#x27;s information after the project
is created.
Args:
parent: string, Managed service and service consumer. Required.
services/{service}/{collection id}/{resource id}
{collection id} is the cloud resource collection type representing the
service consumer, for example &#x27;projects&#x27;, or &#x27;organizations&#x27;.
{resource id} is the consumer numeric id, such as project number: &#x27;123456&#x27;.
{service} the name of a service, such as &#x27;service.googleapis.com&#x27;. (required)
pageSize: integer, The maximum number of results returned by this request.
pageToken: string, The continuation token, which is used to page through large result sets.
To get the next page of results, set this parameter to the value of
`nextPageToken` from the previous response.
filter: string, Filter expression over tenancy resources field. Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response for the list request.
&quot;tenancyUnits&quot;: [ # Tenancy units matching the request.
{ # Representation of a tenancy unit.
&quot;consumer&quot;: &quot;A String&quot;, # @OutputOnly Cloud resource name of the consumer of this service.
# For example &#x27;projects/123456&#x27;.
&quot;createTime&quot;: &quot;A String&quot;, # @OutputOnly The time this tenancy unit was created.
&quot;tenantResources&quot;: [ # Resources constituting the tenancy unit.
# There can be at most 512 tenant resources in a tenancy unit.
{ # Resource constituting the TenancyUnit.
&quot;status&quot;: &quot;A String&quot;, # Status of tenant resource.
&quot;tag&quot;: &quot;A String&quot;, # Unique per single tenancy unit.
&quot;resource&quot;: &quot;A String&quot;, # @OutputOnly Identifier of the tenant resource.
# For cloud projects, it is in the form &#x27;projects/{number}&#x27;.
# For example &#x27;projects/123456&#x27;.
},
],
&quot;service&quot;: &quot;A String&quot;, # Output only. Google Cloud API name of the managed service owning this
# tenancy unit.
# For example &#x27;serviceconsumermanagement.googleapis.com&#x27;.
&quot;name&quot;: &quot;A String&quot;, # Globally unique identifier of this tenancy unit
# &quot;services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}&quot;
},
],
&quot;nextPageToken&quot;: &quot;A String&quot;, # Pagination token for large results.
}</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 &#x27;execute()&#x27; 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="removeProject">removeProject(name, body=None, x__xgafv=None)</code>
<pre>Removes the specified project resource identified by a tenant resource tag.
The method removes the project lien with &#x27;TenantManager&#x27; origin if that
was added. It then attempts to delete the project. If that operation
fails, this method also fails.
Calls to remove already removed or non-existent tenant project succeed.
After the project has been deleted, or if was already in a DELETED state,
resource metadata is permanently removed from the tenancy unit.
Operation&lt;response: Empty&gt;.
Args:
name: string, Name of the tenancy unit.
Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
body: object, The request body.
The object takes the form of:
{ # Request message to remove a tenant project resource from the tenancy unit.
&quot;tag&quot;: &quot;A String&quot;, # Tag of the resource within the tenancy unit.
}
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.
&quot;error&quot;: { # 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).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: 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.
&quot;response&quot;: { # 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
<div class="method">
<code class="details" id="undeleteProject">undeleteProject(name, body=None, x__xgafv=None)</code>
<pre>Attempts to undelete a previously deleted tenant project. The project must
be in a DELETED state.
There are no guarantees that an undeleted project will be in
a fully restored and functional state. Call the `ApplyTenantProjectConfig`
method to update its configuration and then validate all managed service
resources.
Operation&lt;response: Empty&gt;.
Args:
name: string, Name of the tenancy unit.
Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
body: object, The request body.
The object takes the form of:
{ # Request message to undelete tenant project resource previously deleted from
# the tenancy unit.
&quot;tag&quot;: &quot;A String&quot;, # Tag of the resource within the tenancy unit.
}
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.
&quot;error&quot;: { # 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).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: 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.
&quot;response&quot;: { # 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
</body></html>