日本語だと古めの情報しかなかったのでメモ
| 変数名 | 概要 |
|---|---|
| hostvars | 各ターゲットノードのファクト変数を集めた変数 |
| group_names | 指定したターゲットノードが属するグループの一覧 |
| groups | 全グループとターゲットノードの一覧 |
| inventory_hostname | インベントリファイルに定義されたホスト名 |
| inventory_hostname_short | ホスト名の短い版 |
| playbook_dir | カレントディレクトリからplaybookへのパス |
| ansible_playbook_hosts | プレイブックが実行されているホストの一覧 |
| ansible_check_mode | チェックモード用のオプション変数 |
こんな感じで見れる。
- hosts: all gather_facts: "{{ check_env | default(False) }}" tasks: # Facts - name: Facts | ansible_hostname debug: var=ansible_hostname - name: Facts | ansible_default_ipv4 debug: var=ansible_default_ipv4 - name: Facts | ansible_env debug: var=ansible_env - name: Magic | group_names debug: var=group_names - name: Magic | groups debug: var=groups - name: Magic | inventory_hostname debug: var=inventory_hostname - name: Magic | inventory_hostname_short debug: var=inventory_hostname_short - name: Magic | play_hosts debug: var=play_hosts - name: Magic | inventory_dir debug: var=inventory_dir - name: Magic | inventory_file debug: var=inventory_file
何回読んでも忘れてしまうAnsibleの変数の優先順位。 とてもよき記事がありました。ちょいちょいハマるから助かる。 2~3人なら正直気にしなくても良さそうだけどもっと大規模でメンテナンスしてくってなったらplaybookもコード規約とか必須何だろうな〜。
これも忘れるからメモ ディレクティブ
| 変数名 | 入力値 | 概要 |
|---|---|---|
| gather_facts | true/false | ターゲットノードの情報取得を行うか |
| connection | ${PLUGIN_NAME} | 接続方法の指定 |
| remote_user | ${USER_NAME} | 接続ユーザの指定 |
| port | ${PORT_NUMBER} | 接続ポートの指定 |
| become | true/false | 接続ユーザ以外で処理を行うとき |
| become_user | ${USER_NAME} | sudo からの置き換え(旧バージョンだと使えたり) |