# purefa_host – Manage hosts on Pure Storage FlashArrays

New in version 2.4.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Status

## Synopsis

- Create, delete or modify hosts on Pure Storage FlashArrays.

## Requirements

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

- python >= 2.7

- purestorage

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
api_token string / required |  | FlashArray API token for admin privileged user.
fa_url string / required |  | FlashArray management IPv4 address or Hostname.
host string / required |  | The name of the host.
iqn list |  | List of IQNs of the host if protocol is iscsi or mixed.
lun integer added in 2.8 |  | 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.
nqn list added in 2.8 |  | List of NQNs of the host if protocol is nvme or mixed.

personality
string
added in 2.7

Choices:
- hpux
- vms
- aix
- esxi
- solaris
- hitachi-vsp
- oracle-vm-server
- delete
- ←

Define which operating system the host is. Recommended for ActiveCluster integration.

preferred_array list added in 2.9 |  | List of preferred arrays in an ActiveCluster environment. To remove existing preferred arrays from the host, specify delete.

protocol
string

Choices:
- fc
- iscsi ←
- nvme
- mixed

Defines the host connection protocol for volumes.

state
string

Choices:
- absent
- present ←

Define whether the host should exist or not.
When removing host all connected volumes will be disconnected.

volume string |  | Volume name to map to the host.
wwns list |  | List of wwns of the host if protocol is fc or mixed.

## Notes

Note

- If specifying `lun` option ensure host support requested value

- This module requires the `purestorage` Python library

- You must set `PUREFA_URL` and `PUREFA_API` environment variables if fa_url and api_token arguments are not passed to the module directly

## Examples

    - name: Create new AIX host
      purefa_host:
        host: foo
        personaility: aix
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592

    - name: Delete host
      purefa_host:
        host: foo
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592
        state: absent

    - name: Make host bar with wwn ports
      purefa_host:
        host: bar
        protocol: fc
        wwns:
        - 00:00:00:00:00:00:00
        - 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
      purefa_host:
        host: bar
        protocol: iscsi
        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
      purefa_host:
        host: bar
        protocol: nvme
        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
      purefa_host:
        host: bar
        protocol: mixed
        nqn:
        - nqn.2014-08.com.vendor:nvme:nvm-subsystem-sn-d78432
        iqn:
        - iqn.1994-05.com.redhat:7d366003914
        wwns:
        - 00:00:00:00:00:00:01
        - 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
      purefa_host:
        host: foo
        volume: bar
        lun: 12
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592

    - name: Add preferred arrays to host foo
      purefa_host:
        host: 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
      purefa_host:
        host: foo
        preferred_array: delete
        fa_url: 10.10.10.2
        api_token: e31060a7-21fc-e277-6240-25983c6c4592

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Pure Storage Ansible Team (@sdodsley) <pure-ansible-team@purestorage.com>

Hint

If you notice any issues in this documentation, you can edit this document to improve it.