- Docs »
- cloudscale_ch.cloud.volume – Manages volumes on the cloudscale.ch IaaS service.
-
You are reading the latest community version of the Ansible documentation. Red Hat subscribers, select 2.9 in the version selection to the left for the most recent Red Hat release.
cloudscale_ch.cloud.volume – Manages volumes on the cloudscale.ch IaaS service.
Note
This plugin is part of the cloudscale_ch.cloud collection (version 2.1.0).
To install it use: ansible-galaxy collection install cloudscale_ch.cloud
.
To use it in a playbook, specify: cloudscale_ch.cloud.volume
.
New in version 1.0.0: of cloudscale_ch.cloud
Parameter |
Choices/Defaults |
Comments |
api_timeout
integer
|
Default:
30
|
Timeout in seconds for calls to the cloudscale.ch API.
|
api_token
string
/ required
|
|
cloudscale.ch API token.
This can also be passed in the CLOUDSCALE_API_TOKEN environment variable.
|
api_url
string
added in 1.3.0 of cloudscale_ch.cloud
|
Default:
"https://api.cloudscale.ch/v1"
|
cloudscale.ch API URL.
This can also be passed in the CLOUDSCALE_API_URL environment variable.
|
name
string
|
|
Name of the volume. Either name or UUID must be present to change an existing volume.
|
servers
list
/ elements=string
|
|
UUIDs of the servers this volume is attached to. Set this to [] to detach the volume. Currently a volume can only be attached to a single server.
The aliases server_uuids and server_uuid are deprecated and will be removed in version 3.0.0 of this collection.
aliases: server_uuids, server_uuid
|
size_gb
integer
|
|
Size of the volume in GB.
|
state
string
|
Choices:
present ←
- absent
|
State of the volume.
|
tags
dictionary
|
|
Tags associated with the volume. Set this to {} to clear any tags.
|
type
string
|
|
Type of the volume. Cannot be changed after creating the volume. Defaults to ssd on volume creation.
|
uuid
string
|
|
UUID of the volume. Either name or UUID must be present to change an existing volume.
|
zone
string
|
|
Zone in which the volume resides (e.g. lgp1 or rma1 ). Cannot be changed after creating the volume. Defaults to the project default zone.
|
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.
# 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
# Delete a volume
- name: Delete volume
cloudscale_ch.cloud.volume:
name: my_ssd_volume
state: absent
api_token: xxxxxx
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
href
string
|
state == present |
The API URL to get details about this volume.
Sample:
https://api.cloudscale.ch/v1/volumes/2db69ba3-1864-4608-853a-0771b6885a3a
|
name
string
|
state == present |
The display name of the volume.
Sample:
my_ssd_volume
|
server_uuids
list
/ elements=string
|
state == present |
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.
Sample:
['47cec963-fcd2-482f-bdb6-24461b2d47b1']
|
servers
list
/ elements=string
|
state == present |
The list of servers this volume is attached to.
Sample:
[{'href': 'https://api.cloudscale.ch/v1/servers/47cec963-fcd2-482f-bdb6-24461b2d47b1', 'name': 'my_server', 'uuid': '47cec963-fcd2-482f-bdb6-24461b2d47b1'}]
|
size_gb
string
|
state == present |
The size of the volume in GB.
Sample:
50
|
state
string
|
success |
The current status of the volume.
Sample:
present
|
tags
dictionary
|
state == present |
Tags associated with the volume.
Sample:
{'project': 'my project'}
|
type
string
|
state == present |
The type of the volume.
Sample:
bulk
|
uuid
string
|
state == present |
The unique identifier for this volume.
Sample:
2db69ba3-1864-4608-853a-0771b6885a3a
|
zone
dictionary
|
state == present |
The zone of the volume.
Sample:
{'slug': 'lpg1'}
|