cloudscale_ch.cloud.volume module – Manages volumes on the cloudscale.ch IaaS service.
Note
This module is part of the cloudscale_ch.cloud collection (version 2.5.2).
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 cloudscale_ch.cloud.
To use it in a playbook, specify: cloudscale_ch.cloud.volume.
New in cloudscale_ch.cloud 1.0.0
Synopsis
- Create, attach/detach, update, delete and revert volumes on the cloudscale.ch IaaS service. 
Aliases: cloudscale_volume
Parameters
| Parameter | Comments | 
|---|---|
| Timeout in seconds for calls to the cloudscale.ch API. This can also be passed in the  Default:  | |
| cloudscale.ch API token. This can also be passed in the  | |
| cloudscale.ch API URL. This can also be passed in the  Default:  | |
| Name of the volume. Either name or UUID must be present to change an existing volume. | |
| UUID of the snapshot to revert the volume to. This must be the most recent snapshot of the volume. For root volumes: the respective server must be shut down. For non-root volumes: the volume to be reverted must be detached | |
| UUIDs of the servers this volume is attached to. Set this to  The aliases  | |
| Size of the volume in GB. | |
| State of the volume. Choices: 
 | |
| Tags associated with the volume. Set this to  | |
| Type of the volume. Cannot be changed after creating the volume. Defaults to  Choices: 
 | |
| UUID of the volume. Either name or UUID must be present to change an existing volume. | |
| Zone in which the volume resides (e.g.  | 
Notes
Note
- To create a new volume at least the name and size_gb options are required. 
- A volume can be created and attached to a server in the same task. 
- All operations are performed using the cloudscale.ch public API v1. 
- For details consult the full API documentation: https://www.cloudscale.ch/en/api/v1. 
- A valid API token is required for all operations. You can create as many tokens as you like using the cloudscale.ch control panel at https://control.cloudscale.ch. 
Examples
# Create a new SSD volume
- name: Create an SSD volume
  cloudscale_ch.cloud.volume:
    name: my_ssd_volume
    zone: 'lpg1'
    size_gb: 50
    api_token: xxxxxx
  register: my_ssd_volume
# Attach an existing volume to a server
- name: Attach volume to server
  cloudscale_ch.cloud.volume:
    uuid: "{{ my_ssd_volume.uuid }}"
    servers:
      - ea3b39a3-77a8-4d0b-881d-0bb00a1e7f48
    api_token: xxxxxx
# Create and attach a volume to a server
- name: Create and attach volume to server
  cloudscale_ch.cloud.volume:
    name: my_ssd_volume
    zone: 'lpg1'
    size_gb: 50
    servers:
      - ea3b39a3-77a8-4d0b-881d-0bb00a1e7f48
    api_token: xxxxxx
# Detach volume from server
- name: Detach volume from server
  cloudscale_ch.cloud.volume:
    uuid: "{{ my_ssd_volume.uuid }}"
    servers: []
    api_token: xxxxxx
# Revert a volume to the most recent snapshot
- name: Revert volume to snapshot
  cloudscale_ch.cloud.volume:
    uuid: "{{ my_ssd_volume.uuid }}"
    revert: "e504dc99-ff01-4e89-ad89-7df080f97b4b"
    api_token: xxxxxx
# Delete a volume
- name: Delete volume
  cloudscale_ch.cloud.volume:
    name: my_ssd_volume
    state: absent
    api_token: xxxxxx
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| The API URL to get details about this volume. Returned: state == present Sample:  | |
| The display name of the volume. Returned: state == present Sample:  | |
| The UUIDs of the servers this volume is attached to. This return value is deprecated and will disappear in the future when the field is removed from the API. Returned: state == present Sample:  | |
| The list of servers this volume is attached to. Returned: state == present Sample:  | |
| The size of the volume in GB. Returned: state == present Sample:  | |
| The current status of the volume. Returned: success Sample:  | |
| Tags associated with the volume. Returned: state == present Sample:  | |
| The type of the volume. Returned: state == present Sample:  | |
| The unique identifier for this volume. Returned: state == present Sample:  | |
| The zone of the volume. Returned: state == present Sample:  | 
