purestorage.flasharray.purefa_workload module – Manage Fusion Fleet Workloads

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

New in purestorage.flasharray 1.33.0

Synopsis

  • Apply/Rename/Delete Fusion fleet workloads

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

api_token

string

FlashArray API token for admin privileged user.

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

Name of fleet member on which to perform the workload 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 purestorage.flasharray 1.29.0

Disable insecure certificate warnings in debug logs

Choices:

  • false ← (default)

  • true

eradicate

boolean

whether to eradicate a workload

Choices:

  • false ← (default)

  • true

fa_url

string

FlashArray management IPv4 address or Hostname.

host

string

Host to connect to the workload after provisioning

Default: ""

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

Name of the workload.

parameters

list / elements=dictionary

Parameter values to apply when creating a workload from the preset.

Parameters are only applied on the create path and are not applied when recovering an existing destroyed workload.

name

string / required

Name of the preset parameter to set.

value

dictionary / required

Value for the preset parameter.

Exactly one of string, integer, boolean, or resource_reference must be provided.

boolean

boolean

Boolean parameter value.

Choices:

  • false

  • true

integer

integer

Integer parameter value.

resource_reference

dictionary

Reference to another resource.

id

string

ID of the referenced resource.

name

string

Name of the referenced resource.

resource_type

string

Optional resource type for the reference.

string

string

String parameter value.

placement

string

name of target on which the workload will be deployed

preset

string

name of existing preset to use as the basis of the workload

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.

recommendation

boolean

whether to use the Fusion placement recommendation based on the workload preset definitions.

This will use the first recommended placement if more than one is available

Choices:

  • false ← (default)

  • true

rename

string

new name for a workload

state

string

Define whether to create or delete a fleet workload.

Using the expand option will add volume(s) to the workload.

If absent is specified together with a host, rather than deleting the workload, the host will be disconnected from the workload

Choices:

  • "absent"

  • "present" ← (default)

  • "expand"

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.

volume_configuration

string

Name of the volume configuration to use for adding volumes to a workload

volume_count

integer

Number of additional volumes to add to an existing workload

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: Create a workload using an existing preset on a specific placement target and connect to host myhost
  purestorage.flasharray.purefa_workload:
    name: foo
    preset: bar
    host: myhost
    placement: arrayB
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Create a workload using an existing preset using the recommended target and connect to host myhost
  purestorage.flasharray.purefa_workload:
    name: foo
    preset: bar
    host: myhost
    recommendation: true
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Create a workload using preset parameters
  purestorage.flasharray.purefa_workload:
    name: foo
    preset: bar
    context: arr1
    parameters:
      - name: replication_target
        value:
          resource_reference:
            name: arr2
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Add volumes to workload foo based on volume configuration fin and connect to host myhost
  purestorage.flasharray.purefa_workload:
    name: foo
    preset: bar
    volume_configuration: fin
    volume_count: 3
    host: myhost
    state: expand
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Rename an existing workload
  purestorage.flasharray.purefa_workload:
    name: foo
    rename: bar
    state: rename
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Disconnect an existing workload from host
  purestorage.flasharray.purefa_workload:
    name: foo
    host: myhost
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Delete an existing workload
  purestorage.flasharray.purefa_workload:
    name: foo
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Eradicate an existing workload
  purestorage.flasharray.purefa_workload:
    name: foo
    state: absent
    eradicate: true
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Recover a deleted workload
  purestorage.flasharray.purefa_workload:
    name: foo
    state: present
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Reconnect an existing workload to a host
  purestorage.flasharray.purefa_workload:
    name: foo
    host: myhost
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

Authors

  • Everpure Ansible Team (@sdodsley)