変数
参考:
Using Variables | Ansible Documentation [Official]
定義済み変数
参考:
Special Variables | Ansible Documentation [Official]
マジック変数
参考:
Magic Variables, and How To Access Information About Other Hosts | Ansible Documentation [Official]
-e / --extra-vars オプション
参考:
明示的に指定した場合にのみ Ansible のタスクを実行する | 理系学生日記
-e, --extra-vars – ansible-playbook | Ansible Documentation [Official]
include_vars
参考:
ansible で role の vars を分割する – Qiita
inventory_hostname
プレイブックを実行中のホスト名
参考:
ansible の条件判定でホストグループ別に実行を分けたいとき – Qiita
Access inventory alias – Stack Overflow
ロールにおけるデフォルト変数
roles/foo/defaults/main.yml
で定義した変数はロールのデフォルト変数として扱われ、インベントリの group_vars
や host_vars
でオーバーライドできる。roles/foo/vars/main.yml
で定義した変数はインベントリの変数より優先される。
参考:
Ansible の Variables 優先順位で死んだ話 – Qiita
変数の優先順位
優先度が低い順に主な定義箇所を並べると
- ロールの
defaults
で指定した変数 - インベントリでグループに指定した変数
inventory/group_vars
で指定した変数- インベントリでホストに指定した変数
inventory/host_vars
で指定した変数- プレイブックの
vars
で指定した変数 - ロールの
vars
で指定した変数 set_facts
で指定した変数- コマンドラインで指定した変数 (
--extra-vars
)
参考:
Ansible の変数定義の優先順位について | 株式会社シングラム
Inheritance of Variables | D. Heinrich
Ansible variable precedence (order, hierarchy) – GitHub Gist
Variable precedence | Ansible Documentation [Official]
group_vars
参考:
group_vars 配下にグループ名のディレクトリを用意すると複数の変数ファイルをまとめられる | てくなべ
set_fact
参考:
set_fact – Set host facts from a task | Ansible Documentation [Official]
ホストで設定・収集された変数を確認する (hostvars)
参考:
Ansible で hostvars 等の設定値を確認する方法 – Qiita
別のホストの変数を使う
参考:
module_defaults
参考:
Module defaults | Ansible Documentation [Official]
YAML 記法のアンカーとエイリアスを使う
参考:
YAML の Anchor と Alias を使って config を DRY に書く | valid, invalid
YAML のエイリアスで Ansible ファイルの重複を減らす | DevelopersIO
Reference variables in Ansible YAML | Markus Holtermann
YAML anchors and aliases – sharing variable values | Ansible Documentation [Official]
Link for variables in group vars – Stack Overflow
Override YAML subkey – Stack Overflow
Using node anchors and merge keys split over different yaml files – Stack Overflow