purestorage.fusion.fusion_sc module – Manage storage classes in Pure Storage Fusion

Note

This module is part of the purestorage.fusion collection (version 1.2.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.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_sc.

New in purestorage.fusion 1.0.0

Synopsis

  • Manage a storage class in Pure Storage Fusion.

Requirements

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

  • python >= 3.5

  • purefusion

Parameters

Parameter

Comments

app_id

string

Application ID from Pure1 Registration page

eg. pure1:apikey:dssf2331sd

Defaults to the set environment variable under FUSION_APP_ID

bw_limit

string

The bandwidth limit in M or G units. M will set MB/s. G will set GB/s.

Must be between 1MB/s and 512GB/s.

If not provided at creation, this will default to 512GB/s.

display_name

string

The human name of the storage class.

If not provided, defaults to name.

iops_limit

string

The IOPs limit - use value or K or M. K will mean 1000. M will mean 1000000.

Must be between 100 and 100000000.

If not provided at creation, this will default to 100000000.

key_file

string

Path to the private key file

Defaults to the set environment variable under FUSION_PRIVATE_KEY_FILE.

name

string / required

The name of the storage class.

size_limit

string

Volume size limit in M, G, T or P units.

Must be between 1MB and 4PB.

If not provided at creation, this will default to 4PB.

state

string

Define whether the storage class should exist or not.

Choices:

  • "present" ← (default)

  • "absent"

storage_service

string

Storage service to which the storage class belongs.

Notes

Note

  • Supports check_mode.

  • It is not currently possible to update bw_limit or iops_limit after a storage class has been created.

  • This module requires the purefusion Python library

  • You must set FUSION_APP_ID and FUSION_PRIVATE_KEY_FILE environment variables if app_id and key_file arguments are not passed to the module directly

Examples

- name: Create new storage class foo
  purestorage.fusion.fusion_sc:
    name: foo
    size_limit: 100G
    iops_limit: 100000
    bw_limit: 25M
    storage_service: service1
    display_name: "test class"
    app_id: key_name
    key_file: "az-admin-private-key.pem"

- name: Update storage class (only display_name change is supported)
  purestorage.fusion.fusion_sc:
    name: foo
    display_name: "main class"
    app_id: key_name
    key_file: "az-admin-private-key.pem"

- name: Delete storage class
  purestorage.fusion.fusion_sc:
    name: foo
    storage_service: service1
    state: absent
    app_id: key_name
    key_file: "az-admin-private-key.pem"

Authors

  • Pure Storage Ansible Team (@sdodsley)