purestorage.fusion.fusion_pg module – Manage placement groups in Pure Storage Fusion

Note

This module is part of the purestorage.fusion collection (version 1.6.1).

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.fusion. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: purestorage.fusion.fusion_pg.

New in purestorage.fusion 1.0.0

Synopsis

  • Create, update or delete a placement groups in Pure Storage Fusion.

Requirements

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

  • python >= 3.8

  • purefusion

Parameters

Parameter

Comments

access_token

string

Access token for Fusion Service

Defaults to the set environment variable under FUSION_ACCESS_TOKEN

array

string

Array to place the placement group to. Changing it (i.e. manual migration) is an elevated operation.

availability_zone

aliases: az

string

The name of the availability zone the placement group is in.

destroy_snapshots_on_delete

boolean

Before deleting placement group, snapshots within the placement group will be deleted.

If `false` then any snapshots will need to be deleted as a separate step before removing the placement group.

Choices:

  • false

  • true

display_name

string

The human name of the placement group.

If not provided, defaults to name.

issuer_id

aliases: app_id

string

Application ID from Pure1 Registration page

eg. pure1:apikey:dssf2331sd

Defaults to the set environment variable under FUSION_ISSUER_ID

name

string / required

The name of the placement group.

placement_engine

string

For workload placement recommendations from Pure1 Meta, use pure1meta.

Please note that this might increase volume creation time.

Choices:

  • "heuristics"

  • "pure1meta"

private_key_file

aliases: key_file

string

Path to the private key file

Defaults to the set environment variable under FUSION_PRIVATE_KEY_FILE.

private_key_password

string

Password of the encrypted private key file

region

string

The name of the region the availability zone is in.

state

string

Define whether the placement group should exist or not.

Choices:

  • "absent"

  • "present" ← (default)

storage_service

string

The name of the storage service to create the placement group for.

tenant

string / required

The name of the tenant.

tenant_space

string / required

The name of the tenant space.

Notes

Note

  • Supports check mode.

  • This module requires the purefusion Python library

  • You must set FUSION_ISSUER_ID and FUSION_PRIVATE_KEY_FILE environment variables if issuer_id and private_key_file arguments are not passed to the module directly

  • If you want to use access token for authentication, you must use FUSION_ACCESS_TOKEN environment variable if access_token argument is not passed to the module directly

Examples

- name: Create new placement group named foo
  purestorage.fusion.fusion_pg:
    name: foo
    tenant: test
    tenant_space: space_1
    availability_zone: az1
    region: region1
    storage_service: storage_service_1
    state: present
    issuer_id: key_name
    private_key_file: "az-admin-private-key.pem"

- name: Delete placement group foo
  purestorage.fusion.fusion_pg:
    name: foo
    tenant: test
    tenant_space: space_1
    state: absent
    issuer_id: key_name
    private_key_file: "az-admin-private-key.pem"

Authors

  • Pure Storage Ansible Team (@sdodsley)