undelete method

Future<DatabaseInstance> undelete(
  1. UndeleteDatabaseInstanceRequest request,
  2. String name, {
  3. String? $fields,
})

Restores a DatabaseInstance that was previously marked to be deleted.

After the delete method is used, DatabaseInstances are set to the DELETED state for 20 days, and will be purged within 30 days. Databases in the DELETED state can be undeleted without losing any data. This method may only be used on a DatabaseInstance in the DELETED state. Purged DatabaseInstances may not be recovered.

request - The metadata request object.

Request parameters:

name - Required. The fully qualified resource name of the database instance, in the form: projects/{project-number}/locations/{location-id}/instances/{database-id} Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+$.

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

Completes with a DatabaseInstance.

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<DatabaseInstance> undelete(
  UndeleteDatabaseInstanceRequest 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_ = 'v1beta/' + core.Uri.encodeFull('$name') + ':undelete';

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