yaml¶
Collection Note
This module is part of the ansible.builtin collection. To install the collection, use:
Added in version2.4.
Synopsis¶
- YAML-based inventory, should start with the C(all) group 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.
Parameters¶
| Parameter | Defaults / Choices | Comments |
|---|---|---|
| yaml_extensions list / elements=string |
Default: ['.yaml', '.yml', '.json'] |
list of 'valid' extensions for files containing YAML Env: ANSIBLE_YAML_FILENAME_EXT Env: ANSIBLE_INVENTORY_PLUGIN_EXTS |
Notes¶
Note
- If you want to set vars for the C(all) group inside the inventory file, the C(all) group must be the first entry in the file.
- Enabled in configuration by default.
Examples¶
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