create method

Future<Operation> create(
  1. ConnectCluster request,
  2. String parent, {
  3. String? connectClusterId,
  4. String? requestId,
  5. String? $fields,
})

Creates a new Kafka Connect cluster in a given project and location.

request - The metadata request object.

Request parameters:

parent - Required. The parent project/location in which to create the Kafka Connect cluster. Structured like projects/{project}/locations/{location}/. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+$.

connectClusterId - Required. The ID to use for the Connect cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? to comply with RFC 1035. This value is structured like: my-cluster-id.

requestId - Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).

$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> create(
  ConnectCluster request,
  core.String parent, {
  core.String? connectClusterId,
  core.String? requestId,
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if (connectClusterId != null) 'connectClusterId': [connectClusterId],
    if (requestId != null) 'requestId': [requestId],
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/connectClusters';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}