patch method
Updates a Cloud Spanner database.
The returned long-running operation can be used to track the progress of
updating the database. If the named database does not exist, returns
NOT_FOUND
. While the operation is pending: * The database's reconciling
field is set to true. * Cancelling the operation is best-effort. If the
cancellation succeeds, the operation metadata's cancel_time is set, the
updates are reverted, and the operation terminates with a CANCELLED
status. * New UpdateDatabase requests will return a FAILED_PRECONDITION
error until the pending operation is done (returns successfully or with
error). * Reading the database via the API continues to give the
pre-request values. Upon completion of the returned operation: * The new
values are in effect and readable via the API. * The database's
reconciling field becomes false. The returned long-running operation will
have a name of the format projects//instances//databases//operations/
and can be used to track the database modification. The metadata field
type is UpdateDatabaseMetadata. The response field type is Database, if
successful.
request
- The metadata request object.
Request parameters:
name
- Required. The name of the database. Values are of the form
projects//instances//databases/
, where `` is as specified in the CREATE DATABASE
statement. This name can be passed to other API methods to
identify the database.
Value must have pattern
^projects/\[^/\]+/instances/\[^/\]+/databases/\[^/\]+$
.
updateMask
- Required. The list of fields to update. Currently, only
enable_drop_protection
field can be updated.
$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> patch(
Database request,
core.String name, {
core.String? updateMask,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (updateMask != null) 'updateMask': [updateMask],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$name');
final response_ = await _requester.request(
url_,
'PATCH',
body: body_,
queryParams: queryParams_,
);
return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}