cloudscale_volume – Manages volumes on the cloudscale.ch IaaS service

From Get docs
Ansible/docs/2.8/modules/cloudscale volume module


cloudscale_volume – Manages volumes on the cloudscale.ch IaaS service

New in version 2.8.


Synopsis

  • Create, attach/detach and delete volumes on the cloudscale.ch IaaS service.

Parameters

Parameter Choices/Defaults Comments

api_timeout

-

Default:

30

Timeout in seconds for calls to the cloudscale.ch API.

api_token

-

cloudscale.ch API token.

This can also be passed in the CLOUDSCALE_API_TOKEN environment variable.

name

-

Name of the volume. Either name or UUID must be present to change an existing volume.

server_uuids

-

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.


aliases: server_uuid

size_gb

-

Size of the volume in GB.

state

-

  • present

  • absent

State of the volume.

type

-

  • ssd
  • bulk

Type of the volume. Cannot be changed after creating the volume. Defaults to ssd on volume creation.

uuid

-

UUID of the volume. Either name or UUID must be present to change an existing volume.



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.
  • Instead of the api_token parameter the CLOUDSCALE_API_TOKEN environment variable can be used.
  • 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_volume:
    name: my_ssd_volume
    size_gb: 50
    api_token: xxxxxx
  register: my_ssd_volume

# Attach an existing volume to a server
- name: Attach volume to server
  cloudscale_volume:
    uuid: my_ssd_volume.uuid
    server_uuids:
      - ea3b39a3-77a8-4d0b-881d-0bb00a1e7f48
    api_token: xxxxxx

# Create and attach a volume to a server
- name: Create and attach volume to server
  cloudscale_volume:
    name: my_ssd_volume
    size_gb: 50
    server_uuids:
      - ea3b39a3-77a8-4d0b-881d-0bb00a1e7f48
    api_token: xxxxxx

# Detach volume from server
- name: Detach volume from server
  cloudscale_volume:
    uuid: my_ssd_volume.uuid
    server_uuids: []
    api_token: xxxxxx

# Delete a volume
- name: Delete volume
  cloudscale_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 Returned Description

href

string

success when state == present

The API URL to get details about this volume.


Sample:

name

string

success when state == present

The display name of the volume.


Sample:

my_ssd_volume

server_uuids

list

success when state == present

The UUIDs of the servers this volume is attached to.


Sample:

['47cec963-fcd2-482f-bdb6-24461b2d47b1']

size_gb

string

success when state == present

The size of the volume in GB.


Sample:

50

state

string

success

The current status of the volume.


Sample:

present

type

string

success when state == present

The type of the volume. There are currently two options: ssd (default) or bulk.


Sample:

bulk

uuid

string

success when state == present

The unique identifier for this volume.


Sample:

2db69ba3-1864-4608-853a-0771b6885a3a




Status

Authors

  • Gaudenz Steinlin (@gaudenz)

Hint

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


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/cloudscale_volume_module.html