lookup¶
lookup プラグインを使用すると、外部データソースにアクセスできます。すべてのテンプレートと同様、このプラグインは Ansible コントロールマシンで評価されファイルシステムの読み取り、外部データストアおよびサービスへの接続を含めることができます。このデータは、Ansible で標準のテンプレートシステムを使用して利用できるようになります。
Note
- ルックアップは、リモートコンピューターではなく、ローカルコンピューターで行われます。
- これは、実行したスクリプトのディレクトリーで実行されるローカルタスクではなく、ロールまたはプレイを含むディレクトリーで実行します。
- wantlist=True を lookup に渡して、Jinja2 テンプレート「for」ループで使用できます。
- ルックアップは高度な機能です。Ansible プレイの知識を組み込むには、十分な実用的な知識が必要です。
Warning
lookup によってはシェルに引数を渡します。リモート/信頼されていないソースから変数を使用する場合には、|quote フィルターで、安全に使用できるようにします。
lookup および loop¶
lookup プラグイン は、シェルコマンドやキー値ストアなどの外部データソースにクエリーする手段です。
Ansible 2.5 以前は、ほとんどの場合、ルックアップはループの with_<lookup>
構造で間接的に使用されていました。Ansible バージョン 2.5 以降、lookup は loop
キーワードに入力される Jinja2 式の一部としてより明示的に使用されます。
lookup および変数¶
lookup を使用する 1 つの方法は、変数を設定することです。これらのマクロは、タスク (またはテンプレート) で使用されるたびに評価されます。
- vars:
- motd_value: “{{ lookup(‘file’, ‘/etc/motd’) }}”
- tasks:
- debug:
- msg: “motd value is {{ motd_value }}”
詳細と、利用可能な lookup プラグインの完全な一覧は、プラグインの使用 を参照してください。
See also
- Playbook の使用
- Playbook の概要
- 条件 (Conditional)
- Playbook の条件付きステートメント
- 変数の使用
- 変数の詳細
- ループ
- Playbook でのループ
- ユーザーメーリングリスト
- ご質問はございますか。 Google Group をご覧ください。
- irc.freenode.net
- IRC チャットチャンネル #ansible