# na_ontap_license – NetApp ONTAP protocol and feature licenses

New in version 2.6.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Status

## Synopsis

- Add or remove licenses 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
--- | --- | ---
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

license_codes - |  | List of license codes to be added.
license_names - |  | List of license-names to delete.
| base - |  | Cluster Base License
| cdmi - |  | CDMI License
| cifs - |  | CIFS License
| fcp - |  | FCP License
| flexclone - |  | FlexClone License
| iscsi - |  | iSCSI License
| nfs - |  | NFS License
| snaplock - |  | SnapLock License
| snapmanagersuite - |  | SnapManagerSuite License
| snapmirror - |  | SnapMirror License
| snapprotectapps - |  | SnapProtectApp License
| snaprestore - |  | SnapRestore License
| snapvault - |  | SnapVault License
| v_storageattach - |  | Virtual Attached Storage License
ontapi integer |  | The ontap api version to use
password string / required |  | Password for the specified user. aliases: pass

remove_expired
boolean

Choices:
- no
- yes

Remove licenses that have expired in the cluster.

remove_unused
boolean

Choices:
- no
- yes

Remove licenses that have no controller affiliation in the cluster.

serial_number - |  | Serial number of the node associated with the license. This parameter is used primarily when removing license for a specific service.

state
-

Choices:
- present ←
- absent

Whether the specified license 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.

## Notes

Note

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

## Examples

    - name: Add licenses
      na_ontap_license:
        state: present
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"
        serial_number: #################
        license_codes: CODE1,CODE2

    - name: Remove licenses
      na_ontap_license:
        state: absent
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"
        remove_unused: false
        remove_expired: true
        serial_number: #################
        license_names: nfs,cifs

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