create method
Creates a new bare metal cluster in a given project and location.
request
- The metadata request object.
Request parameters:
parent
- Required. The parent of the project and location where the
cluster is created in. Format: "projects/{project}/locations/{location}"
Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+$
.
allowPreflightFailure
- Optional. If set to true, CLM will force CCFE to
persist the cluster resource in RMS when the creation fails during
standalone preflight checks. In that case the subsequent create call will
fail with "cluster already exists" error and hence a update cluster is
required to fix the cluster.
bareMetalClusterId
- Required. User provided identifier that is used as
part of the resource name; must conform to RFC-1034 and additionally
restrict to lower-cased letters. This comes out roughly to:
/^a-z+[a-z0-9]$/
validateOnly
- Validate the request without actually doing any updates.
$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(
BareMetalCluster request,
core.String parent, {
core.bool? allowPreflightFailure,
core.String? bareMetalClusterId,
core.bool? validateOnly,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (allowPreflightFailure != null)
'allowPreflightFailure': ['${allowPreflightFailure}'],
if (bareMetalClusterId != null)
'bareMetalClusterId': [bareMetalClusterId],
if (validateOnly != null) 'validateOnly': ['${validateOnly}'],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/bareMetalClusters';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}