yaml – Uses a specific YAML file as an inventory source¶
New in version 2.4.
- YAML-based inventory, should start with the
allgroup and contain hosts/vars/children entries.
- Host entries can have sub-entries defined, which will be treated as variables.
- Vars entries are normal group vars.
- Children are ‘child groups’, which can also have their own vars/hosts/children and so on.
- File MUST have a valid extension, defined in configuration.
[".yaml", ".yml", ".json"]
list of 'valid' extensions for files containing YAML
- If you want to set vars for the
allgroup inside the inventory file, the
allgroup must be the first entry in the file.
- Whitelisted in configuration by default.
all: # keys must be unique, i.e. only one 'hosts' per group hosts: test1: test2: host_var: value vars: group_all_var: value children: # key order does not matter, indentation does other_group: children: group_x: hosts: test5 # Note that one machine will work without a colon #group_x: # hosts: # test5 # But this won't # test7 # group_y: hosts: test6: # So always use a colon vars: g2_var2: value3 hosts: test4: ansible_host: 127.0.0.1 last_group: hosts: test1 # same host as above, additional group membership vars: group_last_var: value