community.digitalocean.digital_ocean_block_storage – Create/destroy or attach/detach Block Storage volumes in DigitalOcean

Note

This plugin is part of the community.digitalocean collection (version 1.1.1).

To install it use: ansible-galaxy collection install community.digitalocean.

To use it in a playbook, specify: community.digitalocean.digital_ocean_block_storage.

Synopsis

  • Create/destroy Block Storage volume in DigitalOcean, or attach/detach Block Storage volume to a droplet.

Parameters

Parameter Choices/Defaults Comments
block_size
integer
The size of the Block Storage volume in gigabytes.
Required when command=create and state=present.
If snapshot_id is included, this will be ignored.
If block_size > current size of the volume, the volume is resized.
command
string / required
    Choices:
  • create
  • attach
Which operation do you want to perform.
description
string
Description of the Block Storage volume.
droplet_id
integer
The droplet id you want to operate on.
Required when command=attach.
oauth_token
string
DigitalOcean OAuth token.
There are several other environment variables which can be used to provide this value.
i.e., - 'DO_API_TOKEN', 'DO_API_KEY', 'DO_OAUTH_TOKEN' and 'OAUTH_TOKEN'

aliases: api_token
region
string
The slug of the region where your Block Storage volume should be located in.
If snapshot_id is included, this will be ignored.
snapshot_id
string
The snapshot id you would like the Block Storage volume created with.
If included, region and block_size will be ignored and changed to null.
state
string / required
    Choices:
  • present
  • absent
Indicate desired state of the target.
timeout
integer
Default:
30
The timeout in seconds used for polling DigitalOcean's API.
validate_certs
boolean
    Choices:
  • no
  • yes ←
If set to no, the SSL certificates will not be validated.
This should only set to no used on personally controlled sites using self-signed certificates.
volume_name
string / required
The name of the Block Storage volume.

Notes

Note

  • Two environment variables can be used, DO_API_KEY and DO_API_TOKEN. They both refer to the v2 token.

  • If snapshot_id is used, region and block_size will be ignored and changed to null.

Examples

- name: Create new Block Storage
  community.digitalocean.digital_ocean_block_storage:
    state: present
    command: create
    api_token: <TOKEN>
    region: nyc1
    block_size: 10
    volume_name: nyc1-block-storage

- name: Resize an existing Block Storage
  community.digitalocean.digital_ocean_block_storage:
    state: present
    command: create
    api_token: <TOKEN>
    region: nyc1
    block_size: 20
    volume_name: nyc1-block-storage

- name: Delete Block Storage
  community.digitalocean.digital_ocean_block_storage:
    state: absent
    command: create
    api_token: <TOKEN>
    region: nyc1
    volume_name: nyc1-block-storage

- name: Attach Block Storage to a Droplet
  community.digitalocean.digital_ocean_block_storage:
    state: present
    command: attach
    api_token: <TOKEN>
    volume_name: nyc1-block-storage
    region: nyc1
    droplet_id: <ID>

- name: Detach Block Storage from a Droplet
  community.digitalocean.digital_ocean_block_storage:
    state: absent
    command: attach
    api_token: <TOKEN>
    volume_name: nyc1-block-storage
    region: nyc1
    droplet_id: <ID>

Return Values

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

Key Returned Description
id
string
changed
Unique identifier of a Block Storage volume returned during creation.

Sample:
69b25d9a-494c-12e6-a5af-001f53126b44


Authors

  • Harnek Sidhu (@harneksidhu)