updateBucketAsync method
Updates a log bucket asynchronously.
If the bucket has a lifecycle_state of DELETE_REQUESTED, then
FAILED_PRECONDITION will be returned.
After a bucket has been created, the bucket's location cannot be changed.
Throws a http.ClientException if there were problems communicating with
the API service. Throws a StatusException if the API failed with a
Status message. Throws a ServiceException for any other failure.
Returns an Operation representing the status of the long-running
operation.
When complete, Operation.done will be true. If successful,
Operation.responseAsMessage will contain the operation's result.
Implementation
Future<Operation<LogBucket, BucketMetadata>> updateBucketAsync(
UpdateBucketRequest request,
) async {
final url = Uri.https(_host, '/v2/${request.name}:updateAsync', {
if (request.updateMask case final $1?) 'updateMask': $1.toJson(),
});
final response = await _client.post(url, body: request.bucket);
return Operation.fromJson(
response,
OperationHelper(LogBucket.fromJson, BucketMetadata.fromJson),
);
}