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

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_pgsched.

New in everpure.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.88.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

Sent to the array as seconds since midnight.

blackout_start

string

Specifies the time at which to suspend replication.

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

Sent to the array as seconds since midnight.

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.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 everpure.flasharray 1.29.0

Disable insecure certificate warnings in debug logs

Choices:

  • false ← (default)

  • true

enabled

boolean

Enable the schedule being configured.

When not specified the current enabled state is left unchanged.

Choices:

  • false

  • true

fa_url

string

FlashArray management IPv4 address or Hostname.

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.

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

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 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.

replicate_at

string

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

Sent to the array as seconds since midnight, which is the unit the array stores and returns for the at value.

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.

Converted to milliseconds for the array, which stores frequencies in milliseconds.

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

Sent to the array as seconds since midnight, which is the unit the array stores and returns for the at value.

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.

Converted to milliseconds for the array, which stores frequencies in milliseconds.

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 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: Update protection group snapshot schedule
  everpure.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
  everpure.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
  everpure.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
  everpure.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
  everpure.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
  everpure.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)