W3cubDocs

/Ansible

hetzner.hcloud.hcloud_volume – Create and manage block Volume on the Hetzner Cloud.

Note

This plugin is part of the hetzner.hcloud collection (version 1.6.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.

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

Synopsis

  • Create, update and attach/detach block Volume 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.
delete_protection
boolean
    Choices:
  • no
  • yes
Protect the Volume for deletion.
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 in GB.
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

delete_protection
boolean
added in 0.1.0 of hetzner.hcloud
always
True if Volume is protected for deletion

id
integer
Always
ID of the Volume

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

Sample:
{'key': 'value', 'mylabel': 123}
linux_device
string
added in 0.1.0 of hetzner.hcloud
always
Path to the device that contains the Volume.

Sample:
/dev/disk/by-id/scsi-0HC_Volume_12345
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 GB of the Volume

Sample:
1337


Authors

  • Christopher Schmitt (@cschmitt-hcloud)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/hetzner/hcloud/hcloud_volume_module.html