create method
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>);
}