blob: 216fdf7310d56a71ee3803e05f32c530ccdc7c63 [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">
78 <code><a href="#addProject">addProject(parent, body, x__xgafv=None)</a></code></p>
79<p class="firstline">Add a new tenant project to the tenancy unit.</p>
80<p class="toc_element">
81 <code><a href="#applyProjectConfig">applyProjectConfig(name, body, x__xgafv=None)</a></code></p>
82<p class="firstline">Apply a configuration to an existing tenant project.</p>
83<p class="toc_element">
84 <code><a href="#attachProject">attachProject(name, body, x__xgafv=None)</a></code></p>
85<p class="firstline">Attach an existing project to the tenancy unit as a new tenant</p>
86<p class="toc_element">
87 <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
88<p class="firstline">Creates a tenancy unit with no tenant resources.</p>
89<p class="toc_element">
90 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
91<p class="firstline">Delete a tenancy unit. Before you delete the tenancy unit, there should be</p>
92<p class="toc_element">
93 <code><a href="#deleteProject">deleteProject(name, body, x__xgafv=None)</a></code></p>
94<p class="firstline">Deletes the specified project resource identified by a tenant resource tag.</p>
95<p class="toc_element">
96 <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
97<p class="firstline">Find the tenancy unit for a managed service and service consumer.</p>
98<p class="toc_element">
99 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
100<p class="firstline">Retrieves the next page of results.</p>
101<p class="toc_element">
102 <code><a href="#removeProject">removeProject(name, body, x__xgafv=None)</a></code></p>
103<p class="firstline">Removes the specified project resource identified by a tenant resource tag.</p>
104<p class="toc_element">
105 <code><a href="#undeleteProject">undeleteProject(name, body, x__xgafv=None)</a></code></p>
106<p class="firstline">Attempts to undelete a previously deleted tenant project. The project must</p>
107<h3>Method Details</h3>
108<div class="method">
109 <code class="details" id="addProject">addProject(parent, body, x__xgafv=None)</code>
110 <pre>Add a new tenant project to the tenancy unit.
111There can be a maximum of 512 tenant projects in a tenancy unit.
112If there are previously failed `AddTenantProject` calls, you might need to
113call `RemoveTenantProject` first to resolve them before you can make
114another call to `AddTenantProject` with the same tag.
115Operation<response: Empty>.
116
117Args:
118 parent: string, Name of the tenancy unit.
119Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. (required)
120 body: object, The request body. (required)
121 The object takes the form of:
122
123{ # Request to add a newly created and configured tenant project to a tenancy
124 # unit.
125 "projectConfig": { # 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
126 # resources.
127 # unit and its initial configuration and properties. A project lien is created
128 # for the tenant project to prevent the tenant project from being deleted
129 # accidentally. The lien is deleted as part of tenant project removal.
130 "billingConfig": { # Describes the billing configuration for a new tenant project. # Billing account properties. The billing account must be specified.
131 "billingAccount": "A String", # Name of the billing account.
132 # For example `billingAccounts/012345-567890-ABCDEF`.
133 },
134 "labels": { # Labels that are applied to this project.
135 "a_key": "A String",
136 },
137 "serviceAccountConfig": { # Describes the service account configuration for the tenant project. # Configuration for the IAM service account on the tenant project.
138 "tenantProjectRoles": [ # Roles for the associated service account for the tenant project.
139 "A String",
140 ],
141 "accountId": "A String", # ID of the IAM service account to be created in tenant project.
142 # The email format of the service account is
143 # "<account-id>@<tenant-project-id>.iam.gserviceaccount.com".
144 # This account ID must be unique within tenant project and service
145 # producers have to guarantee it. The ID must be 6-30 characters long, and
146 # match the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])`.
147 },
148 "services": [ # Google Cloud API names of services that are activated on this project
149 # during provisioning. If any of these services can't be activated,
150 # the request fails.
151 # For example: 'compute.googleapis.com','cloudfunctions.googleapis.com'
152 "A String",
153 ],
154 "folder": "A String", # Folder where project in this tenancy unit must be located
155 # This folder must have been previously created with the required
156 # permissions for the caller to create and configure a project in it.
157 # Valid folder resource names have the format `folders/{folder_number}`
158 # (for example, `folders/123456`).
159 "tenantProjectPolicy": { # Describes policy settings that need to be applied to a newly # Describes ownership and policies for the new tenant project. Required.
160 # created tenant project.
161 "policyBindings": [ # Policy bindings to be applied to the tenant project, in addition to the
162 # 'roles/owner' role granted to the Service Consumer Management service
163 # account.
164 # At least one binding must have the role `roles/owner`. Among the list of
165 # members for `roles/owner`, at least one of them must be either the `user`
166 # or `group` type.
167 { # Translates to IAM Policy bindings (without auditing at this level)
168 "role": "A String", # Role. (https://cloud.google.com/iam/docs/understanding-roles)
169 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
170 "members": [ # Uses the same format as in IAM policy.
171 # `member` must include both a prefix and ID. For example, `user:{emailId}`,
172 # `serviceAccount:{emailId}`, `group:{emailId}`.
173 "A String",
174 ],
175 },
176 ],
177 },
178 },
179 "tag": "A String", # Tag of the added project. Must be less than 128 characters. Required.
180 }
181
182 x__xgafv: string, V1 error format.
183 Allowed values
184 1 - v1 error format
185 2 - v2 error format
186
187Returns:
188 An object of the form:
189
190 { # This resource represents a long-running operation that is the result of a
191 # network API call.
192 "metadata": { # Service-specific metadata associated with the operation. It typically
193 # contains progress information and common metadata such as create time.
194 # Some services might not provide such metadata. Any method that returns a
195 # long-running operation should document the metadata type, if any.
196 "a_key": "", # Properties of the object. Contains field @type with type URL.
197 },
198 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
199 # different programming environments, including REST APIs and RPC APIs. It is
200 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
201 # three pieces of data: error code, error message, and error details.
202 #
203 # You can find out more about this error model and how to work with it in the
204 # [API Design Guide](https://cloud.google.com/apis/design/errors).
205 "message": "A String", # A developer-facing error message, which should be in English. Any
206 # user-facing error message should be localized and sent in the
207 # google.rpc.Status.details field, or localized by the client.
208 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
209 "details": [ # A list of messages that carry the error details. There is a common set of
210 # message types for APIs to use.
211 {
212 "a_key": "", # Properties of the object. Contains field @type with type URL.
213 },
214 ],
215 },
216 "done": True or False, # If the value is `false`, it means the operation is still in progress.
217 # If `true`, the operation is completed, and either `error` or `response` is
218 # available.
219 "response": { # The normal response of the operation in case of success. If the original
220 # method returns no data on success, such as `Delete`, the response is
221 # `google.protobuf.Empty`. If the original method is standard
222 # `Get`/`Create`/`Update`, the response should be the resource. For other
223 # methods, the response should have the type `XxxResponse`, where `Xxx`
224 # is the original method name. For example, if the original method name
225 # is `TakeSnapshot()`, the inferred response type is
226 # `TakeSnapshotResponse`.
227 "a_key": "", # Properties of the object. Contains field @type with type URL.
228 },
229 "name": "A String", # The server-assigned name, which is only unique within the same service that
230 # originally returns it. If you use the default HTTP mapping, the
231 # `name` should be a resource name ending with `operations/{unique_id}`.
232 }</pre>
233</div>
234
235<div class="method">
236 <code class="details" id="applyProjectConfig">applyProjectConfig(name, body, x__xgafv=None)</code>
237 <pre>Apply a configuration to an existing tenant project.
238This project must exist in an active state and have the original owner
239account. The caller must have permission to add a project to the given
240tenancy unit. The configuration is applied, but any existing settings on
241the project aren't modified.
242Specified policy bindings are applied. Existing bindings aren't modified.
243Specified services are activated. No service is deactivated.
244If specified, new billing configuration is applied.
245Omit a billing configuration to keep the existing one.
246A service account in the project is created if previously non existed.
247Specified labels will be appended to tenant project, note that the value of
248existing label key will be updated if the same label key is requested.
249The specified folder is ignored, as moving a tenant project to a different
250folder isn't supported.
251The operation fails if any of the steps fail, but no rollback of already
252applied configuration changes is attempted.
253Operation<response: Empty>.
254
255Args:
256 name: string, Name of the tenancy unit.
257Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. (required)
258 body: object, The request body. (required)
259 The object takes the form of:
260
261{ # Request to apply configuration to an existing tenant project.
262 "projectConfig": { # This structure defines a tenant project to be added to the specified tenancy # Configuration that should be applied to the existing tenant project.
263 # unit and its initial configuration and properties. A project lien is created
264 # for the tenant project to prevent the tenant project from being deleted
265 # accidentally. The lien is deleted as part of tenant project removal.
266 "billingConfig": { # Describes the billing configuration for a new tenant project. # Billing account properties. The billing account must be specified.
267 "billingAccount": "A String", # Name of the billing account.
268 # For example `billingAccounts/012345-567890-ABCDEF`.
269 },
270 "labels": { # Labels that are applied to this project.
271 "a_key": "A String",
272 },
273 "serviceAccountConfig": { # Describes the service account configuration for the tenant project. # Configuration for the IAM service account on the tenant project.
274 "tenantProjectRoles": [ # Roles for the associated service account for the tenant project.
275 "A String",
276 ],
277 "accountId": "A String", # ID of the IAM service account to be created in tenant project.
278 # The email format of the service account is
279 # "<account-id>@<tenant-project-id>.iam.gserviceaccount.com".
280 # This account ID must be unique within tenant project and service
281 # producers have to guarantee it. The ID must be 6-30 characters long, and
282 # match the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])`.
283 },
284 "services": [ # Google Cloud API names of services that are activated on this project
285 # during provisioning. If any of these services can't be activated,
286 # the request fails.
287 # For example: 'compute.googleapis.com','cloudfunctions.googleapis.com'
288 "A String",
289 ],
290 "folder": "A String", # Folder where project in this tenancy unit must be located
291 # This folder must have been previously created with the required
292 # permissions for the caller to create and configure a project in it.
293 # Valid folder resource names have the format `folders/{folder_number}`
294 # (for example, `folders/123456`).
295 "tenantProjectPolicy": { # Describes policy settings that need to be applied to a newly # Describes ownership and policies for the new tenant project. Required.
296 # created tenant project.
297 "policyBindings": [ # Policy bindings to be applied to the tenant project, in addition to the
298 # 'roles/owner' role granted to the Service Consumer Management service
299 # account.
300 # At least one binding must have the role `roles/owner`. Among the list of
301 # members for `roles/owner`, at least one of them must be either the `user`
302 # or `group` type.
303 { # Translates to IAM Policy bindings (without auditing at this level)
304 "role": "A String", # Role. (https://cloud.google.com/iam/docs/understanding-roles)
305 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
306 "members": [ # Uses the same format as in IAM policy.
307 # `member` must include both a prefix and ID. For example, `user:{emailId}`,
308 # `serviceAccount:{emailId}`, `group:{emailId}`.
309 "A String",
310 ],
311 },
312 ],
313 },
314 },
315 "tag": "A String", # Tag of the project. Must be less than 128 characters. Required.
316 }
317
318 x__xgafv: string, V1 error format.
319 Allowed values
320 1 - v1 error format
321 2 - v2 error format
322
323Returns:
324 An object of the form:
325
326 { # This resource represents a long-running operation that is the result of a
327 # network API call.
328 "metadata": { # Service-specific metadata associated with the operation. It typically
329 # contains progress information and common metadata such as create time.
330 # Some services might not provide such metadata. Any method that returns a
331 # long-running operation should document the metadata type, if any.
332 "a_key": "", # Properties of the object. Contains field @type with type URL.
333 },
334 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
335 # different programming environments, including REST APIs and RPC APIs. It is
336 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
337 # three pieces of data: error code, error message, and error details.
338 #
339 # You can find out more about this error model and how to work with it in the
340 # [API Design Guide](https://cloud.google.com/apis/design/errors).
341 "message": "A String", # A developer-facing error message, which should be in English. Any
342 # user-facing error message should be localized and sent in the
343 # google.rpc.Status.details field, or localized by the client.
344 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
345 "details": [ # A list of messages that carry the error details. There is a common set of
346 # message types for APIs to use.
347 {
348 "a_key": "", # Properties of the object. Contains field @type with type URL.
349 },
350 ],
351 },
352 "done": True or False, # If the value is `false`, it means the operation is still in progress.
353 # If `true`, the operation is completed, and either `error` or `response` is
354 # available.
355 "response": { # The normal response of the operation in case of success. If the original
356 # method returns no data on success, such as `Delete`, the response is
357 # `google.protobuf.Empty`. If the original method is standard
358 # `Get`/`Create`/`Update`, the response should be the resource. For other
359 # methods, the response should have the type `XxxResponse`, where `Xxx`
360 # is the original method name. For example, if the original method name
361 # is `TakeSnapshot()`, the inferred response type is
362 # `TakeSnapshotResponse`.
363 "a_key": "", # Properties of the object. Contains field @type with type URL.
364 },
365 "name": "A String", # The server-assigned name, which is only unique within the same service that
366 # originally returns it. If you use the default HTTP mapping, the
367 # `name` should be a resource name ending with `operations/{unique_id}`.
368 }</pre>
369</div>
370
371<div class="method">
372 <code class="details" id="attachProject">attachProject(name, body, x__xgafv=None)</code>
373 <pre>Attach an existing project to the tenancy unit as a new tenant
374resource. The project could either be the tenant project reserved by
375calling `AddTenantProject` under a tenancy unit of a service producer's
376project of a managed service, or from a separate project.
377The caller is checked against a set of permissions as if calling
378`AddTenantProject` on the same service consumer.
379To trigger the attachment, the targeted tenant project must be in a
380folder. Make sure the ServiceConsumerManagement service account is
381the owner of that project. These two requirements are already met
382if the project is reserved by calling `AddTenantProject`.
383Operation<response: Empty>.
384
385Args:
386 name: string, Name of the tenancy unit that the project will be attached to.
387Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. (required)
388 body: object, The request body. (required)
389 The object takes the form of:
390
391{ # Request to attach an existing project to the tenancy unit as a new tenant
392 # resource.
393 "reservedResource": "A String", # When attaching a reserved project already in tenancy units, this is the
394 # tag of a tenant resource under the tenancy unit for the managed service's
395 # service producer project. The reserved tenant resource must be in an
396 # active state.
397 "externalResource": "A String", # When attaching an external project, this is in the format of
398 # `projects/{project_number}`.
399 "tag": "A String", # Tag of the tenant resource after attachment.
400 # Must be less than 128 characters. Required.
401 }
402
403 x__xgafv: string, V1 error format.
404 Allowed values
405 1 - v1 error format
406 2 - v2 error format
407
408Returns:
409 An object of the form:
410
411 { # This resource represents a long-running operation that is the result of a
412 # network API call.
413 "metadata": { # Service-specific metadata associated with the operation. It typically
414 # contains progress information and common metadata such as create time.
415 # Some services might not provide such metadata. Any method that returns a
416 # long-running operation should document the metadata type, if any.
417 "a_key": "", # Properties of the object. Contains field @type with type URL.
418 },
419 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
420 # different programming environments, including REST APIs and RPC APIs. It is
421 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
422 # three pieces of data: error code, error message, and error details.
423 #
424 # You can find out more about this error model and how to work with it in the
425 # [API Design Guide](https://cloud.google.com/apis/design/errors).
426 "message": "A String", # A developer-facing error message, which should be in English. Any
427 # user-facing error message should be localized and sent in the
428 # google.rpc.Status.details field, or localized by the client.
429 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
430 "details": [ # A list of messages that carry the error details. There is a common set of
431 # message types for APIs to use.
432 {
433 "a_key": "", # Properties of the object. Contains field @type with type URL.
434 },
435 ],
436 },
437 "done": True or False, # If the value is `false`, it means the operation is still in progress.
438 # If `true`, the operation is completed, and either `error` or `response` is
439 # available.
440 "response": { # The normal response of the operation in case of success. If the original
441 # method returns no data on success, such as `Delete`, the response is
442 # `google.protobuf.Empty`. If the original method is standard
443 # `Get`/`Create`/`Update`, the response should be the resource. For other
444 # methods, the response should have the type `XxxResponse`, where `Xxx`
445 # is the original method name. For example, if the original method name
446 # is `TakeSnapshot()`, the inferred response type is
447 # `TakeSnapshotResponse`.
448 "a_key": "", # Properties of the object. Contains field @type with type URL.
449 },
450 "name": "A String", # The server-assigned name, which is only unique within the same service that
451 # originally returns it. If you use the default HTTP mapping, the
452 # `name` should be a resource name ending with `operations/{unique_id}`.
453 }</pre>
454</div>
455
456<div class="method">
457 <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
458 <pre>Creates a tenancy unit with no tenant resources.
459
460Args:
461 parent: string, services/{service}/{collection id}/{resource id}
462{collection id} is the cloud resource collection type representing the
463service consumer, for example 'projects', or 'organizations'.
464{resource id} is the consumer numeric id, such as project number: '123456'.
465{service} the name of a managed service, such as 'service.googleapis.com'.
466Enables service binding using the new tenancy unit. (required)
467 body: object, The request body. (required)
468 The object takes the form of:
469
470{ # Request to create a tenancy unit for a service consumer of a managed service.
471 "tenancyUnitId": "A String", # Optional service producer-provided identifier of the tenancy unit.
472 # Must be no longer than 40 characters and preferably URI friendly.
473 # If it isn't provided, a UID for the tenancy unit is automatically
474 # generated. The identifier must be unique across a managed service.
475 # If the tenancy unit already exists for the managed service and service
476 # consumer pair, calling `CreateTenancyUnit` returns the existing tenancy
477 # unit if the provided identifier is identical or empty, otherwise the call
478 # fails.
479 }
480
481 x__xgafv: string, V1 error format.
482 Allowed values
483 1 - v1 error format
484 2 - v2 error format
485
486Returns:
487 An object of the form:
488
489 { # Representation of a tenancy unit.
490 "tenantResources": [ # Resources constituting the tenancy unit.
491 # There can be at most 512 tenant resources in a tenancy unit.
492 { # Resource constituting the TenancyUnit.
493 "status": "A String", # Status of tenant resource.
494 "tag": "A String", # Unique per single tenancy unit.
495 "resource": "A String", # @OutputOnly Identifier of the tenant resource.
496 # For cloud projects, it is in the form 'projects/{number}'.
497 # For example 'projects/123456'.
498 },
499 ],
500 "consumer": "A String", # @OutputOnly Cloud resource name of the consumer of this service.
501 # For example 'projects/123456'.
502 "createTime": "A String", # @OutputOnly The time this tenancy unit was created.
503 "service": "A String", # Output only. Google Cloud API name of the managed service owning this
504 # tenancy unit.
505 # For example 'serviceconsumermanagement.googleapis.com'.
506 "name": "A String", # Globally unique identifier of this tenancy unit
507 # "services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}"
508 }</pre>
509</div>
510
511<div class="method">
512 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
513 <pre>Delete a tenancy unit. Before you delete the tenancy unit, there should be
514no tenant resources in it that aren't in a DELETED state.
515Operation<response: Empty>.
516
517Args:
518 name: string, Name of the tenancy unit to be deleted. (required)
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
527 { # This resource represents a long-running operation that is the result of a
528 # network API call.
529 "metadata": { # Service-specific metadata associated with the operation. It typically
530 # contains progress information and common metadata such as create time.
531 # Some services might not provide such metadata. Any method that returns a
532 # long-running operation should document the metadata type, if any.
533 "a_key": "", # Properties of the object. Contains field @type with type URL.
534 },
535 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
536 # different programming environments, including REST APIs and RPC APIs. It is
537 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
538 # three pieces of data: error code, error message, and error details.
539 #
540 # You can find out more about this error model and how to work with it in the
541 # [API Design Guide](https://cloud.google.com/apis/design/errors).
542 "message": "A String", # A developer-facing error message, which should be in English. Any
543 # user-facing error message should be localized and sent in the
544 # google.rpc.Status.details field, or localized by the client.
545 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
546 "details": [ # A list of messages that carry the error details. There is a common set of
547 # message types for APIs to use.
548 {
549 "a_key": "", # Properties of the object. Contains field @type with type URL.
550 },
551 ],
552 },
553 "done": True or False, # If the value is `false`, it means the operation is still in progress.
554 # If `true`, the operation is completed, and either `error` or `response` is
555 # available.
556 "response": { # The normal response of the operation in case of success. If the original
557 # method returns no data on success, such as `Delete`, the response is
558 # `google.protobuf.Empty`. If the original method is standard
559 # `Get`/`Create`/`Update`, the response should be the resource. For other
560 # methods, the response should have the type `XxxResponse`, where `Xxx`
561 # is the original method name. For example, if the original method name
562 # is `TakeSnapshot()`, the inferred response type is
563 # `TakeSnapshotResponse`.
564 "a_key": "", # Properties of the object. Contains field @type with type URL.
565 },
566 "name": "A String", # The server-assigned name, which is only unique within the same service that
567 # originally returns it. If you use the default HTTP mapping, the
568 # `name` should be a resource name ending with `operations/{unique_id}`.
569 }</pre>
570</div>
571
572<div class="method">
573 <code class="details" id="deleteProject">deleteProject(name, body, x__xgafv=None)</code>
574 <pre>Deletes the specified project resource identified by a tenant resource tag.
575The mothod removes a project lien with a 'TenantManager' origin if that was
576added. It will then attempt to delete the project. If that operation fails,
577this method also fails.
578After the project has been deleted, the tenant resource state is set to
579DELETED. To permanently remove resource metadata, call the
580`RemoveTenantProject` method.
581New resources with the same tag can't be added if there are existing
582resources in a DELETED state.
583Operation<response: Empty>.
584
585Args:
586 name: string, Name of the tenancy unit.
587Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. (required)
588 body: object, The request body. (required)
589 The object takes the form of:
590
591{ # Request message to delete tenant project resource from the tenancy unit.
592 "tag": "A String", # Tag of the resource within the tenancy unit.
593 }
594
595 x__xgafv: string, V1 error format.
596 Allowed values
597 1 - v1 error format
598 2 - v2 error format
599
600Returns:
601 An object of the form:
602
603 { # This resource represents a long-running operation that is the result of a
604 # network API call.
605 "metadata": { # Service-specific metadata associated with the operation. It typically
606 # contains progress information and common metadata such as create time.
607 # Some services might not provide such metadata. Any method that returns a
608 # long-running operation should document the metadata type, if any.
609 "a_key": "", # Properties of the object. Contains field @type with type URL.
610 },
611 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
612 # different programming environments, including REST APIs and RPC APIs. It is
613 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
614 # three pieces of data: error code, error message, and error details.
615 #
616 # You can find out more about this error model and how to work with it in the
617 # [API Design Guide](https://cloud.google.com/apis/design/errors).
618 "message": "A String", # A developer-facing error message, which should be in English. Any
619 # user-facing error message should be localized and sent in the
620 # google.rpc.Status.details field, or localized by the client.
621 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
622 "details": [ # A list of messages that carry the error details. There is a common set of
623 # message types for APIs to use.
624 {
625 "a_key": "", # Properties of the object. Contains field @type with type URL.
626 },
627 ],
628 },
629 "done": True or False, # If the value is `false`, it means the operation is still in progress.
630 # If `true`, the operation is completed, and either `error` or `response` is
631 # available.
632 "response": { # The normal response of the operation in case of success. If the original
633 # method returns no data on success, such as `Delete`, the response is
634 # `google.protobuf.Empty`. If the original method is standard
635 # `Get`/`Create`/`Update`, the response should be the resource. For other
636 # methods, the response should have the type `XxxResponse`, where `Xxx`
637 # is the original method name. For example, if the original method name
638 # is `TakeSnapshot()`, the inferred response type is
639 # `TakeSnapshotResponse`.
640 "a_key": "", # Properties of the object. Contains field @type with type URL.
641 },
642 "name": "A String", # The server-assigned name, which is only unique within the same service that
643 # originally returns it. If you use the default HTTP mapping, the
644 # `name` should be a resource name ending with `operations/{unique_id}`.
645 }</pre>
646</div>
647
648<div class="method">
649 <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
650 <pre>Find the tenancy unit for a managed service and service consumer.
651This method shouldn't be used in a service producer's runtime path, for
652example to find the tenant project number when creating VMs. Service
653producers must persist the tenant project's information after the project
654is created.
655
656Args:
657 parent: string, Managed service and service consumer. Required.
658services/{service}/{collection id}/{resource id}
659{collection id} is the cloud resource collection type representing the
660service consumer, for example 'projects', or 'organizations'.
661{resource id} is the consumer numeric id, such as project number: '123456'.
662{service} the name of a service, such as 'service.googleapis.com'. (required)
663 pageToken: string, The continuation token, which is used to page through large result sets.
664To get the next page of results, set this parameter to the value of
665`nextPageToken` from the previous response.
666 x__xgafv: string, V1 error format.
667 Allowed values
668 1 - v1 error format
669 2 - v2 error format
670 pageSize: integer, The maximum number of results returned by this request.
671 filter: string, Filter expression over tenancy resources field. Optional.
672
673Returns:
674 An object of the form:
675
676 { # Response for the list request.
677 "nextPageToken": "A String", # Pagination token for large results.
678 "tenancyUnits": [ # Tenancy units matching the request.
679 { # Representation of a tenancy unit.
680 "tenantResources": [ # Resources constituting the tenancy unit.
681 # There can be at most 512 tenant resources in a tenancy unit.
682 { # Resource constituting the TenancyUnit.
683 "status": "A String", # Status of tenant resource.
684 "tag": "A String", # Unique per single tenancy unit.
685 "resource": "A String", # @OutputOnly Identifier of the tenant resource.
686 # For cloud projects, it is in the form 'projects/{number}'.
687 # For example 'projects/123456'.
688 },
689 ],
690 "consumer": "A String", # @OutputOnly Cloud resource name of the consumer of this service.
691 # For example 'projects/123456'.
692 "createTime": "A String", # @OutputOnly The time this tenancy unit was created.
693 "service": "A String", # Output only. Google Cloud API name of the managed service owning this
694 # tenancy unit.
695 # For example 'serviceconsumermanagement.googleapis.com'.
696 "name": "A String", # Globally unique identifier of this tenancy unit
697 # "services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}"
698 },
699 ],
700 }</pre>
701</div>
702
703<div class="method">
704 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
705 <pre>Retrieves the next page of results.
706
707Args:
708 previous_request: The request for the previous page. (required)
709 previous_response: The response from the request for the previous page. (required)
710
711Returns:
712 A request object that you can call 'execute()' on to request the next
713 page. Returns None if there are no more items in the collection.
714 </pre>
715</div>
716
717<div class="method">
718 <code class="details" id="removeProject">removeProject(name, body, x__xgafv=None)</code>
719 <pre>Removes the specified project resource identified by a tenant resource tag.
720The method removes the project lien with 'TenantManager' origin if that
721was added. It then attempts to delete the project. If that operation
722fails, this method also fails.
723Calls to remove already removed or non-existent tenant project succeed.
724After the project has been deleted, or if was already in a DELETED state,
725resource metadata is permanently removed from the tenancy unit.
726Operation<response: Empty>.
727
728Args:
729 name: string, Name of the tenancy unit.
730Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. (required)
731 body: object, The request body. (required)
732 The object takes the form of:
733
734{ # Request message to remove a tenant project resource from the tenancy unit.
735 "tag": "A String", # Tag of the resource within the tenancy unit.
736 }
737
738 x__xgafv: string, V1 error format.
739 Allowed values
740 1 - v1 error format
741 2 - v2 error format
742
743Returns:
744 An object of the form:
745
746 { # This resource represents a long-running operation that is the result of a
747 # network API call.
748 "metadata": { # Service-specific metadata associated with the operation. It typically
749 # contains progress information and common metadata such as create time.
750 # Some services might not provide such metadata. Any method that returns a
751 # long-running operation should document the metadata type, if any.
752 "a_key": "", # Properties of the object. Contains field @type with type URL.
753 },
754 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
755 # different programming environments, including REST APIs and RPC APIs. It is
756 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
757 # three pieces of data: error code, error message, and error details.
758 #
759 # You can find out more about this error model and how to work with it in the
760 # [API Design Guide](https://cloud.google.com/apis/design/errors).
761 "message": "A String", # A developer-facing error message, which should be in English. Any
762 # user-facing error message should be localized and sent in the
763 # google.rpc.Status.details field, or localized by the client.
764 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
765 "details": [ # A list of messages that carry the error details. There is a common set of
766 # message types for APIs to use.
767 {
768 "a_key": "", # Properties of the object. Contains field @type with type URL.
769 },
770 ],
771 },
772 "done": True or False, # If the value is `false`, it means the operation is still in progress.
773 # If `true`, the operation is completed, and either `error` or `response` is
774 # available.
775 "response": { # The normal response of the operation in case of success. If the original
776 # method returns no data on success, such as `Delete`, the response is
777 # `google.protobuf.Empty`. If the original method is standard
778 # `Get`/`Create`/`Update`, the response should be the resource. For other
779 # methods, the response should have the type `XxxResponse`, where `Xxx`
780 # is the original method name. For example, if the original method name
781 # is `TakeSnapshot()`, the inferred response type is
782 # `TakeSnapshotResponse`.
783 "a_key": "", # Properties of the object. Contains field @type with type URL.
784 },
785 "name": "A String", # The server-assigned name, which is only unique within the same service that
786 # originally returns it. If you use the default HTTP mapping, the
787 # `name` should be a resource name ending with `operations/{unique_id}`.
788 }</pre>
789</div>
790
791<div class="method">
792 <code class="details" id="undeleteProject">undeleteProject(name, body, x__xgafv=None)</code>
793 <pre>Attempts to undelete a previously deleted tenant project. The project must
794be in a DELETED state.
795There are no guarantees that an undeleted project will be in
796a fully restored and functional state. Call the `ApplyTenantProjectConfig`
797method to update its configuration and then validate all managed service
798resources.
799Operation<response: Empty>.
800
801Args:
802 name: string, Name of the tenancy unit.
803Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. (required)
804 body: object, The request body. (required)
805 The object takes the form of:
806
807{ # Request message to undelete tenant project resource previously deleted from
808 # the tenancy unit.
809 "tag": "A String", # Tag of the resource within the tenancy unit.
810 }
811
812 x__xgafv: string, V1 error format.
813 Allowed values
814 1 - v1 error format
815 2 - v2 error format
816
817Returns:
818 An object of the form:
819
820 { # This resource represents a long-running operation that is the result of a
821 # network API call.
822 "metadata": { # Service-specific metadata associated with the operation. It typically
823 # contains progress information and common metadata such as create time.
824 # Some services might not provide such metadata. Any method that returns a
825 # long-running operation should document the metadata type, if any.
826 "a_key": "", # Properties of the object. Contains field @type with type URL.
827 },
828 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
829 # different programming environments, including REST APIs and RPC APIs. It is
830 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
831 # three pieces of data: error code, error message, and error details.
832 #
833 # You can find out more about this error model and how to work with it in the
834 # [API Design Guide](https://cloud.google.com/apis/design/errors).
835 "message": "A String", # A developer-facing error message, which should be in English. Any
836 # user-facing error message should be localized and sent in the
837 # google.rpc.Status.details field, or localized by the client.
838 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
839 "details": [ # A list of messages that carry the error details. There is a common set of
840 # message types for APIs to use.
841 {
842 "a_key": "", # Properties of the object. Contains field @type with type URL.
843 },
844 ],
845 },
846 "done": True or False, # If the value is `false`, it means the operation is still in progress.
847 # If `true`, the operation is completed, and either `error` or `response` is
848 # available.
849 "response": { # The normal response of the operation in case of success. If the original
850 # method returns no data on success, such as `Delete`, the response is
851 # `google.protobuf.Empty`. If the original method is standard
852 # `Get`/`Create`/`Update`, the response should be the resource. For other
853 # methods, the response should have the type `XxxResponse`, where `Xxx`
854 # is the original method name. For example, if the original method name
855 # is `TakeSnapshot()`, the inferred response type is
856 # `TakeSnapshotResponse`.
857 "a_key": "", # Properties of the object. Contains field @type with type URL.
858 },
859 "name": "A String", # The server-assigned name, which is only unique within the same service that
860 # originally returns it. If you use the default HTTP mapping, the
861 # `name` should be a resource name ending with `operations/{unique_id}`.
862 }</pre>
863</div>
864
865</body></html>