# 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.