purestorage.flasharray.purefa_pgsched module – Manage protection groups replication schedules on Everpure FlashArrays

Note

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

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

New in purestorage.flasharray 1.0.0

Synopsis

  • Modify or delete protection groups replication schedules on Everpure FlashArrays.

Requirements

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

  • python >= 3.3

  • purestorage >= 1.19

  • py-pure-client >= 1.26.0

  • netaddr

  • requests

  • pycountry

  • urllib3

Parameters

Parameter

Comments

all_for

integer

Specifies the length of time, in seconds, to keep the snapshots on the source array before they are eradicated.

Range available 1 - 34560000.

api_token

string

FlashArray API token for admin privileged user.

blackout_end

string

Specifies the time at which to restart replication.

Provide a time in 12-hour AM/PM format, eg. 5PM

blackout_start

string

Specifies the time at which to suspend replication.

Provide a time in 12-hour AM/PM format, eg. 11AM

client_id

string

added in purestorage.flasharray 1.43.0

ID of the API Client that issues the identity token.

Used with private_key_file.

context

string

added in purestorage.flasharray 1.33.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: ""

days

integer

Specifies the number of days to keep the per_day snapshots beyond the all_for period before they are eradicated

Max retention period is 4000 days

disable_warnings

boolean

added in purestorage.flasharray 1.29.0

Disable insecure certificate warnings in debug logs

Choices:

  • false ← (default)

  • true

enabled

boolean

Enable the schedule being configured.

Choices:

  • false

  • true ← (default)

fa_url

string

FlashArray management IPv4 address or Hostname.

id_token

string

added in purestorage.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 purestorage.flasharray.purefa_apiclient).

issuer

string

added in purestorage.flasharray 1.43.0

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

Used with private_key_file.

key_id

string

added in purestorage.flasharray 1.43.0

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

Used with private_key_file.

name

string / required

The name of the protection group.

per_day

integer

Specifies the number of per_day snapshots to keep beyond the all_for period.

Maximum number is 1440

private_key_file

string

added in purestorage.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 purestorage.flasharray 1.43.0

Password protecting private_key_file, if encrypted.

replicate_at

string

Provide a time in 12-hour AM/PM format, eg. 11AM

Only valid if replicate_frequency is an exact multiple of 86400, ie 1 day.

Set to an empty string “” to clear an existing at value (sends -1 to the API).

Automatically cleared when replicate_frequency changes to a non-day multiple.

replicate_frequency

integer

Specifies the replication frequency in seconds.

Range 900 - 34560000 (FA-405, //M10, //X10 and Cloud Block Store).

Range 300 - 34560000 (all other arrays).

schedule

string / required

Which schedule to change.

Choices:

  • "replication"

  • "snapshot"

snap_at

string

Provide a time in 12-hour AM/PM format, eg. 11AM

Only valid if snap_frequency is an exact multiple of 86400, ie 1 day.

Set to an empty string “” to clear an existing at value (sends -1 to the API).

Automatically cleared when snap_frequency changes to a non-day multiple.

snap_frequency

integer

Specifies the snapshot frequency in seconds.

Range available 300 - 34560000.

state

string

Define whether to set or delete the protection group schedule.

Choices:

  • "absent"

  • "present" ← (default)

target_all_for

integer

Specifies the length of time, in seconds, to keep the replicated snapshots on the targets.

Range is 1 - 34560000 seconds.

target_days

integer

Specifies the number of days to keep the target_per_day replicated snapshots beyond the target_all_for period before they are eradicated.

Max retention period is 4000 days

target_per_day

integer

Specifies the number of per_day replicated snapshots to keep beyond the target_all_for period.

Maximum number is 1440

username

string

added in purestorage.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 purestorage and py-pure-client Python libraries.

  • 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 purestorage.flasharray.purefa_apiclient.

Examples

- name: Update protection group snapshot schedule
  purestorage.flasharray.purefa_pgsched:
    name: foo
    schedule: snapshot
    enabled: true
    snap_frequency: 86400
    snap_at: 3PM
    per_day: 5
    all_for: 5
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Update protection group replication schedule
  purestorage.flasharray.purefa_pgsched:
    name: foo
    schedule: replication
    enabled: true
    replicate_frequency: 86400
    replicate_at: 3PM
    target_per_day: 5
    target_all_for: 5
    blackout_start: 2AM
    blackout_end: 5AM
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Delete protection group snapshot schedule
  purestorage.flasharray.purefa_pgsched:
    name: foo
    schedule: snapshot
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Delete protection group replication schedule
  purestorage.flasharray.purefa_pgsched:
    name: foo
    schedule: replication
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Clear snap_at value while keeping daily frequency
  purestorage.flasharray.purefa_pgsched:
    name: foo
    schedule: snapshot
    snap_at: ""
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Clear replicate_at value while keeping daily frequency
  purestorage.flasharray.purefa_pgsched:
    name: foo
    schedule: replication
    replicate_at: ""
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

Authors

  • Everpure Ansible Team (@sdodsley)