ansible.builtin.subelements 过滤器 – 返回列表及其元素的笛卡尔积
注意
此过滤器插件是 ansible-core
的一部分,并包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 subelements
。但是,我们建议您使用完全限定集合名称 (FQCN)ansible.builtin.subelements
,以便轻松链接到插件文档,并避免与其他可能具有相同过滤器插件名称的集合冲突。
Ansible 2.7 中的新增功能
概要
这将生成一个对象及其子元素值的笛卡尔积,类似于子元素查找。这使您可以指定在模板中使用的单独子元素
_input
。
输入
这描述了过滤器的输入,即 | ansible.builtin.subelements
之前的值。
参数 |
注释 |
---|---|
原始列表。 |
位置参数
这描述了过滤器的位置参数。这些是以下示例中的值 positional1
,positional2
等:input | ansible.builtin.subelements(positional1, positional2, ...)
参数 |
注释 |
---|---|
要从原始列表项中提取的属性的标签。 |
|
如果 选项
|
示例
# data
users:
- groups: [1,2,3]
name: lola
- name: fernando
groups: [2,3,4]
# user_w_groups =>[ { "groups": [ 1, 2, 3 ], "name": "lola" }, 1 ], [ { "groups": [ 1, 2, 3 ], "name": "lola" }, 2 ], [ { "groups": [ 1, 2, 3 ], "name": "lola" }, 3 ], [ { "groups": [ 2, 3, 4 ], "name": "fernando" }, 2 ], [ { "groups": [ 2, 3, 4 ], "name": "fernando" }, 3 ], [ { "groups": [ 2, 3, 4 ], "name": "fernando" }, 4 ] ]
users_w_groups: {{ users | subelements('groups', skip_missing=True) }}
返回值
键 |
描述 |
---|---|
由原始列表和子元素列表的笛卡尔积组成的列表。 已返回: 成功 |
提示
每个条目类型的配置条目都具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖列表中较高的变量。