purestorage.flasharray.purefa_pgsnap – Manage protection group snapshots on Pure Storage FlashArrays

Note

This plugin is part of the purestorage.flasharray collection (version 1.11.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.

To use it in a playbook, specify: purestorage.flasharray.purefa_pgsnap.

New in version 1.0.0: of purestorage.flasharray

Synopsis

  • Create or delete protection group snapshots on Pure Storage FlashArray.
  • Recovery of replicated snapshots on the replica target array is enabled.
  • Support for ActiveCluster and Volume Group protection groups is supported.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.7
  • purestorage >= 1.19
  • py-pure-client >= 1.6.0
  • netaddr
  • requests

Parameters

Parameter Choices/Defaults Comments
api_token
string
FlashArray API token for admin privileged user.
apply_retention
boolean
    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
FlashArray management IPv4 address or Hostname.
name
string / required
The name of the source protection group.
now
boolean
    Choices:
  • no
  • yes
Whether to initiate a snapshot of the protection group immeadiately
offload
string
Name of offload target on which the snapshot exists.
This is only applicable for deletion and erasure of snapshots
overwrite
boolean
    Choices:
  • no
  • yes
Define whether to overwrite the target volume if it already exists.
remote
boolean
    Choices:
  • no
  • yes
Force immeadiate snapshot to remote targets
restore
string
Restore a specific volume from a protection group snapshot.
The protection group name is not required. Only provide the name of the volume to be restored.
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
string
Suffix of snapshot name.
Special case. If latest the module will select the latest snapshot created in the group
target
string
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 and py-pure-client Python libraries
  • Additional Python librarues may be required for specific modules.
  • 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: Restore AC pod  protection group snapshot pod1::pgname.snap.data to pdo1::data2
  purefa_pgsnap:
    name: pod1::pgname
    suffix: snap
    restore: data
    target: pod1::data2
    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

- name: Delete and eradicate snapshot named foo.snap on offload target bar from arrayA
  purefa_pgsnap:
    name: "arrayA:foo"
    suffix: snap
    offload: bar
    eradicate: true
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: absent

Authors

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/purestorage/flasharray/purefa_pgsnap_module.html