- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# purefa_volume – Manage volumes on Pure Storage FlashArrays

New in version 2.4.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## 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 >= 2.7
- purestorage

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
api_token string / required |  | FlashArray API token for admin privileged user.
eradicate boolean | Choices: no ← yes | Define whether to eradicate the volume on delete or leave in trash.
fa_url string / required |  | FlashArray management IPv4 address or Hostname.
name string / required |  | The name of the volume.
overwrite boolean | Choices: no ← yes | Define whether to overwrite a target volume if it already exists.
qos string added in 2.8 |  | 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 using 0 (zero)
size string |  | Volume size in M, G, T or P units.
state string | Choices: absent present ← | Define whether the volume should exist or not.
target string |  | The name of the target volume, if copying.

## Notes

Note

- This module requires the `purestorage` Python library
- You must set `PUREFA_URL` and `PUREFA_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
      purefa_volume:
        name: foo
        size: 1T
        qos: 58M
        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
      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
      purefa_volume:
        name: foo
        eradicate: yes
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: absent

    - name: Create clone of volume bar named foo
      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
      purefa_volume:
        name: foo
        target: bar
        overwrite: yes
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: present

    - name: Clear volume QoS from volume foo
      purefa_volume:
        name: foo
        qos: 0
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: present

## Return Values

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

Key | Returned | Description
--- | --- | ---
volume dictionary | success | A dictionary describing the changed volume. Only some attributes below will be returned with various actions.
| created string |  | Volume creation time Sample: 2019-03-13T22:49:24Z
| name string |  | Volume name
| serial string |  | Volume serial number Sample: 361019ECACE43D83000120A4
| size integer |  | Volume size in bytes
| source string |  | Volume name of source volume used for volume copy

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Pure Storage Ansible Team (@sdodsley) <pure-ansible-team@purestorage.com>

Hint

If you notice any issues in this documentation, you can edit this document to improve it.