community.general.packet_volume module – Create/delete a volume in Packet host
Note
This module is part of the community.general collection (version 9.4.0).
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.general
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.general.packet_volume
.
New in community.general 0.2.0
Synopsis
Create/delete a volume in Packet host.
API is documented at https://www.packet.com/developers/api/#volumes.
Requirements
The below requirements are needed on the host that executes this module.
packet-python >= 1.35
Parameters
Parameter |
Comments |
---|---|
Packet API token. You can also supply it in environment variable |
|
Billing cycle for new volume. Choices:
|
|
User-defined description attribute for Packet volume. It is used used as idempotent identifier - if volume with given description exists, new one is not created. |
|
Location of the volume. Volumes can only be attached to device in the same location. |
|
UUID of a volume. |
|
Create new volume locked. Choices:
|
|
Selector for API-generated name of the volume |
|
storage_1 for standard tier, storage_2 for premium (performance) tier. Tiers are described at https://www.packet.com/cloud/storage/. Choices:
|
|
ID of project of the device. |
|
Size of the volume in gigabytes. |
|
Snapshot policy for new volume. |
|
How many snapshots to keep, a positive integer. |
|
Frequency of snapshots. Choices:
|
|
Desired state of the volume. Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
Examples
# All the examples assume that you have your Packet API token in env var PACKET_API_TOKEN.
# You can also pass the api token in module param auth_token.
- hosts: localhost
vars:
volname: testvol123
project_id: 53000fb2-ee46-4673-93a8-de2c2bdba33b
tasks:
- name: Create volume
community.general.packet_volume:
description: "{{ volname }}"
project_id: "{{ project_id }}"
facility: 'ewr1'
plan: 'storage_1'
state: present
size: 10
snapshot_policy:
snapshot_count: 10
snapshot_frequency: 1day
register: result_create
- name: Delete volume
community.general.packet_volume:
id: "{{ result_create.id }}"
project_id: "{{ project_id }}"
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The user-defined description of the volume resource. Returned: success Sample: |
|
UUID of specified volume Returned: success Sample: |
|
The API-generated name of the volume resource. Returned: if volume is attached/detached to/from some device Sample: |