insert method

Future<Operation> insert(
  1. Deployment request,
  2. String project, {
  3. String? createPolicy,
  4. bool? preview,
  5. String? $fields,
})

Creates a deployment and all of the resources described by the deployment manifest.

request - The metadata request object.

Request parameters:

project - The project ID for this request. Value must have pattern (?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?)).

createPolicy - Sets the policy to use for creating new resources. Possible string values are:

  • "CREATE_OR_ACQUIRE"
  • "ACQUIRE"

preview - If set to true, creates a deployment and creates "shell" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the update() method or you can use the cancelPreview() method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.

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

  final url_ = 'deploymentmanager/v2/projects/' +
      commons.escapeVariable('$project') +
      '/global/deployments';

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