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

Documentation

# purefa_pgsnap – Manage protection group snapshots on Pure Storage FlashArrays

New in version 2.6.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Status

## Synopsis

- Create or delete protection group snapshots on Pure Storage FlashArray.
- Recovery of replicated snapshots on the replica target array is enabled.

## 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.
apply_retention boolean added in 2.9 | Choices: no ← yes | Apply retention schedule settings to the snapshot
eradicate boolean | Choices: no ← yes | Define whether to eradicate the snapshot on delete or leave in trash.
fa_url string / required |  | FlashArray management IPv4 address or Hostname.
name string / required |  | The name of the source protection group.
now boolean added in 2.9 | Choices: no ← yes | Whether to initiate a snapshot of the protection group immediately
overwrite boolean added in 2.8 | Choices: no ← yes | Define whether to overwrite the target volume if it already exists.
remote boolean added in 2.9 | Choices: no ← yes | Force immeadiate snapshot to remote targets
restore string added in 2.7 |  | Restore a specific volume from a protection group snapshot.
state string | Choices: absent present ← copy | Define whether the protection group snapshot should exist or not. Copy (added in 2.7) will create a full read/write clone of the snapshot.
suffix - |  | Suffix of snapshot name.
target string added in 2.8 |  | Volume to restore a specified volume to. If not supplied this will default to the volume defined in restore

## 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 protection group snapshot foo.ansible
      purefa_pgsnap:
        name: foo
        suffix: ansible
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: present

    - name: Delete and eradicate protection group snapshot named foo.snap
      purefa_pgsnap:
        name: foo
        suffix: snap
        eradicate: true
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: absent

    - name: Restore volume data from local protection group snapshot named foo.snap to volume data2
      purefa_pgsnap:
        name: foo
        suffix: snap
        restore: data
        target: data2
        overwrite: true
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: copy

    - name: Restore remote protection group snapshot arrayA:pgname.snap.data to local copy
      purefa_pgsnap:
        name: arrayA:pgname
        suffix: snap
        restore: data
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: copy

    - name: Create snapshot of existing pgroup foo with suffix and force immeadiate copy to remote targets
      purefa_pgsnap:
        name: pgname
        suffix: force
        now: True
        apply_retention: True
        remote: True
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: 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.