On this page
yaml – Uses a specific YAML file as an inventory source
New in version 2.4.
Synopsis
- YAML-based inventory, should start with the
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 | Choices/Defaults | Configuration | Comments |
---|---|---|---|
yaml_extensions
list
|
Default:
[".yaml", ".yml", ".json"]
|
ini entries:
[defaults] [inventory_plugin_yaml]
env:ANSIBLE_YAML_FILENAME_EXT
env:ANSIBLE_INVENTORY_PLUGIN_EXTS
|
list of 'valid' extensions for files containing YAML
|
Notes
Note
- If you want to set vars for the
all
group inside the inventory file, theall
group must be the first entry in the file. - Whitelisted 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
Status
- This inventory is not guaranteed to have a backwards compatible interface. [preview]
- This inventory is maintained by the Ansible Community. [community]
Authors
- UNKNOWN
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
Hint
Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/plugins/inventory/yaml.html