create method

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

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