httpapi プラグイン

httpapi プラグインは、Ansible に対して、リモートデバイスの HTTP ベースの API と対話して、そのデバイスでタスクを実行する方法を指示します。

各プラグインは、特定の API 方言を表します。プラットフォーム固有のもの (Arista eAPI、Cisco NXAPI) があり、さまざまなプラットフォーム (RESTCONF) を使用できる場合があります。Ansible は ansible_network_os 変数に基づいて適切な httpapi プラグインを自動的に読み込みます。

httpapi プラグインの追加

httpapi_plugins ディレクトリーにカスタムのプラグインを置いて、Ansible が他の API をサポートするように拡張できます。詳細は、「Developing httpapi plugins」を参照してください。

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 プラグインにアクセスできます。コントロールノードで利用可能な httpapi プラグインの一覧を表示するには、ansible-doc -t httpapi -l と入力します。プラグイン固有のドキュメントと例を確認するには、ansible-doc -t httpapi を使用します。

参考

Ansible for Network Automation

Ansible を使用したネットワークデバイスの自動化の概要

Developing network modules

ネットワークモジュールの開発方法

User Mailing List

ご質問はございますか。Google Group をご覧ください。

irc.libera.chat

IRC チャットチャンネル (#ansible-network)