purestorage.flasharray.purefa_host module – Manage hosts on Pure Storage FlashArrays
Note
This module is part of the purestorage.flasharray collection (version 1.39.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_host.
New in purestorage.flasharray 1.0.0
Synopsis
- Create, delete or modify hosts on Pure Storage FlashArrays. 
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 | 
|---|---|
| FlashArray API token for admin privileged user. | |
| Name of fleet member on which to perform the 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:  | |
| Number of hosts to be created in a multiple host creation Only supported from Purity//FA v6.0.0 and higher | |
| Number of digits to use for multiple host count. This will pad the index number with zeros where necessary Only supported from Purity//FA v6.0.0 and higher Range is between 1 and 10 Default:  | |
| Disable insecure certificate warnings in debug logs Choices: 
 | |
| FlashArray management IPv4 address or Hostname. | |
| Sets the host password for CHAP authentication Password length between 12 and 255 characters To clear the username/password pair use clear as the password SETTING A PASSWORD IS NON-IDEMPOTENT | |
| Sets the host user name for CHAP authentication Required with host_password To clear the username/password pair use clear as the password | |
| List of IQNs of the host. | |
| LUN ID to assign to volume for host. Must be unique. If not provided the ID will be automatically assigned. Range for LUN ID is 1 to 4095. | |
| Describes how to modify a resource accesses of a resource when that resource is moved. The none value indicates that no resource access should be modified. The create value is used when a resource is moving out of a realm into the array and it needs to create a resource access of the moved resource to the realm from which it is moving. The delete value is used when a resource that is moving from an array into a realm already has a resource access into that realm. Choices: 
 | |
| Move a host in and out of a local member realm(s) or local array Provide the name of realm(s) to move to To move to the local array, specify  Host cannot have connected volume(s) for move operation | |
| The name of the host. Note that hostnames are case-sensitive however FlashArray hostnames are unique and ignore case - you cannot have hosta and hostA Multi-host support available from Purity//FA 6.0.0 ***NOTE*** Manual deletion of individual hosts created using multi-host will cause idempotency to fail Multi-host support only exists for host creation | |
| List of NQNs of the host. Note that NMVe hosts can only possess NQNs. Multi-protocol is not allowed for these hosts. | |
| Define which operating system the host is. Recommended for ActiveCluster integration. Choices: 
 | |
| List of preferred arrays in an ActiveCluster environment. To remove existing preferred arrays from the host, specify delete. | |
| Defines the host connection protocol for volumes. DEPRECATED No longer a necessary parameter Choices: 
 | |
| The name to rename to. Note that hostnames are case-sensitive however FlashArray hostnames are unique and ignore case - you cannot have hosta and hostA | |
| Number at which to start the multiple host creation index Only supported from Purity//FA v6.0.0 and higher Default:  | |
| Define whether the host should exist or not. When removing host all connected volumes will be disconnected. Choices: 
 | |
| Suffix string, if required, for multiple host create Host names will be formed as <name>#<suffix>, where # is a placeholder for the host index See associated descriptions Suffix string is optional Only supported from Purity//FA v6.0.0 and higher | |
| Sets the target password for CHAP authentication Password length between 12 and 255 characters To clear the username/password pair use clear as the password SETTING A PASSWORD IS NON-IDEMPOTENT | |
| Sets the target user name for CHAP authentication Required with target_password To clear the username/password pair use clear as the password | |
| The VLAN ID that the host is associated with. If not set or set to any, the host can access any VLAN. If set to untagged, the host can only access untagged VLANs. If set to a number between 1 and 4094, the host can only access the specified VLAN with that number. | |
| Volume name to map to the host. | |
| List of wwns of the host. | 
Notes
Note
- If specifying - lunoption ensure host support requested value
- This module requires the - purestorageand- py-pure-clientPython libraries.
- Additional Python libraries may be required for specific modules. 
- You must set - PUREFA_URLand- PUREFA_APIenvironment variables if fa_url and api_token arguments are not passed to the module directly.
Examples
- name: Create new AIX host
  purestorage.flasharray.purefa_host:
    name: foo
    personality: aix
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create host bar in existing realm foo
  purestorage.flasharray.purefa_host:
    name: foo::bar
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Create 10 hosts with index starting at 10 but padded with 3 digits
  purestorage.flasharray.purefa_host:
    name: foo
    personality: vms
    suffix: bar
    count: 10
    start: 10
    digits: 3
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present
- name: Rename host foo to bar
  purestorage.flasharray.purefa_host:
    name: foo
    rename: bar
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Delete host
  purestorage.flasharray.purefa_host:
    name: foo
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: absent
- name: Make host bar with wwn ports
  purestorage.flasharray.purefa_host:
    name: bar
    wwns:
    - 00:00:00:00:00:00:00:00
    - 11:11:11:11:11:11:11:11
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Make host bar with iSCSI ports
  purestorage.flasharray.purefa_host:
    name: bar
    iqn:
    - iqn.1994-05.com.redhat:7d366003913
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Make host bar with NVMe ports
  purestorage.flasharray.purefa_host:
    name: bar
    nqn:
    - nqn.2014-08.com.vendor:nvme:nvm-subsystem-sn-d78432
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Make mixed protocol host
  purestorage.flasharray.purefa_host:
    name: bar
    iqn:
    - iqn.1994-05.com.redhat:7d366003914
    wwns:
    - 00:00:00:00:00:00:00:01
    - 11:11:11:11:11:11:11:12
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Map host foo to volume bar as LUN ID 12
  purestorage.flasharray.purefa_host:
    name: foo
    volume: bar
    lun: 12
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Disconnect volume bar from host foo
  purestorage.flasharray.purefa_host:
    name: foo
    volume: bar
    state: absent
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Add preferred arrays to host foo
  purestorage.flasharray.purefa_host:
    name: foo
    preferred_array:
    - array1
    - array2
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Delete preferred arrays from host foo
  purestorage.flasharray.purefa_host:
    name: foo
    preferred_array: delete
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Delete exisitng WWNs from host foo (does not delete host object)
  purestorage.flasharray.purefa_host:
    name: foo
    wwns: ""
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Set CHAP target and host username/password pairs
  purestorage.flasharray.purefa_host:
    name: foo
    target_user: user1
    target_password: passwrodpassword
    host_user: user2
    host_password: passwrodpassword
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Delete CHAP target and host username/password pairs
  purestorage.flasharray.purefa_host:
    name: foo
    target_user: user
    target_password: clear
    host_user: user
    host_password: clear
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Move host foo from the array to realm bar
  purestorage.flasharray.purefa_host:
    name: foo
    move: bar
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Move host foo from realm bar back to array
  purestorage.flasharray.purefa_host:
    name: bar::foo
    move: local
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: Rename host foo in realm test to bar
  purestorage.flasharray.purefa_host:
    name: test::foo
    rename: test::bar
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
