Updated May 10, 2026 Manages a Raff snapshot — a point-in-time capture of a VM disk or a volume. Once taken, the source binding (Documentation Index
Fetch the complete documentation index at: https://docs.rafftechnologies.com/llms.txt
Use this file to discover all available pages before exploring further.
resource_type, vm_id, volume_id) is immutable — Terraform owns the snapshot’s lifecycle (rename, delete). Restore is an imperative operation; use raff snapshot restore when you need it.
Example — VM snapshot
Example — volume snapshot
Argument reference
Required
| Argument | Type | Description |
|---|---|---|
name | string | Snapshot name. Updates trigger a rename |
resource_type | string | Source type: vm or volume. ForceNew |
Optional (one required, depending on resource_type)
| Argument | Type | Description |
|---|---|---|
vm_id | string (UUID) | Source VM UUID. Required when resource_type = "vm". ForceNew |
volume_id | int | Source volume ID. Required when resource_type = "volume". ForceNew |
Attribute reference (computed)
| Attribute | Description |
|---|---|
id | Snapshot ID |
size | Snapshot size (string, e.g. "50 GB") |
status | Empty when saved-but-not-in-use; active when the source is currently reverted to this snapshot (cannot be deleted in this state) |
created_at | RFC3339 timestamp |
Lifecycle
| Operation | Behavior |
|---|---|
terraform apply (create) | Captures a new snapshot |
Change name | In-place rename |
Change resource_type / vm_id / volume_id | Replacement — snapshots are immutable; Terraform destroys and recreates |
terraform destroy | Deletes the snapshot. Fails if status = "active" — restore the source elsewhere first |
Importing existing snapshots
Permissions
The API key needssnapshot.create, snapshot.manage, and snapshot.delete in the project. The system role Project Admin grants all of these.
Data sources
Related
raff_backup
Heavier-weight backup with retention.
raff_volume
Block storage volumes.
CLI: raff snapshot
Imperative equivalent.