#
# playbook 默認(rèn)已經(jīng)內(nèi)置了變量,通過(guò)這些變量可以進(jìn)行主機(jī)相關(guān)的判斷了。
#
-
- groups 和 group_names:
groups:
groups 變量是一個(gè)全局變量,引用了inventory文件里所有的額主機(jī)以及主機(jī)組信息
它返回的是一個(gè)json字符串。
playbook中通過(guò){{ groups }}或是{{ groups.屬性}}的方式來(lái)引用group_names:
group_names引用當(dāng)前主機(jī)所在的group的名稱
-
hosts: tomcat
tasks:- debug: msg={{ groups.all}}
- debug: msg={{group_names}}
...
-
- hsotvars:
- hostvars 可以用來(lái)引用指定主機(jī)的信息
-
hosts: tomcat
tasks:- debug: msg={{ groups.all}}
- debug: msg={{group_names}}
- debug: msg="{{hostvars['ansible1']['ansible_default_ipv4']['address']}}"
...
-
- inventory_hostname 和 inventory_hostname_short
- inventory_hostname 變量返回inventory 文件里面定義的主機(jī)名
- inventory_hostname_short 返回inventory文件中主機(jī)名的第一部分
-
- play_hosts 和 inventory_dir
- play_hosts 返回當(dāng)前playbook運(yùn)行的主機(jī)信息,格式是host list結(jié)構(gòu)
- inventory_dir 變量返回當(dāng)前playbook使用的inventory目錄