global_vars¶
Note
Always use the FQCN (Fully Qualified Collection Name) arista.avd.global_vars
when using this plugin.
Variable plugins to allow loading global_vars with less precedence than group_vars or host_vars
Synopsis¶
Loads variables from variable files specified in ansible.cfg or in the environment variable.
Assign the loaded variables to the 'all' inventory group.
Files are restricted by extension to one of .yaml, .json, .yml, or no extension.
Hidden files starting with \'.\' and backup files ending with \'\~\' are ignored.
Only applies to inventory sources that are existing paths.
ansible.cfg only example
1 - Enable the plugin in ansible.cfg
- DO NOT REMOVE host_group_vars
.
[defaults]
vars_plugins_enabled = arista.avd.global_vars, host_group_vars
[vars_global_vars]
paths = ../relative/path/to/my/global/vars/file/or/dir
2 - Run your playbook
ansible-playbook -i inventory.yml playbook.yml
ansible.cfg + environment variable example
1 - Enable the plugin in ansible.cfg
- DO NOT REMOVE host_group_vars
.
[defaults]
vars_plugins_enabled = arista.avd.global_vars, host_group_vars
2 - Run your playbook
ARISTA_AVD_GLOBAL_VARS_PATHS=../relative/path/to/my/global/vars/file/or/dir ansible-playbook -i inventory.yml playbook.yml
Requirements¶
The below requirements are needed on the host that executes this module.
- This plugin should run at the `inventory` stage default before all other variable plugins to inject the variables before any group and host vars.
Parameters¶
Argument | Type | Required | Default | Value Restrictions | Description |
---|---|---|---|---|---|
paths | list | True | None | List of relative paths relative to the inventory file. If path is a directory, all the valid files inside are loaded alphabetically. If the environment variable is set, it takes precedence over ansible.cfg. |
|
stage | any | optional | inventory | Valid values: - inventory |
The stage during which executing the plugin. It could be 'inventory' or 'task' Given the expected usage of this plugin at the beginning of the run. It is hard-coded to 'inventory' |
_valid_extensions | list | optional | [‘.yml’, ‘.yaml’, ‘.json’] | Check all of these extensions when looking for 'variable' files, which should be YAML, JSON, or vaulted versions. This affects vars_files, include_vars, inventory, and vars plugins, among others. |
Authors¶
- Arista Ansible Team (@aristanetworks)