netapp.ontap.na_ontap_rest_cli 模块 – 使用 REST api/private/cli/ 执行 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_rest_cli。
netapp.ontap 2.9.0 中的新增功能
概要
- 通过 REST api/private/cli/ 在 ONTAP 上运行 CLI 命令。 
- 此模块可以以管理员或 vsdamin 身份运行,并且需要启用 HTTP 应用程序。 
- 可以使用 ONTAP rest-role 自定义访问权限。 
要求
执行此模块的主机需要以下要求。
- 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 不支持。 | |
| 字符串命令。 | |
| 启用或禁用新功能。 这可以用来启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值可能会在未经通知的情况下更改。未知键将被忽略。 | |
| 使用 REST 时覆盖集群 ONTAP 版本。 如果版本与目标集群不匹配,则行为未定义。 这是在由于权限问题无法读取集群版本时提供的解决方法。请参见 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues。 这应采用 9.10 或 9.10.1 的形式,每个元素都是整数。 | |
| ONTAP 实例的主机名或 IP 地址。 | |
| 使用此端口覆盖默认端口 (80 或 443) | |
| 启用和禁用 https。 使用 REST 时被忽略,因为只支持 https。 使用 SSL 证书身份验证时被忽略,因为它需要 SSL。 选项 
 | |
| SSL 客户端密钥文件的路径。 | |
| 传递到 api 调用的参数字典 | |
| 指定用户的密码。 | |
| 此模块仅支持 REST。 always – 将始终使用 REST API。如果模块不支持 REST,则会发出警告。 默认值:  | |
| 这可以是集群范围或 SVM 范围的帐户,具体取决于是否需要集群级别或 SVM 级别的 API。 有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法 
 要使用证书,必须已在 ONTAP 集群中安装该证书,并且必须已启用证书身份验证。 | |
| 如果设置为  仅当在使用自签名证书的个人控制站点上使用时,才应将其设置为  选项 
 | |
| 指示要运行哪个 api 调用的字符串 OPTIONS 可用于了解 REST API 支持哪些动词 选项 
 | 
备注
注意
- 以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。 
- 默认情况下启用 https,并推荐使用。要在集群上启用 http,您必须运行以下命令“set -privilege advanced;”“system services web modify -http-enabled true;” 
示例
- name: run ontap rest cli command
  netapp.ontap.na_ontap_rest_cli:
    hostname: "{{ hostname }}"
    username: "{{ admin username }}"
    password: "{{ admin password }}"
    command: 'version'
    verb: 'GET'
- name: run ontap rest cli command
  netapp.ontap.na_ontap_rest_cli:
    hostname: "{{ hostname }}"
    username: "{{ admin username }}"
    password: "{{ admin password }}"
    command: 'security/login/motd'
    verb: 'PATCH'
    params: {'vserver': 'ansibleSVM'}
    body: {'message': 'test'}
- name: set option
  netapp.ontap.na_ontap_rest_cli:
    command: options
    verb: PATCH
    params:
      option_name: lldp.enable
    body:
      option_value: "on"
