purestorage.flasharray.purefa_pg – Manage protection groups on Pure Storage FlashArrays
Note
This plugin is part of the purestorage.flasharray collection (version 1.11.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
.
To use it in a playbook, specify: purestorage.flasharray.purefa_pg
.
New in version 1.0.0: of purestorage.flasharray
Synopsis
Create, delete or modify protection groups on Pure Storage FlashArrays.
If a protection group exists and you try to add non-valid types, eg. a host to a volume protection group the module will ignore the invalid types.
Protection Groups on Offload targets are supported.
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 |
Comments |
---|---|
FlashArray API token for admin privileged user. |
|
Define whether to enabled snapshots for the protection group. Choices:
|
|
Define whether to eradicate the protection group on delete and leave in trash. Choices:
|
|
FlashArray management IPv4 address or Hostname. |
|
List of existing hosts to add to protection group. Note that hostnames are case-sensitive however FlashArray hostnames are unique and ignore case - you cannot have hosta and hostA |
|
List of existing hostgroups to add to protection group. Note that hostgroups are case-sensitive however FlashArray hostgroup names are unique and ignore case - you cannot have groupa and groupA |
|
The name of the protection group. |
|
Rename a protection group If the source protection group is in a Pod or Volume Group ‘container’ you only need to provide the new protection group name in the same ‘container’ |
|
Define whether the protection group should exist or not. Choices:
|
|
List of remote arrays or offload target for replication protection group to connect to. Note that all replicated protection groups are asynchronous. Target arrays or offload targets must already be connected to the source array. Maximum number of targets per Portection Group is 4, assuming your configuration suppors this. |
|
List of existing volumes to add to protection group. Note that volume are case-sensitive however FlashArray volume names are unique and ignore case - you cannot have volumea and volumeA |
Notes
Note
This module requires the
purestorage
andpy-pure-client
Python librariesAdditional Python librarues may be required for specific modules.
You must set
PUREFA_URL
andPUREFA_API
environment variables if fa_url and api_token arguments are not passed to the module directly
Examples
- name: Create new local protection group
purefa_pg:
pgroup: foo
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create new protection group called bar in pod called foo
purefa_pg:
pgroup: "foo::bar"
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create new replicated protection group
purefa_pg:
pgroup: foo
target:
- arrayb
- arrayc
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create new replicated protection group to offload target and remote array
purefa_pg:
pgroup: foo
target:
- offload
- arrayc
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create new protection group with snapshots disabled
purefa_pg:
pgroup: foo
enabled: false
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Delete protection group
purefa_pg:
pgroup: foo
eradicate: true
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: absent
- name: Eradicate protection group foo on offload target where source array is arrayA
purefa_pg:
pgroup: "arrayA:foo"
target: offload
eradicate: true
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
state: absent
- name: Rename protection group foo in pod arrayA to bar
purefa_pg:
pgroup: "arrayA::foo"
rename: bar
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create protection group for hostgroups
purefa_pg:
pgroup: bar
hostgroup:
- hg1
- hg2
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create protection group for hosts
purefa_pg:
pgroup: bar
host:
- host1
- host2
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create replicated protection group for volumes
purefa_pg:
pgroup: bar
volume:
- vol1
- vol2
target: arrayb
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
Authors
Pure Storage Ansible Team (@sdodsley) <pure-ansible-team@purestorage.com>