everpure.flasharray.purefa_tags module – Manage Everpure FlashArray resource tags
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_tags.
New in everpure.flasharray 1.45.0
Synopsis
Add, change and remove key/value tags on Everpure FlashArray resources.
One module covers every taggable resource type. Which type is being tagged is given by resource_type, and the resource itself by name.
Volumes are covered here too. The older everpure.flasharray.purefa_volume_tags still works and is unchanged, but this module supersedes it and is the one to use from now on.
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 |
|---|---|
FlashArray API token for admin privileged user. |
|
ID of the API Client that issues the identity token. Used with private_key_file. |
|
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: |
|
Whether the tag is inherited by copies of the resource. Only the volume family honours this. The array accepts it for the other resource types and silently stores Omit it to let the array use its own default. Choices:
|
|
Disable insecure certificate warnings in debug logs Choices:
|
|
FlashArray management IPv4 address or Hostname. |
|
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). |
|
The API Client’s trusted identity issuer registered on the array. Used with private_key_file. |
|
Key ID of the API Client that issues the identity token. Used with private_key_file. |
|
List of tag keys to remove, for use with state=absent. Takes precedence over the keys in kvp. |
|
List of key value pairs to set on the resource. Separate the key from the value using a colon (:) only. Required when state=present. With state=absent and no keys, the keys of these pairs are the tags removed, and their values are ignored. |
|
Name of the resource to tag. Required for every resource_type except |
|
The tag namespace to work in. Namespaces are independent - the same key can hold a different value in each, and a tag is only ever read, written or removed in the namespace named here. Default: |
|
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. |
|
Password protecting private_key_file, if encrypted. |
|
The kind of resource to tag.
Each type became taggable in a different Purity//FA release, so the module checks the REST version for the type requested rather than one version for all of them. Choices:
|
|
Define whether the tags should exist or not. Choices:
|
|
Username the issued token should be granted to. Must be a valid user on the array. Used with private_key_file. |
Notes
Note
The minimum Purity//FA REST version depends on resource_type -
volumeandvolume_snapshotfrom 2.2,array,hostandhost_groupfrom 2.34,pod,protection_groupandvolume_groupfrom 2.39,workloadfrom 2.40,realmfrom 2.41 andprotection_group_snapshotfrom 2.44.Tagging a resource that does not exist fails with the array’s own message, which names the resource type.
Cloud provider tags, which propagate to the cloud a Cloud Block Store instance runs in, are a separate namespace of their own and are not managed here.
This module requires the
py-pure-clientPython library.Additional Python libraries may be required for specific modules.
You must set
PUREFA_URLandPUREFA_APIenvironment 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: Tag host foo
everpure.flasharray.purefa_tags:
resource_type: host
name: foo
kvp:
- env:production
- owner:infra
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Tag the array itself
everpure.flasharray.purefa_tags:
resource_type: array
kvp:
- site:london
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Tag a volume group so copies inherit the tag
everpure.flasharray.purefa_tags:
resource_type: volume_group
name: bar
kvp:
- backup:nightly
copyable: true
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Tag a protection group in its own namespace
everpure.flasharray.purefa_tags:
resource_type: protection_group
name: pgroup1
namespace: reporting
kvp:
- tier:gold
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Tag a volume, replacing what purefa_volume_tags did
everpure.flasharray.purefa_tags:
resource_type: volume
name: foo
kvp:
- env:production
copyable: true
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Remove two tags from host foo
everpure.flasharray.purefa_tags:
resource_type: host
name: foo
keys:
- env
- owner
state: absent
fa_url: 10.10.10.2
api_token: e31060a7-21fc-e277-6240-25983c6c4592
Authors
Everpure Ansible Team (@sdodsley)