generator – Uses Jinja2 to construct hosts and groups from patterns
generator – Uses Jinja2 to construct hosts and groups from patterns
New in version 2.6.
Synopsis
- Uses a YAML configuration file with a valid YAML or
.config
extension to define var expressions and group conditionals - Create a template pattern that describes each host, and then use independent configuration layers
- Every element of every layer is combined to create a host for every layer combination
- Parent groups can be defined with reference to hosts and other groups using the same template variables
Parameters
Parameter | Choices/Defaults | Configuration | Comments |
---|---|---|---|
hosts - |
The The Parents can also contain | ||
layers - |
A dictionary of layers, with the key being the layer name, used as a variable name in the | ||
plugin - / required |
|
token that ensures this is a source file for the 'generator' plugin. |
Examples
# inventory.config file in YAML format
plugin: generator
strict: False
hosts:
name: "{{ operation }}-{{ application }}-{{ environment }}-runner"
parents:
- name: "{{ operation }}-{{ application }}-{{ environment }}"
parents:
- name: "{{ operation }}-{{ application }}"
parents:
- name: "{{ operation }}"
- name: "{{ application }}"
- name: "{{ application }}-{{ environment }}"
parents:
- name: "{{ application }}"
vars:
application: "{{ application }}"
- name: "{{ environment }}"
vars:
environment: "{{ environment }}"
- name: runner
layers:
operation:
- build
- launch
environment:
- dev
- test
- prod
application:
- web
- api
Status
Authors
- UNKNOWN
© 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/generator.html