ngine_io.vultr.vultr_block_storage – Manages block storage volumes on Vultr.

Note

This plugin is part of the ngine_io.vultr collection (version 1.1.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 ngine_io.vultr.

To use it in a playbook, specify: ngine_io.vultr.vultr_block_storage.

New in version 0.1.0: of ngine_io.vultr

Synopsis

  • Manage block storage volumes on Vultr.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments
api_account
string
Default:
"default"
Name of the ini section in the vultr.ini file.
The ENV variable VULTR_API_ACCOUNT is used as default, when defined.
api_endpoint
string
URL to API endpint (without trailing slash).
The ENV variable VULTR_API_ENDPOINT is used as default, when defined.
Fallback value is https://api.vultr.com if not specified.
api_key
string
API key of the Vultr API.
The ENV variable VULTR_API_KEY is used as default, when defined.
api_retries
integer
Amount of retries in case of the Vultr API retuns an HTTP 503 code.
The ENV variable VULTR_API_RETRIES is used as default, when defined.
Fallback value is 5 retries if not specified.
api_retry_max_delay
integer
Retry backoff delay in seconds is exponential up to this max. value, in seconds.
The ENV variable VULTR_API_RETRY_MAX_DELAY is used as default, when defined.
Fallback value is 12 seconds.
api_timeout
integer
HTTP timeout to Vultr API.
The ENV variable VULTR_API_TIMEOUT is used as default, when defined.
Fallback value is 60 seconds if not specified.
attached_to_SUBID
integer
The ID of the server the volume is attached to.
Required if state is attached.

aliases: attached_to_id
live_attachment
boolean
    Choices:
  • no
  • yes ←
Whether the volume should be attached/detached, even if the server not stopped.
name
string / required
Name of the block storage volume.

aliases: description, label
region
string
Region the block storage volume is deployed into.
Required if state is present.
size
integer
Size of the block storage volume in GB.
Required if state is present.
If it's larger than the volume's current size, the volume will be resized.
state
string
    Choices:
  • present ←
  • absent
  • attached
  • detached
State of the block storage volume.
validate_certs
boolean
    Choices:
  • no
  • yes ←
Validate SSL certs of the Vultr API.

Notes

Note

Examples

- name: Ensure a block storage volume is present
  ngine_io.vultr.vultr_block_storage:
    name: myvolume
    size: 10
    region: Amsterdam

- name: Ensure a block storage volume is absent
  ngine_io.vultr.vultr_block_storage:
    name: myvolume
    state: absent

- name: Ensure a block storage volume exists and is attached to server 114
  ngine_io.vultr.vultr_block_storage:
    name: myvolume
    state: attached
    attached_to_id: 114
    size: 10

- name: Ensure a block storage volume exists and is not attached to any server
  ngine_io.vultr.vultr_block_storage:
    name: myvolume
    state: detached
    size: 10

Return Values

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

Key Returned Description
vultr_api
complex
success
Response from Vultr API with a few additions/modification

 
api_account
string
success
Account used in the ini file to select the key

Sample:
default
 
api_endpoint
string
success
Endpoint used for the API requests

Sample:
https://api.vultr.com
 
api_retries
integer
success
Amount of max retries for the API requests

Sample:
5
 
api_retry_max_delay
integer
success
Exponential backoff delay in seconds between retries up to this max delay value.

Sample:
12
 
api_timeout
integer
success
Timeout used for the API requests

Sample:
60
vultr_block_storage
complex
success
Response from Vultr API

 
attached_to_id
string
success
The ID of the server the volume is attached to

Sample:
10194376
 
cost_per_month
float
success
Cost per month for the volume

Sample:
1.0
 
date_created
string
success
Date when the volume was created

Sample:
2017-08-26 12:47:48
 
id
string
success
ID of the block storage volume

Sample:
1234abcd
 
name
string
success
Name of the volume

Sample:
ansible-test-volume
 
region
string
success
Region the volume was deployed into

Sample:
New Jersey
 
size
integer
success
Information about the volume size in GB

Sample:
10
 
status
string
success
Status about the deployment of the volume

Sample:
active


Authors

  • Yanis Guenane (@Spredzy)