yaml – Uses a specific YAML file as an inventory source.
New in version 2.4.
Synopsis
- YAML based inventory, starts with the ‘all’ group and has 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
- It takes the place of the previously hardcoded YAML inventory.
 - To function it requires being whitelisted in configuration.
 
Examples
all: # keys must be unique, i.e. only one 'hosts' per group
    hosts:
        test1:
        test2:
            var1: value1
    vars:
        group_var1: value2
    children:   # key order does not matter, indentation does
        other_group:
            children:
                group_x:
                    hosts:
                        test5
            vars:
                g2_var2: value3
            hosts:
                test4:
                    ansible_host: 127.0.0.1
        last_group:
            hosts:
                test1 # same host as above, additional group membership
            vars:
                last_var: MYVALUE
   Status
Authors
- UNKNOWN
 
Hint
If you notice any issues in this documentation you can edit this document to improve it.
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.7/plugins/inventory/yaml.html