create method

Future<Operation> create(
  1. Cluster request,
  2. String projectId,
  3. String region, {
  4. String? actionOnFailedPrimaryWorkers,
  5. String? requestId,
  6. String? $fields,
})

Creates a cluster in a project.

The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).

request - The metadata request object.

Request parameters:

projectId - Required. The ID of the Google Cloud Platform project that the cluster belongs to.

region - Required. The Dataproc region in which to handle the request.

actionOnFailedPrimaryWorkers - Optional. Failure action when primary worker creation fails. Possible string values are:

  • "FAILURE_ACTION_UNSPECIFIED" : When FailureAction is unspecified, failure action defaults to NO_ACTION.
  • "NO_ACTION" : Take no action on failure to create a cluster resource. NO_ACTION is the default.
  • "DELETE" : Delete the failed cluster resource.

requestId - Optional. A unique ID used to identify the request. If the server receives two CreateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.

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

  final url_ = 'v1/projects/' +
      commons.escapeVariable('$projectId') +
      '/regions/' +
      commons.escapeVariable('$region') +
      '/clusters';

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