purestorage.flasharray.purefa_volume module – Manage volumes on Pure Storage FlashArrays
Note
This module is part of the purestorage.flasharray collection (version 1.39.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 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) | |
| Name of fleet member on which to perform the operation. This requires the array receiving the request is a member of a fleet and the context name to be a member of the same fleet. Default:  | |
| 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 - purestorageand- py-pure-clientPython libraries.
- Additional Python libraries may be required for specific modules. 
- You must set - PUREFA_URLand- PUREFA_APIenvironment 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 protection group pg1 (this cannot be used with context)
  purestorage.flasharray.purefa_volume:
    name: 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 | 
