deleteProject method

Future<Operation> deleteProject(
  1. DeleteTenantProjectRequest request,
  2. String name, {
  3. String? $fields,
})

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.

request - The metadata request object.

Request parameters:

name - Required. Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. Value must have pattern ^services/\[^/\]+/\[^/\]+/\[^/\]+/tenancyUnits/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Operation.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Operation> deleteProject(
  DeleteTenantProjectRequest request,
  core.String name, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':deleteProject';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}