Skip to main content
This feature is in public preview.
A deployment manages a fleet of instances running on a pool. You specify an instance template and a target instance count. The deployment creates and removes instances to match the target. Without a deployment, you create and manage instances manually. If an instance is destroyed because its allocation ended, nothing replaces it. A deployment maintains your target count by creating a new instance in awaiting_allocation state, which starts running when allocation becomes available.

Create a deployment

This creates a deployment that maintains 4 instances on the dev pool, each configured according to the referenced instance template.

Use with a procurement

A generic deployment manages instances but does not buy or sell capacity. Pair it with a node_count procurement on the same pool and instance SKU to manage capacity automatically. The deployment creates or removes instances to meet its target, and the procurement counts all non-terminated instances, including those awaiting allocation, when it decides how much compute to buy or offer for sale.

Instance templates

A deployment references an instance template that defines the image, cloud-init script, and other configuration for each instance. Create an instance template first, then reference it in the deployment. Updating the instance template only affects new instances created by the deployment.

Instance name templates

Instances created by a deployment get auto-generated names. You can provide a naming pattern with --instance-name-template to give instances predictable names.

List deployments

Get deployment details

Update a deployment

Change the target instance count, instance template, or name.
Switch to a different instance template.

Delete a deployment

Deleting a generic deployment deletes all instances managed by that deployment, including instances that are still awaiting allocation. It does not sell the pool’s capacity.

API reference

See the Deployments API for programmatic access.