updateBucketAsync method

Future<Operation<LogBucket, BucketMetadata>> updateBucketAsync(
  1. UpdateBucketRequest request
)

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 != null)
      'updateMask': request.updateMask!.toJson(),
  });
  final response = await _client.post(url, body: request.bucket);
  return Operation.fromJson(
    response,
    OperationHelper(LogBucket.fromJson, BucketMetadata.fromJson),
  );
}