frostmoln_snapshot (Resource)
Manages a volume snapshot in the Frostmoln platform. A snapshot's content, name, description and source volume are fixed when it is taken; its tags change in place.
The platform refuses a tag update, with a 409 error, while the snapshot is not available (still being taken, or being restored) — apply again once it is — and on a snapshot that carries no owner tag (some older snapshots, taken before the platform stamped one). Manage such a snapshot with an aliased provider configuration that has no default_tags, and leave its tags unchanged, or take a new snapshot to replace it.
Authoritative scope — who owns what on this resource, declared in internal/scopedecl and machine-checked against the schema.
Enacted and reconciled — every configurable attribute not listed below: the platform applies it, and a refresh reads the truth back.
Create-immutable — description, name, volume_id: a snapshot's content is fixed when it is taken, and so are its name, description and source volume here — changing one destroys it and takes a new snapshot of the volume (its tags change in place).
Observed, not enacted — tags_all: keys set outside Terraform — in the portal, by the fm CLI, or stamped by the platform — appear only here and are kept on every apply, never removed.
Example Usage
resource "frostmoln_snapshot" "backup" {
name = "data-volume-backup"
description = "Daily backup of data volume"
volume_id = frostmoln_volume.data.id
# Tags change in place; a tag change (or a provider default_tags change) never
# re-takes the snapshot.
tags = {
type = "backup"
}
}Schema
Required
name(String) The name of the snapshot.volume_id(String) The ID of the volume to create the snapshot from.
Optional
description(String) A human-readable description of the snapshot.tags(Map of String) Key-value tags for the snapshot. Changed in place. Merged with the provider'sdefault_tagson every write (a key set here wins). Holds only the keys this configuration sets; the full set is intags_all.timeouts(Block, Optional) (see below for nested schema)
Read-Only
created_at(String) The timestamp when the snapshot was created.id(String) The unique identifier of the snapshot.size_gb(Number) The size of the snapshot in gigabytes.status(String) The current status of the snapshot.tags_all(Map of String) Every tag the platform holds on this resource: the provider'sdefault_tags, this resource's owntags(which win on a shared key), and any key set outside Terraform — in the portal, by the fm CLI, or stamped by the platform. Keys set outside Terraform appear only here and are kept on every apply, never removed.
Nested Schema for timeouts
Optional:
create(String) How long the provider waits for the create operation to converge before giving up (e.g. "45m", "2h").delete(String) How long the provider waits for the delete to complete before giving up (e.g. "30m").update(String) How long the provider waits for an update (resize, in-place change) to converge before giving up (e.g. "30m").