# Deployments

A deployment is a collection of resources that are deployed and managed together, using a configuration file.

For a list of [methods](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments#methods) for this resource, see the end of this page.

## Resource representations

<br />

<br />

```
{
  "id": unsigned long,
  "name": string,
  "description": string,
  "operation": operations Resource,
  "fingerprint": bytes,
  "manifest": string,
  "update": {
    "manifest": string,
    "labels": [
      {
        "key": string,
        "value": string
      }
    ],
    "description": string
  },
  "insertTime": string,
  "updateTime": string,
  "target": {
    "config": {
      "content": string
    },
    "imports": [
      {
        "name": string,
        "content": string
      }
    ]
  },
  "labels": [
    {
      "key": string,
      "value": string
    }
  ],
  "selfLink": string
}
```

| Property name | Value | Description | Notes |
|---|---|---|---|
| `description` | `string` | An optional user-provided description of the deployment. |   |
| `fingerprint` | `bytes` | Provides a fingerprint to use in requests to modify a deployment, such as `update()`, `stop()`, and `cancelPreview()` requests. A fingerprint is a randomly generated value that must be provided with `update()`, `stop()`, and `cancelPreview()` requests to perform optimistic locking. This ensures optimistic concurrency so that only one request happens at a time. The fingerprint is initially generated by Deployment Manager and changes after every request to modify data. To get the latest fingerprint value, perform a `get()` request to a deployment. |   |
| `id` | `unsigned long` | Output only. Unique identifier for the deployment. |   |
| `insertTime` | `string` | Output only. Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |   |
| `labels[]` | `list` | Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z][-_a-z0-9]*`. Label values must be between 0 and 63 characters long and must conform to the regular expression `[-_a-z0-9]*`. |   |
| `labels[].key` | `string` |   |   |
| `labels[].value` | `string` |   |   |
| `manifest` | `string` | Output only. URL of the manifest representing the last manifest that was successfully deployed. |   |
| `name` | `string` | Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with [RFC1035](http://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. |   |
| `operation` | `nested object` | Output only. The Operation that most recently ran, or is currently running, on this deployment. |   |
| `selfLink` | `string` | Output only. Server defined URL for the resource. |   |
| `target` | `nested object` | \[Input Only\] The parameters that define your deployment, including the deployment configuration and relevant templates. |   |
| `target.config` | `nested object` | The root configuration file to use for this deployment. |   |
| `target.config.content` | `string` | The full YAML contents of your configuration file. |   |
| `target.imports[]` | `list` | Specifies any files to import for this configuration. This can be used to import templates or other files. For example, you might import a text file in order to use the file in a template. |   |
| `target.imports[].content` | `string` | The full contents of the template that you want to import. |   |
| `target.imports[].name` | `string` | The name of the template that you want to import, as declared in your YAML configuration. |   |
| `update` | `nested object` | Output only. If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here. |   |
| `update.description` | `string` | Output only. An optional user-provided description of the deployment after the current update has been applied. |   |
| `update.labels[]` | `list` | Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z][-_a-z0-9]*`. Label values must be between 0 and 63 characters long and must conform to the regular expression `[-_a-z0-9]*`. |   |
| `update.labels[].key` | `string` |   |   |
| `update.labels[].value` | `string` |   |   |
| `update.manifest` | `string` | Output only. URL of the manifest representing the update configuration of this deployment. |   |
| `updateTime` | `string` | Output only. Update timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |   |

## Methods

[cancelPreview](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/cancelPreview)
:   Cancels and removes the preview currently associated with the deployment.

[delete](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/delete)
:   Deletes a deployment and all of the resources in the deployment.

[get](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/get)
:   Gets information about a specific deployment.

[getIamPolicy](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/getIamPolicy)
:   Gets the access control policy for a resource. May be empty if no such
    policy or resource exists.

[insert](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/insert)
:   Creates a deployment and all of the resources described by the
    deployment manifest.

[list](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/list)
:   Lists all deployments for a given project.

[patch](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/patch)
:   Patches a deployment and all of the resources described by the
    deployment manifest. This method supports [patch semantics](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/performance#patch).

[setIamPolicy](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/setIamPolicy)
:   Sets the access control policy on the specified resource.
    Replaces any existing policy.

[stop](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/stop)
:   Stops an ongoing operation. This does not roll back any work that has
    already been completed, but prevents any new work from being started.

[testIamPermissions](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/testIamPermissions)
:   Returns permissions that a caller has on the specified resource.

[update](https://docs.cloud.google.com/deployment-manager/docs/reference/latest/deployments/update)
:   Updates a deployment and all of the resources described by the
    deployment manifest.