purestorage.flashblade.purefb_fs – Manage filesystemon Pure Storage FlashBlade`

Note

This plugin is part of the purestorage.flashblade collection (version 1.8.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.flashblade.

To use it in a playbook, specify: purestorage.flashblade.purefb_fs.

New in version 1.0.0: of purestorage.flashblade

Synopsis

  • This module manages filesystems on Pure Storage FlashBlade.

Requirements

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

  • python >= 2.7

  • purity_fb >= 1.9

  • netaddr

  • pytz

Parameters

Parameter Choices/Defaults Comments
access_control
string
    Choices:
  • nfs
  • smb
  • shared ←
  • independent
  • mode-bits
The access control style that is utilized for client actions such as setting file and directory ACLs.
Only available from Purity//FB 3.1.1
api_token
string
FlashBlade API token for admin privileged user.
delete_link
boolean
    Choices:
  • no ←
  • yes
Define if the filesystem can be deleted even if it has a replica link
discard_snaps
boolean
    Choices:
  • no ←
  • yes
Allow a filesystem to be demoted.
eradicate
boolean
    Choices:
  • no ←
  • yes
Define whether to eradicate the filesystem on delete or leave in trash.
fastremove
boolean
    Choices:
  • no ←
  • yes
Define whether the fast remove directory is enabled for the filesystem.
fb_url
string
FlashBlade management IP address or Hostname.
group_quota
string
Default quota in M, G, T or P units for a group under this file system.
hard_limit
boolean
    Choices:
  • no ←
  • yes
Define whether the capacity for a filesystem is a hard limit.
CAUTION This will cause the filesystem to go Read-Only if the capacity has already exceeded the logical size of the filesystem.
http
boolean
    Choices:
  • no ←
  • yes
Define whether to HTTP/HTTPS protocol is enabled for the filesystem.
name
string / required
Filesystem Name.
nfs_rules
string
Define the NFS rules in operation.
If not set at filesystem creation time it defaults to *(rw,no_root_squash)
Supported binary options are ro/rw, secure/insecure, fileid_32bit/no_fileid_32bit, root_squash/no_root_squash, all_squash/no_all_squash and atime/noatime
Supported non-binary options are anonuid=#, anongid=#, sec=(sys|krb5)
nfsv3
boolean
    Choices:
  • no
  • yes ←
Define whether to NFSv3 protocol is enabled for the filesystem.
nfsv4
boolean
    Choices:
  • no
  • yes ←
Define whether to NFSv4.1 protocol is enabled for the filesystem.
policy
string
Filesystem policy to assign to or remove from a filesystem.
policy_state
string
    Choices:
  • absent
  • present ←
Add or delete a policy from a filesystem
promote
boolean
    Choices:
  • no
  • yes
Promote/demote a filesystem.
Can only demote the file-system if it is in a replica-link relationship.
safeguard_acls
boolean
    Choices:
  • no
  • yes ←
Safeguards ACLs on a filesystem.
Performs different roles depending on the filesystem protocol enabled.
See Purity//FB documentation for detailed description.
Only available from Purity//FB 3.1.1
size
string
Volume size in M, G, T or P units. See examples.
If size is not set at filesystem creation time the filesystem size becomes unlimited.
smb
boolean
    Choices:
  • no ←
  • yes
Define whether to SMB protocol is enabled for the filesystem.
smb_aclmode
string
    Choices:
  • shared ←
  • native
Specify the ACL mode for the SMB protocol.
Deprecated from Purity//FB 3.1.1. Use access_control instead.
snapshot
boolean
    Choices:
  • no ←
  • yes
Define whether a snapshot directory is enabled for the filesystem.
state
string
    Choices:
  • present ←
  • absent
Create, delete or modifies a filesystem.
user_quota
string
Default quota in M, G, T or P units for a user under this file system.
writable
boolean
    Choices:
  • no
  • yes
Define if a filesystem is writeable.

Notes

Note

  • This module requires the purity_fb Python library

  • You must set PUREFB_URL and PUREFB_API environment variables if fb_url and api_token arguments are not passed to the module directly

Examples

- name: Create new filesystem named foo
  purefb_fs:
    name: foo
    size: 1T
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Delete filesystem named foo
  purefb_fs:
    name: foo
    state: absent
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Recover filesystem named foo
  purefb_fs:
    name: foo
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Eradicate filesystem named foo
  purefb_fs:
    name: foo
    state: absent
    eradicate: true
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Promote filesystem named foo ready for failover
  purefb_fs:
    name: foo
    promote: true
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Demote filesystem named foo after failover
  purefb_fs:
    name: foo
    promote: false
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Modify attributes of an existing filesystem named foo
  purefb_fs:
    name: foo
    size: 2T
    nfsv3 : false
    nfsv4 : true
    user_quota: 10K
    group_quota: 25M
    nfs_rules: '10.21.200.0/24(ro)'
    snapshot: true
    fastremove: true
    hard_limit: true
    smb: true
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

Authors