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 沟通指南