Skip to content

Instance Snapshots CLI Reference

Reference · Updated Sep 2026

Coming from another cloud?

▸AWS·EC2 Instances

EC2 Instanceshigh

  • Uses EC2 RunInstances API instead of Nova servers.create.
  • Requires predefined instance type selection.
  • Supports per-second On-Demand billing and Spot/Reserved options.
  • Includes hibernation state not standard in OpenStack.
AWS docs ↗
▸Azure·Virtual Machines

Virtual Machineshigh

  • Uses Azure Resource Manager (ARM) REST API at /providers/Microsoft.Compute/virtualMachines instead of OpenStack Nova API at /v2.1/servers.
  • Tightly integrated with Azure services like Azure Active Directory for authentication, unlike OpenStack's Keystone.
  • VM creation requires specifying size from predefined series with hardware-specific features (e.g., AMD/Intel/ARM), not custom flavor configs.
  • Billed per second with complex pricing tiers based on series/reservation options, vs OpenStack's typically hourly or usage-based.
Azure docs ↗
▸DigitalOcean·Droplets

Dropletshigh

  • API surface is DigitalOcean’s proprietary REST/CLI/Terraform tooling rather than OpenStack Nova/Neutron/Glance APIs (Droplets are managed via DigitalOcean UI/CLI/API/Terraform).
  • Billing is usage-based with per-second billing (60-second minimum and monthly cap) rather than the typical per-hour, quota-based charge model users often see in OpenStack-based clouds.
  • Droplets include a bundled outbound transfer allowance with each plan (starting at 500 GiB/month) rather than a separate bandwidth quota/metering model users often encounter in OpenStack deployments.
  • Droplets are described as Linux-based VMs on virtualized hardware with local SSD storage, whereas OpenStack deployments commonly expose distinct block storage (Cinder) and image services (Glance) and may not bundle bandwidth/monitoring/firewalls into the instance offering.
DigitalOcean docs ↗
▸Google Cloud·VM instances

VM instanceshigh

  • Uses REST API 'instances.insert' instead of Nova 'servers.create' with different auth via service accounts vs Keystone.
  • Supports bare metal instances (no hypervisor), not in standard OpenStack Nova.
  • Network interfaces tied to VPC subnets; differs from Neutron ports/floating IPs.
Google Cloud docs ↗
▸Hetzner·Cloud Servers

Cloud Servershigh

  • Servers provisioned individually via Hetzner API (hcloud), not OpenStack Nova flavors; fixed instance types like CX11 (1 vCPU, 2GB RAM, 20GB NVMe).
  • No flavor customization; choose from predefined shared/dedicated vCPU series.
  • Billing hourly with monthly cap per server (e.g., €3.29/mo cap for CX11), charged even when powered off until deleted, unlike typical OpenStack stop-to-pause billing.
  • Custom REST API at api.hetzner.cloud/v1/servers instead of OpenStack Nova /v2.1/servers (different auth, payloads, response formats).
Hetzner docs ↗

Instance snapshots CLI reference

See the OpenStack CLI reference for the full command set.

These commands create, list, show, and delete instance snapshots, and create new instances from existing snapshots.

Create an instance snapshot#

bash
openstack server image create --name SNAPSHOT_NAME SERVER_ID_OR_NAME
  • SNAPSHOT_NAME: Name of the snapshot.
  • SERVER_ID_OR_NAME: ID or name of the instance to snapshot.

List snapshots (images)#

bash
openstack image list
  • Lists all images, including snapshots. Identify snapshots by their names or other metadata.

Show snapshot details#

bash
openstack image show SNAPSHOT_ID_OR_NAME
  • SNAPSHOT_ID_OR_NAME: ID or name of the snapshot.

List the underlying volume snapshot#

bash
# Show the Glance image entry. Its block_device_mapping property
# records the backing snapshot_id.
openstack image show SNAPSHOT_NAME

# Show the Cinder volume snapshot that holds the data. Match it by
# the snapshot_id from the image, or by its description.
openstack volume snapshot list

Delete a snapshot#

bash
openstack image delete SNAPSHOT_ID_OR_NAME
openstack volume snapshot delete VOLUME_SNAPSHOT_ID
  • openstack image delete removes the Glance image.
  • openstack volume snapshot delete removes the backing Cinder volume snapshot. The image delete does not remove it, so run this step to reclaim storage and free the snapshots_VOLUME_TYPE quota.

Create an instance from a snapshot#

bash
openstack server create --image SNAPSHOT_ID_OR_NAME --flavor FLAVOR_ID_OR_NAME NEW_SERVER_NAME
  • SNAPSHOT_ID_OR_NAME: ID or name of the snapshot to use as the image.
  • FLAVOR_ID_OR_NAME: ID or name of the flavor for the new instance.
  • NEW_SERVER_NAME: Name of the new instance.

The snapshot image references a volume snapshot, so this command clones that snapshot into a new Cinder volume and boots the instance from the cloned volume.

Quick answers

Was this page helpful?