netapp.ontap.na_ontap_zapit 模块 – NetApp ONTAP 在 ONTAP 上运行任何 ZAPI
注意
此模块是 netapp.ontap 集合(版本 22.13.0)的一部分。
如果您正在使用 ansible
软件包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install netapp.ontap
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_zapit
。
netapp.ontap 20.4.0 中的新增功能
概要
在 ONTAP 上调用 ZAPI。
集群 ZAPI 使用集群管理员帐户运行。
Vserver ZAPI 可以使用 vsadmin 帐户或使用 vserver 隧道(具有 *vserver 选项* 的集群管理员)运行。
如果成功,则返回一个 json 字典作为
response
。如果发生 ZAPI 错误,则设置
status
、errno
、reason
以帮助诊断问题,并将调用报告为错误(“失败”)。
其他错误(例如连接问题)报告为 Ansible 错误。
要求
执行此模块的主机需要以下要求。
Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。
Python3 - 建议使用 3.9 或更高版本。
使用 ZAPI 时,建议使用 netapp-lib 2018.11.13 或更高版本(使用 'pip install netapp-lib' 安装),强烈建议使用 netapp-lib 2020.3.12,因为它为连接问题提供了更好的错误报告。
物理或虚拟集群 Data ONTAP 系统,模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。
参数
参数 |
注释 |
---|---|
SSL 客户端证书文件(.pem)的路径。 python 2.6 不支持。 |
|
启用或禁用新功能。 这可以用于启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值如有更改,恕不另行通知。未知的键将被忽略。 |
|
ONTAP 实例的主机名或 IP 地址。 |
|
使用此端口覆盖默认端口(80 或 443) |
|
启用和禁用 https。 当使用 REST 时,由于仅支持 https,因此将被忽略。 当使用 SSL 证书身份验证时,由于需要 SSL,因此将被忽略。 选项
|
|
SSL 客户端密钥文件的路径。 |
|
要使用的 ontap api 版本 |
|
指定用户的密码。 |
|
此模块仅支持 ZAPI,不能切换到 REST。 never – 如果模块支持 ZAPI,将始终使用 ZAPI。如果 ZAPI 不支持 REST 选项,则可能会发出错误。 auto – 将始终使用 ZAPI。 默认值: |
|
这可以是集群范围或 SVM 范围的帐户,具体取决于是否需要集群级或 SVM 级 API。 有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法
要使用证书,必须已在 ONTAP 集群中安装证书,并且必须已启用证书身份验证。 |
|
如果设置为 只有在个人控制的站点上使用自签名证书时,才应设置为 选项
|
|
如果提供,则强制 vserver 隧道。用户名标识集群管理员帐户。 |
|
zapi 和参数的字典。 XML 标记 *<tag>value</tag>* 是一个字典,其中 tag 作为键。 值可以是另一个字典、字典列表、字符串或空值。 例如 *<tag/>* 表示为 *tag:* 一次只能调用一个 zapi。如果发现重复的键,Ansible 会发出警告,并且只使用最后一个条目。 |
注意
注意
以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。
默认情况下启用 https,并且推荐使用 https。要在集群上启用 http,您必须运行以下命令:'set -privilege advanced;' 'system services web modify -http-enabled true;'
示例
-
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
netapp.ontap.na_ontap_zapit:
<<: *login
zapi:
system-get-version:
register: output
- debug: var=output
- name: run ontap ZAPI command as cluster admin
netapp.ontap.na_ontap_zapit:
<<: *login
zapi:
vserver-get-iter:
register: output
- debug: var=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
- debug: var=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
- debug: var=output
- name: run ontap ZAPI command as vserver tunneling
netapp.ontap.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
netapp.ontap.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
返回值
常见返回值记录在 此处,以下是此模块独有的字段
键 |
描述 |
---|---|
如果执行了 ZAPI 但失败,则 ZAPI 设置的错误代码。 如果成功,或者无法执行 ZAPI 调用,则不存在。 返回: 出现错误时 |
|
如果执行了 ZAPI 但失败,则 ZAPI 设置的错误原因。 如果成功,或者无法执行 ZAPI 调用,则不存在。 返回: 出现错误时 |
|
如果成功,则是一个 json 字典,表示 ZAPI 返回的数据。 如果执行了 ZAPI 但失败,则是一个空字典。 如果无法执行 ZAPI 调用,则不存在。 返回: 成功时 |
|
如果执行了 ZAPI 但失败,则 ZAPI 设置的状态。 如果成功,或者无法执行 ZAPI 调用,则不存在。 返回: 出现错误时 |