update method

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

Updates 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\])?)).

deployment - The name of the deployment for this request. Value must have pattern \[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"

deletePolicy - Sets the policy to use for deleting resources. Possible string values are:

  • "DELETE"
  • "ABANDON"

preview - If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove 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> update(
  Deployment request,
  core.String project,
  core.String deployment, {
  core.String? createPolicy,
  core.String? deletePolicy,
  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 (deletePolicy != null) 'deletePolicy': [deletePolicy],
    if (preview != null) 'preview': ['${preview}'],
    if ($fields != null) 'fields': [$fields],
  };

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

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