purestorage.flasharray.purefa_snap – Manage volume snapshots on Pure Storage FlashArrays

Note

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

To install it use: ansible-galaxy collection install purestorage.flasharray.

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

New in version 1.0.0: of purestorage.flasharray

Synopsis

  • Create or delete volumes and volume snapshots on Pure Storage FlashArray.

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.
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.
ignore_repl
boolean
    Choices:
  • no ←
  • yes
Only valid for Purity//FA 6.1 or higher
If set to true, allow destruction/eradication of snapshots in use by replication.
If set to false, allow destruction/eradication of snapshots not in use by replication
name
string / required
The name of the source volume.
offload
string
Only valid for Purity//FA 6.1 or higher
Name of offload target for the snapshot.
Target can be either another FlashArray or an Offload Target
This is only applicable for creation, deletion and eradication of snapshots
state of copy is not supported.
suffix is not supported for offload snapshots.
overwrite
boolean
    Choices:
  • no ←
  • yes
Define whether to overwrite existing volume when creating from snapshot.
state
string
    Choices:
  • absent
  • copy
  • present ←
  • rename
Define whether the volume snapshot should exist or not.
suffix
string
Suffix of snapshot name.
Not used during creation if offload is provided.
target
string
Name of target volume if creating from snapshot.
Name of new snapshot suffix if renaming a snapshot

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

- name: Create R/W clone foo_clone from snapshot foo.snap
  purefa_snap:
    name: foo
    suffix: snap
    target: foo_clone
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: copy

- name: Create R/W clone foo_clone from remote mnapshot arrayB:foo.snap
  purefa_snap:
    name: arrayB:foo
    suffix: snap
    target: foo_clone
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: copy

- name: Overwrite existing volume foo_clone with snapshot foo.snap
  purefa_snap:
    name: foo
    suffix: snap
    target: foo_clone
    overwrite: true
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: copy

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

- name: Rename snapshot foo.fred to foo.dave
  purefa_snap:
    name: foo
    suffix: fred
    target: dave
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: rename

- name: Create a remote volume snapshot on offload device arrayB
  purefa_snap:
    name: foo
    offload: arrayB
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Delete and eradicate a volume snapshot foo.1 on offload device arrayB
  purefa_snap:
    name: foo
    suffix: 1
    offload: arrayB
    eradicate: true
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

Authors