Ansible嵌套变量正则表达式搜索

Ansible嵌套变量正则表达式搜索,ansible,jinja2,ansible-template,Ansible,Jinja2,Ansible Template,如何使用Ansible嵌套变量进行通配符搜索 亚马尔 可变模板变量 {{ test[name][addre*].zipcode }} 如何使用Ansible嵌套变量进行通配符搜索 其中,dict2items分解name的子项,允许一个人根据dict的键进行模式匹配或任何其他有趣的技巧,这通常是不可能的,正如您所看到的 然后我们现在有了一个匹配的{“key”:“address1234”,“value”:{“zipcode”:“11111”}结构列表,因此如果您想要所有结构的zipcode字段,只

如何使用Ansible嵌套变量进行通配符搜索

亚马尔

可变模板变量

{{ test[name][addre*].zipcode }}
如何使用Ansible嵌套变量进行通配符搜索

其中,
dict2items
分解
name
的子项,允许一个人根据
dict
键进行模式匹配或任何其他有趣的技巧,这通常是不可能的,正如您所看到的

然后我们现在有了一个匹配的
{“key”:“address1234”,“value”:{“zipcode”:“11111”}
结构列表,因此如果您想要所有结构的
zipcode
字段,只需进入
value
dict并拉出其
zipcode
字段

最后的
list
是一个让步,因为
map
生成一个python生成器,而不是实际的列表

{{ test[name][addre*].zipcode }}
- debug:
    msg: >-
      {{ test.name
      | dict2items
      | selectattr("key", "match", "addr.*")
      | map(attribute="value.zipcode")
      | list }}