Is it possible to write Ansible hosts/inventory files in YAML?

前端 未结 3 1734
栀梦
栀梦 2020-12-01 07:38

In the best practices page, there is an example that uses hosts.yml for hosts files:

In the docs, however, I can only find the INI syntax for w

3条回答
  •  孤街浪徒
    2020-12-01 08:21

    Yes.

    It's been deprecated in version 0.6 in 2012 and reintroduced in a commit first included in version 2.1 in 2016.

    The example file on GitHub contains the guidelines and examples:

    • Comments begin with the '#' character
    • Blank lines are ignored
    • Top level entries are assumed to be groups
    • Hosts must be specified in a group's hosts: and they must be a key (: terminated)
    • groups can have children, hosts and vars keys
    • Anything defined under a hosts is assumed to be a var
    • You can enter hostnames or ip addresses
    • A hostname/ip can be a member of multiple groups

    Ex 1: Ungrouped hosts, put in 'ungrouped' group

    ungrouped:
      hosts:
          green.example.com:
              ansible_ssh_host: 191.168.100.32
          blue.example.com:
          192.168.100.1:
          192.168.100.10:
    

    Ex 2: A collection of hosts belonging to the 'webservers' group

    webservers:
      hosts:
          alpha.example.org:
          beta.example.org:
          192.168.1.100:
          192.168.1.110:
    

    Ex 3: You can create hosts using ranges and add children groups and vars to a group. The child group can define anything you would normally add to a group

    testing:
      hosts:
          www[001:006].example.com:
      vars:
          testing1: value1
      children:
          webservers:
              hosts:
                  beta.example.org:
    

提交回复
热议问题