hetzner.hcloud.storage_box_snapshot module – Create and manage Storage Box Snapshots in Hetzner.

Note

This module is part of the hetzner.hcloud collection (version 6.4.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install hetzner.hcloud. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: hetzner.hcloud.storage_box_snapshot.

Synopsis

Aliases: hcloud_storage_box_snapshot

Requirements

The below requirements are needed on the host that executes this module.

  • python-dateutil >= 2.7.5

  • requests >=2.20

Parameters

Parameter

Comments

api_endpoint

aliases: endpoint

string

The endpoint for the Hetzner Cloud API.

You can also set this option by using the HCLOUD_ENDPOINT environment variable.

Default: "https://api.hetzner.cloud/v1"

api_endpoint_hetzner

string

The endpoint for the Hetzner API.

You can also set this option by using the HETZNER_ENDPOINT environment variable.

Default: "https://api.hetzner.com/v1"

api_token

string / required

The token for the Hetzner Cloud API.

You can also set this option by using the HCLOUD_TOKEN environment variable.

description

string

Description of the Storage Box Snapshot.

id

integer

ID of the Storage Box Snapshot to manage.

Required when updating or deleting and if no Storage Box Snapshot name is given.

If the ID is invalid, the module will fail.

labels

dictionary

User-defined labels (key-value pairs) for the Storage Box Snapshot.

name

string

Name of the Storage Box Snapshot to manage.

Storage Box Snapshot names are defined by the API and cannot be changed.

Required when updating or deleting and if no Storage Box Snapshot id is given.

state

string

State of the Storage Box Snapshot.

Choices:

  • "absent"

  • "present" ← (default)

storage_box

string / required

ID or Name of the parent Storage Box.

Using the ID is preferred, to reduce the amount of API requests.

See Also

See also

Documentation for Hetzner APIs

Complete reference for the Hetzner APIs.

Examples

- name: Create a Storage Box Snapshot
  hetzner.hcloud.storage_box_snapshot:
    storage_box: my-storage-box
    description: before app migration
    labels:
      env: prod
    state: present

- name: Delete a Storage Box Snapshot by name
  hetzner.hcloud.storage_box_snapshot:
    storage_box: my-storage-box
    name: 2025-12-03T13-47-47
    state: absent

- name: Delete a Storage Box Snapshot by id
  hetzner.hcloud.storage_box_snapshot:
    storage_box: 497436
    id: 405920
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

hcloud_storage_box_snapshot

dictionary

Details about the Storage Box Snapshot.

Returned: always

created

string

Point in time when the Storage Box Snapshot was created (in RFC3339 format).

Returned: always

Sample: "2025-12-03T13:47:47Z"

description

string

Description of the Storage Box Snapshot.

Returned: always

Sample: "before app migration"

id

integer

ID of the Storage Box Snapshot.

Returned: always

Sample: 405920

is_automatic

boolean

Whether the Storage Box Snapshot was created automatically.

Returned: always

Sample: false

labels

dictionary

User-defined labels (key-value pairs) of the Storage Box Snapshot.

Returned: always

Sample: {"env": "prod"}

name

string

Name of the Storage Box Snapshot.

Returned: always

Sample: "2025-02-12T11-35-19"

stats

dictionary

Statistics of the Storage Box Snapshot.

Returned: always

size

integer

Current storage requirements of the Snapshot in bytes.

Returned: always

Sample: 10485760

size_filesystem

integer

Size of the compressed file system contained in the Snapshot in bytes.

Returned: always

Sample: 10485760

storage_box

integer

ID of the parent Storage Box.

Returned: always

Sample: 497436

Authors

  • Jonas Lammler (@jooola)