netapp.ontap.na_ontap_command 模块 – NetApp ONTAP 运行任何CLI命令,提供的用户名需要具有控制台登录权限。
注意
此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install netapp.ontap
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_command
。
netapp.ontap 2.7.0 中的新增功能
概要
在 ONTAP 上运行 system-cli 命令。
不能与证书认证和域认证帐户一起使用。
需要 ontapi 和控制台权限。数据 vserver 不支持控制台。
即使对于 show 命令也需要写入权限!对于只读用户,ONTAP 报告“权限不足”和“用户“xxxxx”对此资源没有写入访问权限”。
要求
执行此模块的主机需要以下要求。
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 不支持。 |
|
包含命令和参数的逗号分隔列表。 |
|
仅在return_dict 为 true 时应用 仅返回包含 默认值: |
|
启用或禁用新功能。 这可用于启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值可能会更改,恕不另行通知。未知键将被忽略。 |
|
ONTAP 实例的主机名或 IP 地址。 |
|
使用此端口覆盖默认端口 (80 或 443) |
|
启用和禁用 https。 使用 REST 时被忽略,因为只支持 https。 使用 SSL 证书认证时被忽略,因为它需要 SSL。 选项
|
|
仅在return_dict 为 true 时应用 仅返回包含 默认值: |
|
SSL 客户端密钥文件的路径。 |
|
要使用的 ontap api 版本 |
|
指定用户的密码。 |
|
运行命令的权限级别。 选项
|
|
返回可解析的字典而不是原始 XML 输出
选项
|
|
此模块仅支持 ZAPI,无法切换到 REST。 never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。 auto – 始终使用 ZAPI。 默认值: |
|
这可以是集群范围的帐户或 SVM 范围的帐户,具体取决于是否需要集群级别或 SVM 级别的 API。 有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法
要使用证书,必须已在 ONTAP 集群中安装证书,并且必须已启用证书身份验证。 |
|
如果设置为 仅应在使用自签名证书的个人控制站点上将其设置为 选项
|
|
如果以 vserver 管理员身份运行,则必须提供vserver,否则模块将失败 |
备注
注意
以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。
默认情况下启用 https,建议使用。要在集群上启用 http,必须运行以下命令“set -privilege advanced;”“system services web modify -http-enabled true;”。
示例
- name: run ontap cli command
netapp.ontap.na_ontap_command:
hostname: "{{ hostname }}"
username: "{{ admin username }}"
password: "{{ admin password }}"
command: ['version']
# Same as above, but returns parseable dictonary
- name: run ontap cli command
netapp.ontap.na_ontap_command:
hostname: "{{ hostname }}"
username: "{{ admin username }}"
password: "{{ admin password }}"
command: ['node', 'show', '-fields', 'node,health,uptime,model']
privilege: 'admin'
return_dict: true
# Same as above, but with lines filtering
- name: run ontap cli command
netapp.ontap.na_ontap_command:
hostname: "{{ hostname }}"
username: "{{ admin username }}"
password: "{{ admin password }}"
command: ['node', 'show', '-fields', 'node,health,uptime,model']
exclude_lines: 'ode ' # Exclude lines with 'Node ' or 'node ', or anything else containing 'ode '.
privilege: 'admin'
return_dict: true