Httpapi 插件
Httpapi 插件告诉 Ansible 如何与远程设备的基于 HTTP 的 API 交互并在设备上执行任务。
每个插件代表一种特定的 API 方言。一些是特定于平台的(Arista eAPI,Cisco NXAPI),而另一些可能适用于各种平台(RESTCONF)。Ansible 根据 ansible_network_os
变量自动加载适当的 httpapi 插件。
添加 httpapi 插件
您可以通过将自定义插件放到 httpapi_plugins
目录中来扩展 Ansible 以支持其他 API。有关详细信息,请参阅 开发 httpapi 插件。
使用 httpapi 插件
要使用的 httpapi 插件是根据 ansible_network_os
变量自动确定的。
大多数 httpapi 插件可以在没有配置的情况下运行。每个插件可能会定义其他选项。
插件是自文档化的。每个插件都应该记录其配置选项。
以下示例剧本显示了 Arista 网络设备的 httpapi 插件,假设库存变量设置为 ansible_network_os=eos
,以触发 httpapi 插件。
- hosts: leaf01
connection: httpapi
gather_facts: false
tasks:
- name: type a simple arista command
eos_command:
commands:
- show version | json
register: command_output
- name: print command output to terminal window
debug:
var: command_output.stdout[0]["version"]
请参阅完整的示例 GitHub 上的示例。
查看 httpapi 插件
这些插件已迁移到 Ansible Galaxy 上的集合。如果您使用 pip
安装了 Ansible 2.10 或更高版本,则可以使用多个 httpapi 插件。可以使用 ansible-doc -t httpapi -l
查看可用插件列表。使用 ansible-doc -t httpapi <plugin name>
查看特定于插件的文档和示例。
另请参阅
- 用于网络自动化的 Ansible
使用 Ansible 自动化网络设备的概述。
- 开发网络模块
如何开发网络模块。
- 沟通
有问题?需要帮助?想分享你的想法?访问 Ansible 沟通指南