restore method
Create a new database by restoring from a completed backup.
The new database must be in the same project and in an instance with the
same instance configuration as the instance containing the backup. The
returned database long-running operation has a name of the format
projects//instances//databases//operations/
, and can be used to track
the progress of the operation, and to cancel it. The metadata field type
is RestoreDatabaseMetadata. The response type is Database, if successful.
Cancelling the returned operation will stop the restore and delete the
database. There can be only one database being restored into an instance
at a time. Once the restore operation completes, a new restore operation
can be initiated, without waiting for the optimize operation associated
with the first restore to complete.
request
- The metadata request object.
Request parameters:
parent
- Required. The name of the instance in which to create the
restored database. This instance must be in the same project and have the
same instance configuration as the instance containing the source backup.
Values are of the form projects//instances/
.
Value must have pattern ^projects/\[^/\]+/instances/\[^/\]+$
.
$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> restore(
RestoreDatabaseRequest request,
core.String parent, {
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('$parent') + '/databases:restore';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}