delete method
Schedules a PrivateCloud
resource for deletion.
A PrivateCloud
resource scheduled for deletion has PrivateCloud.state
set to DELETED
and expireTime
set to the time when deletion is final
and can no longer be reversed. The delete operation is marked as done as
soon as the PrivateCloud
is successfully scheduled for deletion (this
also applies when delayHours
is set to zero), and the operation is not
kept in pending state until PrivateCloud
is purged. PrivateCloud
can
be restored using UndeletePrivateCloud
method before the expireTime
elapses. When expireTime
is reached, deletion is final and all private
cloud resources are irreversibly removed and billing stops. During the
final removal process, PrivateCloud.state
is set to PURGING
.
PrivateCloud
can be polled using standard GET
method for the whole
period of deletion and purging. It will not be returned only when it is
completely purged.
Request parameters:
name
- Required. The resource name of the private cloud to delete.
Resource names are schemeless URIs that follow the conventions in
https://cloud.google.com/apis/design/resource_names. For example:
projects/my-project/locations/us-central1-a/privateClouds/my-cloud
Value must have pattern
^projects/\[^/\]+/locations/\[^/\]+/privateClouds/\[^/\]+$
.
delayHours
- Optional. Time delay of the deletion specified in hours.
The default value is 3
. Specifying a non-zero value for this field
changes the value of PrivateCloud.state
to DELETED
and sets
expire_time
to the planned deletion time. Deletion can be cancelled
before expire_time
elapses using VmwareEngine.UndeletePrivateCloud.
Specifying a value of 0
for this field instead begins the deletion
process and ceases billing immediately. During the final deletion process,
the value of PrivateCloud.state
becomes PURGING
.
force
- Optional. If set to true, cascade delete is enabled and all
children of this private cloud resource are also deleted. When this flag
is set to false, the private cloud will not be deleted if there are any
children other than the management cluster. The management cluster is
always deleted.
requestId
- Optional. The request ID must be a valid UUID with the
exception that zero UUID is not supported
(00000000-0000-0000-0000-000000000000).
$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> delete(
core.String name, {
core.int? delayHours,
core.bool? force,
core.String? requestId,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (delayHours != null) 'delayHours': ['${delayHours}'],
if (force != null) 'force': ['${force}'],
if (requestId != null) 'requestId': [requestId],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$name');
final response_ = await _requester.request(
url_,
'DELETE',
queryParams: queryParams_,
);
return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}