create method

Future<Operation> create(
  1. Cluster request,
  2. String parent, {
  3. String? clusterId,
  4. String? requestId,
  5. bool? validateOnly,
  6. String? $fields,
})

Creates a new cluster in a given private cloud.

Creating a new cluster provides additional nodes for use in the parent private cloud and requires sufficient node quota.

request - The metadata request object.

Request parameters:

parent - Required. The resource name of the private cloud to create a new cluster in. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-central1-a/privateClouds/my-cloud Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/privateClouds/\[^/\]+$.

clusterId - Required. The user-provided identifier of the new Cluster. This identifier must be unique among clusters within the parent and becomes the final token in the name URI. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with RFC 1034 (section 3.5)

requestId - Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

validateOnly - Optional. True if you want the request to be validated and not executed; false otherwise.

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

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

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