everpure.flasharray.purefa_dirsnap module – Manage FlashArray File System Directory Snapshots

Note

This module is part of the everpure.flasharray collection (version 1.46.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 everpure.flasharray. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: everpure.flasharray.purefa_dirsnap.

New in everpure.flasharray 1.9.0

Synopsis

  • Create/Delete FlashArray File System directory snapshots

  • A full snapshot name is constructed in the form of DIR.CLIENT_NAME.SUFFIX where DIR is the managed directory name, CLIENT_NAME is the client name, and SUFFIX is the suffix.

  • The client visible snapshot name is CLIENT_NAME.SUFFIX.

Requirements

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

  • python >= 3.3

  • purestorage >= 1.19

  • py-pure-client >= 1.88.0

  • netaddr

  • requests

  • pycountry

  • urllib3

Parameters

Parameter

Comments

api_token

string

FlashArray API token for admin privileged user.

client

string / required

The client name portion of the client visible snapshot name

client_id

string

added in everpure.flasharray 1.43.0

ID of the API Client that issues the identity token.

Used with private_key_file.

context

string

added in everpure.flasharray 1.39.0

Name of fleet member on which to perform the operation.

This requires the array receiving the request is a member of a fleet and the context name to be a member of the same fleet.

Default: ""

disable_warnings

boolean

added in everpure.flasharray 1.29.0

Disable insecure certificate warnings in debug logs

Choices:

  • false ← (default)

  • true

eradicate

boolean

Define whether to eradicate the snapshot on delete or leave in trash

Choices:

  • false ← (default)

  • true

fa_url

string

FlashArray management IPv4 address or Hostname.

filesystem

string / required

Name of the filesystem the directory links to.

id_token

string

added in everpure.flasharray 1.43.0

A pre-signed JWT to authenticate with, as an alternative to api_token.

The token is exchanged by the array for a short-lived access token.

Requires a matching API Client to be registered on the array (see everpure.flasharray.purefa_apiclient).

issuer

string

added in everpure.flasharray 1.43.0

The API Client’s trusted identity issuer registered on the array.

Used with private_key_file.

keep_for

integer

Retention period, after which snapshots will be eradicated

Specify in seconds. Range 300 - 31536000 (5 minutes to 1 year)

Value of 0 will set no retention period.

If not specified on create will default to 0 (no retention period)

On an existing snapshot the value is only applied when the snapshot has no retention, or its remaining time exceeds the requested period, so repeating a task does not reset the retention clock.

key_id

string

added in everpure.flasharray 1.43.0

Key ID of the API Client that issues the identity token.

Used with private_key_file.

name

string / required

Name of the directory to snapshot

new_client

string

added in everpure.flasharray 1.12.0

The new client name when performing a rename

new_suffix

string

added in everpure.flasharray 1.12.0

The new suffix when performing a rename

private_key_file

string

added in everpure.flasharray 1.43.0

Path to the PEM RSA private key used to sign an identity token, as an alternative to api_token.

Requires client_id, key_id, issuer and username.

private_key_password

string

added in everpure.flasharray 1.43.0

Password protecting private_key_file, if encrypted.

rename

boolean

added in everpure.flasharray 1.12.0

Whether to rename a directory snapshot

The snapshot client name and suffix can be changed

Required with new_client and new_suffix

Choices:

  • false ← (default)

  • true

state

string

Define whether the directory snapshot should exist or not.

Choices:

  • "absent"

  • "present" ← (default)

suffix

string

Snapshot suffix to use

username

string

added in everpure.flasharray 1.43.0

Username the issued token should be granted to.

Must be a valid user on the array. Used with private_key_file.

Notes

Note

  • This module requires the py-pure-client Python library.

  • Additional Python libraries 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.

  • Token-based authentication (id_token, or private_key_file with client_id, key_id, issuer and username) may be used as an alternative to api_token, and requires a matching API Client registered on the array via everpure.flasharray.purefa_apiclient.

Examples

- name: Create a snapshot directory foo in filesysten bar for client test with suffix test
  everpure.flasharray.purefa_dirsnap:
    name: foo
    filesystem: bar
    client: test
    suffix: test
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Update retention time for a snapshot foo:bar.client.test
  everpure.flasharray.purefa_dirsnap:
    name: foo
    filesystem: bar
    client: client
    suffix: test
    keep_for: 300  # 5 minutes
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Delete snapshot foo:bar.client.test
  everpure.flasharray.purefa_dirsnap:
    name: foo
    filesystem: bar
    client: client
    suffix: test
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Recover deleted snapshot foo:bar.client.test
  everpure.flasharray.purefa_dirsnap:
    name: foo
    filesystem: bar
    client: client
    suffix: test
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Delete and eradicate snapshot foo:bar.client.test
  everpure.flasharray.purefa_dirsnap:
    name: foo
    filesystem: bar
    client: client
    suffix: test
    state: absent
    eradicate: true
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Eradicate deleted snapshot foo:bar.client.test
  everpure.flasharray.purefa_dirsnap:
    name: foo
    filesystem: bar
    client: client
    suffix: test
    eradicate: true
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Rename snapshot
  everpure.flasharray.purefa_dirsnap:
    name: foo
    filesystem: bar
    client: client
    suffix: test
    rename: true
    new_client: client2
    new_suffix: test2
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

Authors

  • Everpure Ansible Team (@sdodsley)