1<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>