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

Note

This plugin is part of the purestorage.flasharray collection (version 1.6.2).

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.

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.
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 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: 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
    state: copy

- 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