Ansible_playbook_内置变量


#
# playbook 默认已经内置了变量,通过这些变量可以进行主机相关的判断了。
#

    1. groups 和 group_names:
    • groups:
      groups 变量是一个全局变量,引用了inventory文件里所有的额主机以及主机组信息
      它返回的是一个json字符串。
      playbook中通过{{ groups }}或是{{ groups.属性}}的方式来引用

    • group_names:
      group_names引用当前主机所在的group的名称


  • hosts: tomcat
    tasks:

    • debug: msg={{ groups.all}}
    • debug: msg={{group_names}}
      ...
    1. hsotvars:
    • hostvars 可以用来引用指定主机的信息

  • hosts: tomcat
    tasks:

    • debug: msg={{ groups.all}}
    • debug: msg={{group_names}}
    • debug: msg="{{hostvars['ansible1']['ansible_default_ipv4']['address']}}"
      ...
    1. inventory_hostname 和 inventory_hostname_short
    • inventory_hostname 变量返回inventory 文件里面定义的主机名
    • inventory_hostname_short 返回inventory文件中主机名的第一部分
    1. play_hosts 和 inventory_dir
    • play_hosts 返回当前playbook运行的主机信息,格式是host list结构
    • inventory_dir 变量返回当前playbook使用的inventory目录

你可能感兴趣的:(Ansible_playbook_内置变量)