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 插件都可以在没有配置的情况下运行。 每个插件可能会定义其他选项。

插件是自我记录的。 每个插件都应记录其配置选项。

以下示例 playbook 显示了 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 <插件 名称> 查看特定于插件的文档和示例。

另请参阅

Ansible 用于网络自动化

使用 Ansible 自动化网络设备的概述。

开发网络模块

如何开发网络模块。

沟通

有问题吗? 需要帮助吗? 想分享您的想法吗? 请访问 Ansible 通信指南