Note
This plugin is part of the netapp.ontap collection.
To install it use: ansible-galaxy collection install netapp.ontap.
To use it in a playbook, specify: netapp.ontap.na_ontap_zapit.
New in version 20.4.0: of netapp.ontap
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 | Choices/Defaults | Comments |
|---|---|---|
| cert_filepath string added in 20.6.0 of netapp.ontap | path to SSL client cert file (.pem). not supported with python 2.6. | |
| feature_flags dictionary added in 20.5.0 of netapp.ontap | 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. |
| key_filepath string added in 20.6.0 of netapp.ontap | path to SSL client key file. | |
| ontapi integer | The ontap api version to use | |
| password string | Password for the specified user. aliases: pass | |
| use_rest string | Default: "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 | 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/. Two authentication methods are supported 1. basic authentication, using username and password, 2. SSL certificate authentication, using a ssl client cert file, and optionally a private key file. To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled. aliases: user | |
| validate_certs boolean |
| 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 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
collections:
- netapp.ontap
vars:
login: &login
hostname: "{{ admin_ip }}"
username: "{{ admin_username }}"
password: "{{ admin_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
na_ontap_zapit:
<<: *login
zapi:
system-get-version:
register: output
- debug: var=output
- name: run ontap ZAPI command as cluster admin
na_ontap_zapit:
<<: *login
zapi:
vserver-get-iter:
register: output
- debug: var=output
- name: run ontap ZAPI command as cluster admin
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
- debug: var=output
- name: run ontap ZAPI command as vsadmin
na_ontap_zapit:
<<: *svm_login
zapi:
vserver-get-iter:
desired-attributes:
vserver-info:
- uuid
register: output
- debug: var=output
- name: run ontap ZAPI command as vserver tunneling
na_ontap_zapit:
<<: *login
vserver: trident_svm
zapi:
vserver-get-iter:
desired-attributes:
vserver-info:
- uuid
register: output
- debug: var=output
- name: run ontap active-directory ZAPI command
na_ontap_zapit:
<<: *login
vserver: trident_svm
zapi:
active-directory-account-create:
account-name: testaccount
admin-username: testuser
admin-password: testpass
domain: testdomain
organizational-unit: testou
register: output
ignore_errors: True
- debug: var=output
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| errno string | On error | 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. |
| reason string | On error | 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. |
| response dictionary | On success | 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. |
| status string | On error | 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. |
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/netapp/ontap/na_ontap_zapit_module.html