- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# na_ontap_lun – NetApp ONTAP manage LUNs

New in version 2.6.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Status

## Synopsis

- Create, destroy, resize LUNs on NetApp ONTAP.

## Requirements

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

- A physical or virtual clustered Data ONTAP system. The modules support Data ONTAP 9.1 and onward

- Ansible 2.6

- Python2 netapp-lib (2017.10.30) or later. Install using ‘pip install netapp-lib’

- Python3 netapp-lib (2018.11.13) or later. Install using ‘pip install netapp-lib’

- To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
flexvol_name - / required |  | The name of the FlexVol the LUN should exist on.
force_remove boolean | Choices: no ← yes | If "true", override checks that prevent a LUN from being destroyed if it is online and mapped. If "false", destroying an online and mapped LUN will fail.
force_remove_fenced boolean | Choices: no ← yes | If "true", override checks that prevent a LUN from being destroyed while it is fenced. If "false", attempting to destroy a fenced LUN will fail. The default if not specified is "false". This field is available in Data ONTAP 8.2 and later.
force_resize boolean | Choices: no ← yes | Forcibly reduce the size. This is required for reducing the size of the LUN to avoid accidentally reducing the LUN size.
hostname string / required |  | The hostname or IP address of the ONTAP instance.
http_port integer |  | Override the default port (80 or 443) with this port
https boolean | Choices: no ← yes | Enable and disable https
name - / required |  | The name of the LUN to manage.
ontapi integer |  | The ontap api version to use
ostype - | Default: "image" | The os type for the LUN.
password string / required |  | Password for the specified user. aliases: pass
size - |  | The size of the LUN in `size_unit`. Required when `state=present`.
size_unit - | Choices: bytes b kb mb gb ← tb pb eb zb yb | The unit used to interpret the size parameter.
space_allocation boolean added in 2.7 | Choices: no ← yes | This enables support for the SCSI Thin Provisioning features. If the Host and file system do not support this do not enable it.
space_reserve boolean | Choices: no yes ← | This can be set to "false" which will create a LUN without any space being reserved.
state - | Choices: present ← absent | Whether the specified LUN should exist or not.
use_rest string | Choices: Never Always Auto ← | REST API if supported by the target system for all the resources and attributes the module requires. Otherwise will revert to ZAPI. Always -- will always use the REST API Never -- will always use the ZAPI Auto -- will try to use the REST Api
username string / required |  | This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required. For more information, please read the documentation https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/. aliases: user
validate_certs boolean | Choices: no yes ← | If set to `no`, the SSL certificates will not be validated. This should only set to `False` used on personally controlled sites using self-signed certificates.
vserver - / required |  | The name of the vserver to use.

## Notes

Note

- The modules prefixed with na\_ontap are built to support the ONTAP storage platform.

## Examples

    - name: Create LUN
      na_ontap_lun:
        state: present
        name: ansibleLUN
        flexvol_name: ansibleVolume
        vserver: ansibleVServer
        size: 5
        size_unit: mb
        ostype: linux
        space_reserve: True
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"

    - name: Resize LUN
      na_ontap_lun:
        state: present
        name: ansibleLUN
        force_resize: True
        flexvol_name: ansibleVolume
        vserver: ansibleVServer
        size: 5
        size_unit: gb
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"

## Status

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

- This module is maintained by an Ansible Partner. [certified]

### Authors

- NetApp Ansible Team (@carchi8py) <ng-ansibleteam@netapp.com>

Hint

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