netapp.ontap.na_ontap_storage_unit module – NetApp ONTAP ASA r2 storage unit
Note
This module is part of the netapp.ontap collection (version 23.5.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 netapp.ontap. You need further requirements to be able to use this module, see Requirements for details.
To use it in a playbook, specify: netapp.ontap.na_ontap_storage_unit.
New in netapp.ontap 23.0.0
Synopsis
- Clone a storage unit.
- Split a storage unit clone.
- Move a storage unit.
- Restore a storage unit to a prior snapshot.
Requirements
The below requirements are needed on the host that executes this module.
- Ansible 2.9 or later - 2.12 or later is recommended.
- Python3 - 3.9 or later is recommended.
- netapp-lib only when using ZAPI (install using ‘pip install netapp-lib’), Please note that netapp-lib is deprecated and no longer maintained. Proceed at your own risk.
- A physical or virtual clustered Data ONTAP system, the modules support Data ONTAP 9.1 and onward, REST support requires ONTAP 9.6 or later.
Parameters
Parameter | Comments |
|---|---|
cert_filepath string added in netapp.ontap 20.6.0 | path to SSL client cert file (.pem). not supported with python 2.6. |
clone dictionary | Identifiers of the parent storage unit or storage unit snapshot from which to clone a new storage unit. The storage unit clone and its source must reside on the same SVM. |
|
snapshot string |
The name of the snapshot the source storage unit resides in. |
|
storage_unit string |
The name of the source storage unit. |
feature_flags dictionary added in netapp.ontap 20.5.0 | Enable or disable a new feature. This can be used to enable an experimental feature or disable a new feature that breaks backward compatibility. Supported keys and values are subject to change without notice. Unknown keys are ignored. |
force_ontap_version string added in netapp.ontap 21.23.0 | Override the cluster ONTAP version when using REST. The behavior is undefined if the version does not match the target cluster. This is provided as a work-around when the cluster version cannot be read because of permission issues. See https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues. This should be in the form 9.10 or 9.10.1 with each element being an integer number. |
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 | Enable and disable https. Ignored when using REST as only https is supported. Ignored when using SSL certificate authentication as it requires SSL. Choices:
|
key_filepath string added in netapp.ontap 20.6.0 | path to SSL client key file. |
name string / required | Specifies the name of the storage unit (LUN or NVMe namespace). |
password aliases: pass string | Password for the specified user. |
restore_to string | Specifies the name of the snapshot to restore the storage unit to the point in time the snapshot was taken. |
restore_to_snapshot string | Specifies the name of the snapshot to restore the storage unit to the point in time the snapshot was taken. |
split_initiated boolean | Setting this field initiates a split of a FlexClone storage unit from a FlexVol storage unit. This operation stops the replication of data but doesn’t remove the snapshots from the replicas. Choices:
|
state string | Manage storage unit operations, only present is supported. Choices:
|
target_location string | Specifies the name of the destination storage availability zone for moving the storage unit. |
time_out integer | With Default: |
use_lambda boolean added in netapp.ontap 23.4.0 | Specifies if AWS Lambda proxy functionality should be used to connect to the ONTAP system. Supported only with REST. Choices:
|
use_rest string | This module only supports REST. always -- will always use the REST API. A warning is issued if the module does not support REST. Default: |
username aliases: user string | 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://docs.netapp.com/us-en/ontap/authentication/create-svm-user-accounts-task.html. Two authentication methods are supported
To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled. |
validate_certs boolean | If set to This should only set to Choices:
|
vserver string / required | Specifies the SVM in which the storage unit is located. |
wait_for_completion boolean | Set this parameter to ‘true’ for synchronous execution. For asynchronous, execution exits as soon as the request is sent, and the operation continues in the background. Choices:
|
Notes
Note
- Only supported with REST and requires ONTAP 9.16.1 or later.
- Only suppored with ASA r2 systems.
- The storage unit clone and its source must reside on the same SVM.
- Module is not idempotent when
restore_tois set. - Storage unit REST API doesn’t support DELETE operation. Kindly refer to module
na_ontap_lunorna_ontap_nvme_namespacefor deleting corresponding storage unit. - The modules prefixed with na_ontap are built to support the ONTAP storage platform.
- https is enabled by default and recommended. To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
Examples
- name: Create a new storage unit(LUN) clone
netapp.ontap.na_ontap_storage_unit:
state: present
name: lun1_clone1
vserver: svm1
clone:
storage_unit: lun1
wait_for_completion: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: "{{ validate_certs }}"
use_rest: always
- name: Split a storage unit(LUN) clone
netapp.ontap.na_ontap_storage_unit:
state: present
name: lun1_clone1
vserver: svm1
split_initiated: true
wait_for_completion: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: "{{ validate_certs }}"
use_rest: always
- name: Create a new storage unit(LUN) clone using snapshot
netapp.ontap.na_ontap_storage_unit:
state: present
name: lun1_clone1
vserver: svm1
clone:
storage_unit: lun1
snapshot: "hourly.2025-04-23_0205"
wait_for_completion: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: "{{ validate_certs }}"
use_rest: always
- name: Clone a storage unit(LUN), split new clone simultaneously
netapp.ontap.na_ontap_storage_unit:
state: present
name: lun1_clone1
vserver: svm1
clone:
storage_unit: lun1
split_initiated: true
wait_for_completion: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: "{{ validate_certs }}"
use_rest: always
- name: Restore a storage unit(LUN) to a prior snapshot
netapp.ontap.na_ontap_storage_unit:
state: present
name: lun1
vserver: svm1
restore_to: "hourly.2025-04-21_0905"
wait_for_completion: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: "{{ validate_certs }}"
use_rest: always
- name: Move a storage unit(LUN)
netapp.ontap.na_ontap_storage_unit:
state: present
name: lun1
vserver: svm1
target_location: storage_availability_zone_0
wait_for_completion: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: "{{ validate_certs }}"
use_rest: always
Collection links
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/netapp/ontap/na_ontap_storage_unit_module.html