createBucketAsync method

Future<Operation<LogBucket, BucketMetadata>> createBucketAsync(
  1. CreateBucketRequest request
)

Creates a log bucket asynchronously that can be used to store log entries.

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>> createBucketAsync(
  CreateBucketRequest request,
) async {
  final url = Uri.https(_host, '/v2/${request.parent}/buckets:createAsync', {
    if (request.bucketId case final $1 when $1.isNotDefault) 'bucketId': $1,
  });
  final response = await _client.post(url, body: request.bucket);
  return Operation.fromJson(
    response,
    OperationHelper(LogBucket.fromJson, BucketMetadata.fromJson),
  );
}