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 writing hosts files.
What is the syntax for the inventory files in YAML?
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’ groupDefault
12345678 ungrouped:hosts:green.example.com:ansible_ssh_host: 188.8.131.52blue.example.com:192.168.100.1:192.168.100.10:
Ex 2: A collection of hosts belonging to the ‘webservers’ groupDefault
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 groupDefault
12345678910 testing:hosts:www[001:006].example.com:vars:testing1: value1children:webservers:hosts:beta.example.org: