ansible.builtin.host_group_vars – In charge of loading group_vars and host_vars


This module is part of ansible-core and included in all Ansible installations. In most cases, you can use the short module name host_group_vars even without specifying the collections: keyword. However, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.

New in version 2.4: of ansible.builtin


  • Loads YAML vars into corresponding groups/hosts in group_vars/ and host_vars/ directories.

  • Files are restricted by extension to one of .yaml, .json, .yml or no extension.

  • Hidden (starting with ‘.’) and backup (ending with ‘~’) files and directories are ignored.

  • Only applies to inventory sources that are existing paths.

  • Starting in 2.10, this plugin requires whitelisting and is whitelisted by default.


The below requirements are needed on the local controller node that executes this vars.

  • whitelist in configuration


Parameter Choices/Defaults Configuration Comments
list / elements=string
[".yml", ".yaml", ".json"]
ini entries:

defaults = ['.yml', '.yaml', '.json']

Check all of these extensions when looking for 'variable' files which should be YAML or JSON or vaulted versions of these.
This affects vars_files, include_vars, inventory and vars plugins among others.
added in 2.10 of ansible.builtin
  • all
  • task
  • inventory
ini entries:

stage = None

Control when this vars plugin may be executed.
Setting this option to all will run the vars plugin after importing inventory and whenever it is demanded by a task.
Setting this option to task will only run the vars plugin whenever it is demanded by a task.
Setting this option to inventory will only run the vars plugin after parsing inventory.
If this option is omitted, the global RUN_VARS_PLUGINS configuration is used to determine when to execute the vars plugin.