Skip to content

yaml

Collection Note

This module is part of the ansible.builtin collection. To install the collection, use:

ansible-galaxy collection install ansible.builtin
Added in version 2.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