purestorage.flasharray.purefa_volume module – Manage volumes on Pure Storage FlashArrays
Note
This module is part of the purestorage.flasharray collection (version 1.31.1).
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 purestorage.flasharray
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: purestorage.flasharray.purefa_volume
.
New in purestorage.flasharray 1.0.0
Synopsis
Create, delete or extend the capacity of a volume on Pure Storage FlashArray.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.3
purestorage >= 1.19
py-pure-client >= 1.26.0
netaddr
requests
pycountry
urllib3
Parameters
Parameter |
Comments |
---|---|
A new volume will be added to the specified protection groups on creation |
|
FlashArray API token for admin privileged user. |
|
Bandwidth limit for volume in M or G units. M will set MB/s G will set GB/s To clear an existing QoS setting use 0 (zero) |
|
Number of volumes to be created in a multiple volume creation Only supported from Purity//FA v6.0.0 and higher |
|
Number of digits to use for multiple volume count. This will pad the index number with zeros where necessary Only supported from Purity//FA v6.0.0 and higher Range is between 1 and 10 Default: |
|
Disable insecure certificate warnings in debug logs Choices:
|
|
Define whether to eradicate the volume on delete or leave in trash. Choices:
|
|
FlashArray management IPv4 address or Hostname. |
|
IOPs limit for volume - use value or K or M K will mean 1000 M will mean 1000000 To clear an existing IOPs setting use 0 (zero) |
|
Move a volume in and out of a pod or vgroup Provide the name of pod or vgroup to move the volume to Pod and Vgroup names must be unique in the array To move to the local array, specify This is not idempotent - use |
|
The name of the volume. Volume could be created in a POD with this syntax POD_NAME::VOLUME_NAME. Volume could be created in a volume group with this syntax VG_NAME/VOLUME_NAME. Multi-volume support available from Purity//FA 6.0.0 ***NOTE*** Manual deletion or eradication of individual volumes created using multi-volume will cause idempotency to fail Multi-volume support only exists for volume creation |
|
Define whether to overwrite a target volume if it already exisits. Choices:
|
|
Name of exisitng, not deleted, protection group to add volume to Only application for volume(s) creation Superceeded from Purity//FA 6.3.4 by add_to_pgs |
|
DMM Priority Adjustment operator Choices:
|
|
DMM Priority Adjustment value Choices:
|
|
Promote or demote the volume so that the volume starts or stops accepting write requests. Choices:
|
|
Value to rename the specified volume to. Rename only applies to the container the current volumes is in. There is no requirement to specify the pod or vgroup name as this is implied. |
|
Volume size in M, G, T or P units. |
|
Number at which to start the multiple volume creation index Only supported from Purity//FA v6.0.0 and higher Default: |
|
Define whether the volume should exist or not. Choices:
|
|
Suffix string, if required, for multiple volume create Volume names will be formed as <name>#I<suffix>, where # is a placeholder for the volume index See associated descriptions Only supported from Purity//FA v6.0.0 and higher Default: |
|
The name of the target volume, if copying. |
|
Whether to add the default container protection groups to those specified in add_to_pgs as the inital protection of a new volume. Choices:
|
Notes
Note
This module requires the
purestorage
andpy-pure-client
Python librariesAdditional Python librarues may be required for specific modules.
You must set
PUREFA_URL
andPUREFA_API
environment variables if fa_url and api_token arguments are not passed to the module directly
Examples
- name: Create new volume named foo with a QoS limit
purestorage.flasharray.purefa_volume:
name: foo
size: 1T
bw_qos: 58M
iops_qos: 23K
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Create new volume named foo with a DMM priority (Purity//FA 6.1.2+)
purestorage.flasharray.purefa_volume:
name: foo
size: 1T
priority_operator: +
priorty_value: 10
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Create new volume named foo in pod bar in protection group pg1
purestorage.flasharray.purefa_volume:
name: bar::foo
pgroup: pg1
size: 1T
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Create 10 volumes with index starting at 10 but padded with 3 digits
purestorage.flasharray.purefa_volume:
name: foo
size: 1T
suffix: bar
count: 10
start: 10
digits: 3
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Extend the size of an existing volume named foo
purestorage.flasharray.purefa_volume:
name: foo
size: 2T
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Delete and eradicate volume named foo
purestorage.flasharray.purefa_volume:
name: foo
eradicate: true
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: absent
- name: Create clone of volume bar named foo
purestorage.flasharray.purefa_volume:
name: foo
target: bar
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Overwrite volume bar with volume foo
purestorage.flasharray.purefa_volume:
name: foo
target: bar
overwrite: true
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Clear volume QoS from volume foo
purestorage.flasharray.purefa_volume:
name: foo
bw_qos: 0
iops_qos: 0
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: present
- name: Move local volume foo from local array to pod bar
purestorage.flasharray.purefa_volume:
name: foo
move: bar
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Move volume foo in pod bar to local array
purestorage.flasharray.purefa_volume:
name: bar::foo
move: local
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Move volume foo in pod bar to vgroup fin
purestorage.flasharray.purefa_volume:
name: bar::foo
move: fin
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A dictionary describing the changed volume. Only some attributes below will be returned with various actions. Returned: success |
|
Volume bandwidth limit in bytes/sec Returned: success |
|
Volume creation time Returned: success Sample: |
|
Volume IOPs limit Returned: success |
|
Volume name Returned: success |
|
Volume NVMe namespace globally unique identifier Returned: success Sample: |
|
Volume NAA canonical name Returned: success Sample: |
|
DMM Priority Adjustment operator Returned: success |
|
DMM Priority Adjustment value Returned: success |
|
Volume serial number Returned: success Sample: |
|
Volume size in bytes Returned: success |
|
Volume name of source volume used for volume copy Returned: success |