everpure.flashblade.purefb_resource_access module – Manage Resource Access on Everpure FlashBlades

Note

This module is part of the everpure.flashblade collection (version 1.29.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.flashblade. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: everpure.flashblade.purefb_resource_access.

New in everpure.flashblade 1.28.0

Synopsis

  • Create or delete resource access on Everpure FlashBlades.

Requirements

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

  • python >= 3.9

  • py-pure-client

  • netaddr

  • datetime

  • pytz

  • distro

  • pycountry

  • urllib3

Parameters

Parameter

Comments

api_token

string

FlashBlade API token for admin privileged user.

client_id

string

added in everpure.flashblade 1.26.0

ID of the API Client that issues the identity token.

Used with private_key_file.

disable_warnings

boolean

added in everpure.flashblade 1.18.0

Disable insecure certificate warnings

Choices:

  • false ← (default)

  • true

fb_url

string

FlashBlade management IP address or Hostname.

id_token

string

added in everpure.flashblade 1.26.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 everpure.flashblade.purefb_apiclient).

issuer

string

added in everpure.flashblade 1.26.0

The API Client’s trusted identity issuer registered on the array.

Used with private_key_file.

key_id

string

added in everpure.flashblade 1.26.0

Key ID of the API Client that issues the identity token.

Used with private_key_file.

private_key_file

string

added in everpure.flashblade 1.26.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 everpure.flashblade 1.26.0

Password protecting private_key_file, if encrypted.

resource_name

string / required

The name of the resource you want to target.

resource_type

string / required

The type of resource you want to add, given as the REST collection name of the resource.

The set of valid resource types is defined by the array and grows with the REST API version, so it is not validated by this module.

For a realm scope, Purity//FB 4.6 accepts the array-level resources that can be delegated to a realm, subnets and dns.

Policies (for example NFS export policies) live at the array level and cannot be shared with a realm through a resource access; the array rejects them with Invalid resource type.

scope_name

string / required

The name of the scope, that should be using the resource.

You can not rename a resource access.

Resource access are immutable. You have to delete it and then create a new one.

scope_type

string / required

The type of scopes.

When using Realms, this value will be ‘realms’

As with resource_type, the set of valid scope types is defined by the array and is not validated by this module.

state

string

Define whether the resource access should exist or not.

Choices:

  • "absent"

  • "present" ← (default)

username

string

added in everpure.flashblade 1.26.0

Username the issued token should be granted to.

Must be a valid user on the array. Used with private_key_file.

Notes

Note

  • You must set PUREFB_URL and PUREFB_API environment variables if fb_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.flashblade.purefb_apiclient

Examples

- name: Delegate subnet subnet_foo to realm realm_foo
  everpure.flashblade.purefb_resource_access:
    resource_type: subnets
    resource_name: subnet_foo
    scope_type: realms
    scope_name: realm_foo
    fb_url: 10.10.10.2
    api_token: T-9f276a18-50ab-446e-8a0c-666a3529a1b6

- name: Share the management DNS configuration with realm realm_foo
  everpure.flashblade.purefb_resource_access:
    resource_type: dns
    resource_name: management
    scope_type: realms
    scope_name: realm_foo
    fb_url: 10.10.10.2
    api_token: T-9f276a18-50ab-446e-8a0c-666a3529a1b6

- name: Revoke the subnet delegation (the subnet itself is not deleted)
  everpure.flashblade.purefb_resource_access:
    resource_type: subnets
    resource_name: subnet_foo
    scope_type: realms
    scope_name: realm_foo
    state: absent
    fb_url: 10.10.10.2
    api_token: T-9f276a18-50ab-446e-8a0c-666a3529a1b6

Authors

  • Everpure Ansible Team (@sdodsley)

  • Leo Wahlandt (@valen98)