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)