class ServicesTenancyUnits extends Resource (View source)

The "tenancyUnits" collection of methods.

Typical usage is:

 $serviceconsumermanagementService = new Google\Service\ServiceConsumerManagement(...);
 $tenancyUnits = $serviceconsumermanagementService->services_tenancyUnits;

Methods

addProject(string $parent, AddTenantProjectRequest $postBody, array $optParams = [])

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. (tenancyUnits.addProject)

applyProjectConfig(string $name, ApplyTenantProjectConfigRequest $postBody, array $optParams = [])

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.

attachProject(string $name, AttachTenantProjectRequest $postBody, array $optParams = [])

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.

create(string $parent, CreateTenancyUnitRequest $postBody, array $optParams = [])

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. (tenancyUnits.create)

delete(string $name, array $optParams = [])

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.

deleteProject(string $name, DeleteTenantProjectRequest $postBody, array $optParams = [])

Deletes the specified project resource identified by a tenant resource tag.

listServicesTenancyUnits(string $parent, array $optParams = [])

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.

removeProject(string $name, RemoveTenantProjectRequest $postBody, array $optParams = [])

Removes the specified project resource identified by a tenant resource tag.

undeleteProject(string $name, UndeleteTenantProjectRequest $postBody, array $optParams = [])

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. (tenancyUnits.undeleteProject)

Details

Operation addProject(string $parent, AddTenantProjectRequest $postBody, array $optParams = [])

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. (tenancyUnits.addProject)

Parameters

string $parent

Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.

AddTenantProjectRequest $postBody
array $optParams

Optional parameters.

Return Value

Operation

Exceptions

Exception

Operation applyProjectConfig(string $name, ApplyTenantProjectConfigRequest $postBody, array $optParams = [])

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. (tenancyUnits.applyProjectConfig)

Parameters

string $name

Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.

ApplyTenantProjectConfigRequest $postBody
array $optParams

Optional parameters.

Return Value

Operation

Exceptions

Exception

Operation attachProject(string $name, AttachTenantProjectRequest $postBody, array $optParams = [])

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.

(tenancyUnits.attachProject)

Parameters

string $name

Required. Name of the tenancy unit that the project will be attached to. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.

AttachTenantProjectRequest $postBody
array $optParams

Optional parameters.

Return Value

Operation

Exceptions

Exception

TenancyUnit create(string $parent, CreateTenancyUnitRequest $postBody, array $optParams = [])

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. (tenancyUnits.create)

Parameters

string $parent

Required. services/{service}/{collection id}/{resource id} {collection id} is the cloud resource collection type representing the service consumer, for example 'projects', or 'organizations'. {resource id} is the consumer numeric id, such as project number: '123456'. {service} the name of a managed service, such as 'service.googleapis.com'. Enables service binding using the new tenancy unit.

CreateTenancyUnitRequest $postBody
array $optParams

Optional parameters.

Return Value

TenancyUnit

Exceptions

Exception

Operation delete(string $name, array $optParams = [])

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.

(tenancyUnits.delete)

Parameters

string $name

Required. Name of the tenancy unit to be deleted.

array $optParams

Optional parameters.

Return Value

Operation

Exceptions

Exception

Operation deleteProject(string $name, DeleteTenantProjectRequest $postBody, array $optParams = [])

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. (tenancyUnits.deleteProject)

Parameters

string $name

Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.

DeleteTenantProjectRequest $postBody
array $optParams

Optional parameters.

Return Value

Operation

Exceptions

Exception

ListTenancyUnitsResponse listServicesTenancyUnits(string $parent, array $optParams = [])

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.

(tenancyUnits.listServicesTenancyUnits)

Parameters

string $parent

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 'projects', or 'organizations'. {resource id} is the consumer numeric id, such as project number: '123456'. {service} the name of a service, such as 'service.googleapis.com'.

array $optParams

Optional parameters.

Return Value

ListTenancyUnitsResponse

Exceptions

Exception

Operation removeProject(string $name, RemoveTenantProjectRequest $postBody, array $optParams = [])

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. (tenancyUnits.removeProject)

Parameters

string $name

Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.

RemoveTenantProjectRequest $postBody
array $optParams

Optional parameters.

Return Value

Operation

Exceptions

Exception

Operation undeleteProject(string $name, UndeleteTenantProjectRequest $postBody, array $optParams = [])

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. (tenancyUnits.undeleteProject)

Parameters

string $name

Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'.

UndeleteTenantProjectRequest $postBody
array $optParams

Optional parameters.

Return Value

Operation

Exceptions

Exception