モジュールの概要¶
モジュール (「タスクプラグイン」または「ライブラリープラグイン」とも呼ばれます) は、コマンドラインまたは Playbook タスクで使用可能なコードの個別単位です。Ansible は、通常のリモートターゲットノードで各モジュールを実行し、戻り値を収集します。
コマンドラインからモジュールを実行できます。
ansible webservers -m service -a “name=httpd state=started” ansible webservers -m ping ansible webservers -m command -a “/sbin/reboot -t now”
各モジュールは引数の取得をサポートします。 ほとんどすべてのモジュールは、key=value
引数を
スペースで区切って指定します。 一部のモジュールは引数を取らず、
command/shell モジュールは単に実行するコマンドの文字列を取ります。
Playbook から、Ansible モジュールは同じような方法で実行されます。
- name: reboot the servers action: command /sbin/reboot -t now
これは、以下のように短縮できます。
- name: reboot the servers command: /sbin/reboot -t now
もしくは、「complex args」とも呼ばれる YAML 構文を使用して、モジュールに引数を渡します。
name: restart webserver service:
name: httpd state: restarted
すべてのモジュールは JSON 形式のデータを返します。つまり、モジュールはどのプログラミング言語でも記述できます。モジュールは冪等であるべきで、現在の状態が目的の最終状態と一致することを検出した場合は変更を行わないようにする必要があります。Ansible Playbook で使用すると、モジュールは追加のタスクを実行するように「ハンドラー」に通知する形式で「変更イベント」をトリガーできます。
各モジュールのドキュメントは、コマンドラインで ansible-doc ツールを使用してアクセスできます。
ansible-doc yum
利用可能なモジュールの一覧は、「Module Docs」を参照してください。または、コマンドラインで次のコマンドを実行します。
ansible-doc -l
See also
- アドホックコマンドの概要
- /usr/bin/ansible におけるモジュールの使用例
- Playbook の使用
- /usr/bin/ansible-playbook でモジュールを使用する例
- モジュールを開発する必要がありますか
- 独自のモジュールの作成方法
- Python API
- Python API でモジュールを使用する例
- メーリングリスト
- ご質問はございますか。サポートが必要ですか。ご提案はございますか。 Google グループの一覧をご覧ください。
- irc.freenode.net
- IRC チャットチャンネル #ansible