hcloud_volume – Create and manage block volumes on the Hetzner Cloud

New in version 2.8.

Synopsis

  • Create, update and attach/detach block volumes on the Hetzner Cloud.

Requirements

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

  • hcloud-python >= 1.0.0

Parameters

Parameter Choices/Defaults Comments
api_token
string / required
This is the API Token for the Hetzner Cloud.
automount
boolean
    Choices:
  • no
  • yes
Automatically mount the Volume.
endpoint
string
Default:
"https://api.hetzner.cloud/v1"
This is the API Endpoint for the Hetzner Cloud.
format
string
    Choices:
  • xfs
  • ext4
Automatically Format the volume on creation
Can only be used in case the Volume does not exists.
id
integer
The ID of the Hetzner Cloud Block Volume to manage.
Only required if no volume name is given
labels
dictionary
User-defined key-value pairs.
location
string
Location of the Hetzner Cloud Volume.
Required if no server is given and Volume does not exists.
name
string
The Name of the Hetzner Cloud Block Volume to manage.
Only required if no volume id is given or a volume does not exists.
server
string
Server Name the Volume should be assigned to.
Required if no location is given and Volume does not exists.
size
integer
The size of the Block Volume.
Required if volume does not yet exists.
state
string
    Choices:
  • absent
  • present ←
State of the volume.

See Also

See also

Documentation for Hetzner Cloud API
Complete reference for the Hetzner Cloud API.

Examples

- name: Create a volume
  hcloud_volume:
    name: my-volume
    location: fsn1
    size: 100
    state: present
- name: Create a volume and format it with ext4
  hcloud_volume:
    name: my-volume
    location: fsn
    format: ext4
    size: 100
    state: present
- name: Mount a existing volume and automount
  hcloud_volume:
    name: my-volume
    server: my-server
    automount: yes
    state: present
- name: Mount a existing volume and automount
  hcloud_volume:
    name: my-volume
    server: my-server
    automount: yes
    state: present
- name: Ensure the volume is absent (remove if needed)
  hcloud_volume:
    name: my-volume
    state: absent

Return Values

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

Key Returned Description
hcloud_volume
complex
Always
The block volume

  id
integer
Always
ID of the volume

Sample:
12345
  labels
dictionary
Always
User-defined labels (key-value pairs)

Sample:
{'key': 'value', 'mylabel': 123}
  location
string
Always
Location name where the volume is located at

Sample:
fsn1
  name
string
Always
Name of the volume

Sample:
my-volume
  server
string
Always
Server name where the volume is attached to

Sample:
my-server
  size
integer
Always
Size in MB of the volume

Sample:
1337


Status

Authors

  • Christopher Schmitt (@cschmitt-hcloud)

Hint

If you notice any issues in this documentation you can edit this document to improve it.