create method

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

Creates a new bare metal node pool in a given project, location and Bare Metal cluster.

request - The metadata request object.

Request parameters:

parent - Required. The parent resource where this node pool will be created. projects/{project}/locations/{location}/bareMetalClusters/{cluster} Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/bareMetalClusters/\[^/\]+$.

bareMetalNodePoolId - The ID to use for the node pool, which will become the final component of the node pool's resource name. This value must be up to 63 characters, and valid characters are /a-z-/. The value must not be permitted to be a UUID (or UUID-like: anything matching /^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i).

validateOnly - If set, only validate the request, but do not actually create the node pool.

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

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

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