Note
This module is part of the netapp.ontap collection (version 22.14.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_zapit.
New in netapp.ontap 20.4.0
response.status, errno, reason are set to help with diagnosing the issue,The below requirements are needed on the host that executes this module.
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. |
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. |
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. |
ontapi integer | The ontap api version to use |
password aliases: pass string | Password for the specified user. |
use_rest string | This module only supports ZAPI and can not be swtiched to REST. never – will always use ZAPI if the module supports ZAPI. An error may be issued if a REST option is not supported in ZAPI. auto – will always use ZAPI. 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 | if provided, forces vserver tunneling. username identifies a cluster admin account. |
zapi dictionary / required | A dictionary for the zapi and arguments. An XML tag <tag>value</tag> is a dictionary with tag as the key. Value can be another dictionary, a list of dictionaries, a string, or nothing. eg <tag/> is represented as tag: A single zapi can be called at a time. Ansible warns if duplicate keys are found and only uses the last entry. |
Note
-
name: Ontap ZAPI
hosts: localhost
gather_facts: false
vars:
login: &login
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: false
svm_login: &svm_login
hostname: "{{ svm_admin_ip }}"
username: "{{ svm_admin_username }}"
password: "{{ svm_admin_password }}"
https: true
validate_certs: false
tasks:
- name: Run ontap ZAPI command as cluster admin
netapp.ontap.na_ontap_zapit:
<<: *login
zapi:
system-get-version:
register: output
- name: Print info
ansible.builtin.debug:
var: output
- name: Run ontap ZAPI command as cluster admin
netapp.ontap.na_ontap_zapit:
<<: *login
zapi:
vserver-get-iter:
register: output
- name: Run ontap ZAPI command as cluster admin
netapp.ontap.na_ontap_zapit:
<<: *login
zapi:
vserver-get-iter:
desired-attributes:
vserver-info:
- aggr-list:
- aggr-name
- allowed-protocols:
- protocols
- vserver-aggr-info-list:
- vserser-aggr-info
- uuid
query:
vserver-info:
vserver-name: trident_svm
register: output
- name: Run ontap ZAPI command as vsadmin
netapp.ontap.na_ontap_zapit:
<<: *svm_login
zapi:
vserver-get-iter:
desired-attributes:
vserver-info:
- uuid
register: output
- name: Run ontap ZAPI command as vserver tunneling
netapp.ontap.na_ontap_zapit:
<<: *login
vserver: ansibleSVM
zapi:
vserver-get-iter:
desired-attributes:
vserver-info:
- uuid
register: output
- name: Run ontap active-directory ZAPI command
netapp.ontap.na_ontap_zapit:
<<: *login
vserver: ansibleSVM
zapi:
active-directory-account-create:
account-name: testaccount
admin-username: testuser
admin-password: testpass
domain: testdomain
organizational-unit: testou
register: output
ignore_errors: true
Common return values are documented here, the following are the fields unique to this module:
Key | Description |
|---|---|
errno string | If the ZAPI was executed but failed, the error code set by the ZAPI. Not present if successful, or if the ZAPI call cannot be performed. Returned: On error |
reason string | If the ZAPI was executed but failed, the error reason set by the ZAPI. Not present if successful, or if the ZAPI call cannot be performed. Returned: On error |
response dictionary | If successful, a json dictionary representing the data returned by the ZAPI. If the ZAPI was executed but failed, an empty dictionary. Not present if the ZAPI call cannot be performed. Returned: On success |
status string | If the ZAPI was executed but failed, the status set by the ZAPI. Not present if successful, or if the ZAPI call cannot be performed. Returned: On error |
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/netapp/ontap/na_ontap_zapit_module.html