blob: 63accc4da0ecfe2f4b7df65e1c7ecaacef2344af [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<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>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="#addProject">addProject(parent, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070079<p class="firstline">Add a new tenant project to the tenancy unit. There can be a maximum of 1024 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.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070080<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070081 <code><a href="#applyProjectConfig">applyProjectConfig(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070082<p class="firstline">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't modified. Specified policy bindings are applied. Existing bindings aren'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't supported. The operation fails if any of the steps fail, but no rollback of already applied configuration changes is attempted. Operation.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070083<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070084 <code><a href="#attachProject">attachProject(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070085<p class="firstline">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'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.</p>
86<p class="toc_element">
87 <code><a href="#close">close()</a></code></p>
88<p class="firstline">Close httplib2 connections.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070089<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070090 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070091<p class="firstline">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 ListTenancyUnits has to be used to get a complete TenancyUnit with all fields populated.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070092<p class="toc_element">
93 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070094<p class="firstline">Delete a tenancy unit. Before you delete the tenancy unit, there should be no tenant resources in it that aren't in a DELETED state. Operation.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070095<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070096 <code><a href="#deleteProject">deleteProject(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070097<p class="firstline">Deletes the specified project resource identified by a tenant resource tag. The mothod removes a project lien with a 'TenantManager' 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't be added if there are existing resources in a DELETED state. Operation.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070098<p class="toc_element">
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -080099 <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700100<p class="firstline">Find the tenancy unit for a managed service and service consumer. This method shouldn't be used in a service producer's runtime path, for example to find the tenant project number when creating VMs. Service producers must persist the tenant project's information after the project is created.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700101<p class="toc_element">
102 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
103<p class="firstline">Retrieves the next page of results.</p>
104<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700105 <code><a href="#removeProject">removeProject(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700106<p class="firstline">Removes the specified project resource identified by a tenant resource tag. The method removes the project lien with 'TenantManager' 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.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700107<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700108 <code><a href="#undeleteProject">undeleteProject(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700109<p class="firstline">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.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700110<h3>Method Details</h3>
111<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700112 <code class="details" id="addProject">addProject(parent, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700113 <pre>Add a new tenant project to the tenancy unit. There can be a maximum of 1024 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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700114
115Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700116 parent: string, Required. Name of the tenancy unit. Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700117 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700118 The object takes the form of:
119
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700120{ # Request to add a newly created and configured tenant project to a tenancy unit.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800121 &quot;projectConfig&quot;: { # This structure defines a tenant project to be added to the specified tenancy 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. # Configuration of the new tenant project to be added to tenancy unit resources.
122 &quot;billingConfig&quot;: { # Describes the billing configuration for a new tenant project. # Billing account properties. The billing account must be specified.
123 &quot;billingAccount&quot;: &quot;A String&quot;, # Name of the billing account. For example `billingAccounts/012345-567890-ABCDEF`.
124 },
125 &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`).
126 &quot;labels&quot;: { # Labels that are applied to this project.
127 &quot;a_key&quot;: &quot;A String&quot;,
128 },
129 &quot;serviceAccountConfig&quot;: { # Describes the service account configuration for the tenant project. # Configuration for the IAM service account on the tenant project.
130 &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;@.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])`.
131 &quot;tenantProjectRoles&quot;: [ # Roles for the associated service account for the tenant project.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800132 &quot;A String&quot;,
133 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700134 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800135 &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;
136 &quot;A String&quot;,
137 ],
138 &quot;tenantProjectPolicy&quot;: { # Describes policy settings that need to be applied to a newly created tenant project. # Describes ownership and policies for the new tenant project. Required.
139 &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.
140 { # Translates to IAM Policy bindings (without auditing at this level)
141 &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}`.
142 &quot;A String&quot;,
143 ],
144 &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`.
145 },
146 ],
147 },
148 },
149 &quot;tag&quot;: &quot;A String&quot;, # Required. Tag of the added project. Must be less than 128 characters. Required.
150}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700151
152 x__xgafv: string, V1 error format.
153 Allowed values
154 1 - v1 error format
155 2 - v2 error format
156
157Returns:
158 An object of the form:
159
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700160 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800161 &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.
162 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
163 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
164 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
165 {
166 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
167 },
168 ],
169 &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.
170 },
171 &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.
172 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
173 },
174 &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}`.
175 &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`.
176 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
177 },
178}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700179</div>
180
181<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700182 <code class="details" id="applyProjectConfig">applyProjectConfig(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700183 <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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700184
185Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700186 name: string, Required. Name of the tenancy unit. Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700187 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700188 The object takes the form of:
189
190{ # Request to apply configuration to an existing tenant project.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800191 &quot;projectConfig&quot;: { # This structure defines a tenant project to be added to the specified tenancy 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. # Configuration that should be applied to the existing tenant project.
192 &quot;billingConfig&quot;: { # Describes the billing configuration for a new tenant project. # Billing account properties. The billing account must be specified.
193 &quot;billingAccount&quot;: &quot;A String&quot;, # Name of the billing account. For example `billingAccounts/012345-567890-ABCDEF`.
194 },
195 &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`).
196 &quot;labels&quot;: { # Labels that are applied to this project.
197 &quot;a_key&quot;: &quot;A String&quot;,
198 },
199 &quot;serviceAccountConfig&quot;: { # Describes the service account configuration for the tenant project. # Configuration for the IAM service account on the tenant project.
200 &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;@.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])`.
201 &quot;tenantProjectRoles&quot;: [ # Roles for the associated service account for the tenant project.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800202 &quot;A String&quot;,
203 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700204 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800205 &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;
206 &quot;A String&quot;,
207 ],
208 &quot;tenantProjectPolicy&quot;: { # Describes policy settings that need to be applied to a newly created tenant project. # Describes ownership and policies for the new tenant project. Required.
209 &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.
210 { # Translates to IAM Policy bindings (without auditing at this level)
211 &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}`.
212 &quot;A String&quot;,
213 ],
214 &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`.
215 },
216 ],
217 },
218 },
219 &quot;tag&quot;: &quot;A String&quot;, # Required. Tag of the project. Must be less than 128 characters. Required.
220}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700221
222 x__xgafv: string, V1 error format.
223 Allowed values
224 1 - v1 error format
225 2 - v2 error format
226
227Returns:
228 An object of the form:
229
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700230 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800231 &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.
232 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
233 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
234 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
235 {
236 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
237 },
238 ],
239 &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.
240 },
241 &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.
242 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
243 },
244 &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}`.
245 &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`.
246 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
247 },
248}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700249</div>
250
251<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700252 <code class="details" id="attachProject">attachProject(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700253 <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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700254
255Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700256 name: string, Required. 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)
Dan O'Mearadd494642020-05-01 07:42:23 -0700257 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700258 The object takes the form of:
259
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700260{ # Request to attach an existing project to the tenancy unit as a new tenant resource.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800261 &quot;externalResource&quot;: &quot;A String&quot;, # When attaching an external project, this is in the format of `projects/{project_number}`.
262 &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.
263 &quot;tag&quot;: &quot;A String&quot;, # Required. Tag of the tenant resource after attachment. Must be less than 128 characters. Required.
264}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700265
266 x__xgafv: string, V1 error format.
267 Allowed values
268 1 - v1 error format
269 2 - v2 error format
270
271Returns:
272 An object of the form:
273
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700274 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800275 &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.
276 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
277 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
278 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
279 {
280 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
281 },
282 ],
283 &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.
284 },
285 &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.
286 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
287 },
288 &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}`.
289 &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`.
290 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
291 },
292}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700293</div>
294
295<div class="method">
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700296 <code class="details" id="close">close()</code>
297 <pre>Close httplib2 connections.</pre>
298</div>
299
300<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700301 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700302 <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 ListTenancyUnits has to be used to get a complete TenancyUnit with all fields populated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700303
304Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700305 parent: string, 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 managed service, such as &#x27;service.googleapis.com&#x27;. Enables service binding using the new tenancy unit. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700306 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700307 The object takes the form of:
308
309{ # Request to create a tenancy unit for a service consumer of a managed service.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800310 &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.
311}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700312
313 x__xgafv: string, V1 error format.
314 Allowed values
315 1 - v1 error format
316 2 - v2 error format
317
318Returns:
319 An object of the form:
320
321 { # Representation of a tenancy unit.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800322 &quot;consumer&quot;: &quot;A String&quot;, # Output only. @OutputOnly Cloud resource name of the consumer of this service. For example &#x27;projects/123456&#x27;.
323 &quot;createTime&quot;: &quot;A String&quot;, # Output only. @OutputOnly The time this tenancy unit was created.
324 &quot;name&quot;: &quot;A String&quot;, # Globally unique identifier of this tenancy unit &quot;services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}&quot;
325 &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;.
326 &quot;tenantResources&quot;: [ # Resources constituting the tenancy unit. There can be at most 512 tenant resources in a tenancy unit.
327 { # Resource constituting the TenancyUnit.
328 &quot;resource&quot;: &quot;A String&quot;, # Output only. @OutputOnly Identifier of the tenant resource. For cloud projects, it is in the form &#x27;projects/{number}&#x27;. For example &#x27;projects/123456&#x27;.
329 &quot;status&quot;: &quot;A String&quot;, # Status of tenant resource.
330 &quot;tag&quot;: &quot;A String&quot;, # Unique per single tenancy unit.
331 },
332 ],
333}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700334</div>
335
336<div class="method">
337 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700338 <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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700339
340Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700341 name: string, Required. Name of the tenancy unit to be deleted. (required)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700342 x__xgafv: string, V1 error format.
343 Allowed values
344 1 - v1 error format
345 2 - v2 error format
346
347Returns:
348 An object of the form:
349
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700350 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800351 &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.
352 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
353 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
354 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
355 {
356 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
357 },
358 ],
359 &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.
360 },
361 &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.
362 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
363 },
364 &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}`.
365 &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`.
366 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
367 },
368}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700369</div>
370
371<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700372 <code class="details" id="deleteProject">deleteProject(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700373 <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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700374
375Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700376 name: string, Required. Name of the tenancy unit. Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700377 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700378 The object takes the form of:
379
380{ # Request message to delete tenant project resource from the tenancy unit.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800381 &quot;tag&quot;: &quot;A String&quot;, # Required. Tag of the resource within the tenancy unit.
382}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700383
384 x__xgafv: string, V1 error format.
385 Allowed values
386 1 - v1 error format
387 2 - v2 error format
388
389Returns:
390 An object of the form:
391
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700392 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800393 &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.
394 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
395 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
396 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
397 {
398 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
399 },
400 ],
401 &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.
402 },
403 &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.
404 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
405 },
406 &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}`.
407 &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`.
408 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
409 },
410}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700411</div>
412
413<div class="method">
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800414 <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700415 <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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700416
417Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700418 parent: string, Required. 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)
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800419 filter: string, Optional. Filter expression over tenancy resources field. Optional.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800420 pageSize: integer, Optional. The maximum number of results returned by this request.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800421 pageToken: string, Optional. 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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700422 x__xgafv: string, V1 error format.
423 Allowed values
424 1 - v1 error format
425 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700426
427Returns:
428 An object of the form:
429
430 { # Response for the list request.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800431 &quot;nextPageToken&quot;: &quot;A String&quot;, # Pagination token for large results.
432 &quot;tenancyUnits&quot;: [ # Tenancy units matching the request.
433 { # Representation of a tenancy unit.
434 &quot;consumer&quot;: &quot;A String&quot;, # Output only. @OutputOnly Cloud resource name of the consumer of this service. For example &#x27;projects/123456&#x27;.
435 &quot;createTime&quot;: &quot;A String&quot;, # Output only. @OutputOnly The time this tenancy unit was created.
436 &quot;name&quot;: &quot;A String&quot;, # Globally unique identifier of this tenancy unit &quot;services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}&quot;
437 &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;.
438 &quot;tenantResources&quot;: [ # Resources constituting the tenancy unit. There can be at most 512 tenant resources in a tenancy unit.
439 { # Resource constituting the TenancyUnit.
440 &quot;resource&quot;: &quot;A String&quot;, # Output only. @OutputOnly Identifier of the tenant resource. For cloud projects, it is in the form &#x27;projects/{number}&#x27;. For example &#x27;projects/123456&#x27;.
441 &quot;status&quot;: &quot;A String&quot;, # Status of tenant resource.
442 &quot;tag&quot;: &quot;A String&quot;, # Unique per single tenancy unit.
443 },
444 ],
445 },
446 ],
447}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700448</div>
449
450<div class="method">
451 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
452 <pre>Retrieves the next page of results.
453
454Args:
455 previous_request: The request for the previous page. (required)
456 previous_response: The response from the request for the previous page. (required)
457
458Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -0700459 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700460 page. Returns None if there are no more items in the collection.
461 </pre>
462</div>
463
464<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700465 <code class="details" id="removeProject">removeProject(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700466 <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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700467
468Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700469 name: string, Required. Name of the tenancy unit. Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700470 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700471 The object takes the form of:
472
473{ # Request message to remove a tenant project resource from the tenancy unit.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800474 &quot;tag&quot;: &quot;A String&quot;, # Required. Tag of the resource within the tenancy unit.
475}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700476
477 x__xgafv: string, V1 error format.
478 Allowed values
479 1 - v1 error format
480 2 - v2 error format
481
482Returns:
483 An object of the form:
484
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700485 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800486 &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.
487 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
488 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
489 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
490 {
491 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
492 },
493 ],
494 &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.
495 },
496 &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.
497 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
498 },
499 &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}`.
500 &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`.
501 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
502 },
503}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700504</div>
505
506<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700507 <code class="details" id="undeleteProject">undeleteProject(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700508 <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.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700509
510Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700511 name: string, Required. Name of the tenancy unit. Such as &#x27;services/service.googleapis.com/projects/12345/tenancyUnits/abcd&#x27;. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700512 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700513 The object takes the form of:
514
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700515{ # Request message to undelete tenant project resource previously deleted from the tenancy unit.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800516 &quot;tag&quot;: &quot;A String&quot;, # Required. Tag of the resource within the tenancy unit.
517}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700518
519 x__xgafv: string, V1 error format.
520 Allowed values
521 1 - v1 error format
522 2 - v2 error format
523
524Returns:
525 An object of the form:
526
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700527 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800528 &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.
529 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
530 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
531 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
532 {
533 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
534 },
535 ],
536 &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.
537 },
538 &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.
539 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
540 },
541 &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}`.
542 &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`.
543 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
544 },
545}</pre>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700546</div>
547
548</body></html>