community.digitalocean.digital_ocean_block_storage module – Create/destroy or attach/detach Block Storage volumes in DigitalOcean
Note
This module is part of the community.digitalocean collection (version 1.27.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 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 | Comments | 
|---|---|
| DigitalOcean API base url. Default:  | |
| 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. | |
| Which operation do you want to perform. Choices: 
 | |
| Description of the Block Storage volume. | |
| The droplet id you want to operate on. Required when command=attach. | |
| DigitalOcean OAuth token. There are several other environment variables which can be used to provide this value. i.e., -  | |
| Project to assign the resource to (project name, not UUID). Defaults to the default project of the account (empty string). Currently only supported when  Default:  | |
| The slug of the region where your Block Storage volume should be located in. If snapshot_id is included, this will be ignored. | |
| The snapshot id you would like the Block Storage volume created with. If included, region and block_size will be ignored and changed to  | |
| Indicate desired state of the target. Choices: 
 | |
| The timeout in seconds used for polling DigitalOcean’s API. Default:  | |
| If set to  This should only set to  Choices: 
 | |
| 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
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: create
    region: nyc1
    block_size: 10
    volume_name: nyc1-block-storage
- name: Create new Block Storage (and assign to Project "test")
  community.digitalocean.digital_ocean_block_storage:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: create
    region: nyc1
    block_size: 10
    volume_name: nyc1-block-storage
    project_name: test
- name: Resize an existing Block Storage
  community.digitalocean.digital_ocean_block_storage:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: create
    region: nyc1
    block_size: 20
    volume_name: nyc1-block-storage
- name: Delete Block Storage
  community.digitalocean.digital_ocean_block_storage:
    state: absent
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: create
    region: nyc1
    volume_name: nyc1-block-storage
- name: Attach Block Storage to a Droplet
  community.digitalocean.digital_ocean_block_storage:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: attach
    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
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: attach
    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 | Description | 
|---|---|
| Assignment status (ok, not_found, assigned, already_assigned, service_down) Returned: changed Sample:  | |
| Unique identifier of a Block Storage volume returned during creation. Returned: changed Sample:  | |
| Informational or error message encountered during execution Returned: changed Sample:  | |
| Resource assignment involved in project assignment Returned: changed Sample:  | 
