ansible.builtin.generator 资产清单 – 使用 Jinja2 从模式构建主机和组
注意
此资产清单插件是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 generator
。但是,我们建议您使用完全限定的集合名称 (FQCN) ansible.builtin.generator
,以便轻松链接到插件文档,并避免与其他可能具有相同资产清单插件名称的集合冲突。
概要
使用具有有效 YAML 或
.config
扩展名的 YAML 配置文件来定义变量表达式和组条件创建一个描述每个主机的模板模式,然后使用独立的配置层
将每个层的每个元素组合起来,为每个层组合创建一个主机
可以使用相同的模板变量,通过引用主机和其他组来定义父组
参数
参数 |
注释 |
---|---|
父组还可以包含 |
|
层字典,其中键是层名称,在 |
|
确保这是 ‘generator’ 插件的源文件的令牌。 选项
|
示例
# inventory.config file in YAML format
# remember to enable this inventory plugin in the ansible.cfg before using
# View the output using `ansible-inventory -i inventory.config --list`
plugin: ansible.builtin.generator
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
提示
每个条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。