我们如何使用Ansible嵌套变量进行通配符搜索?
YAML
test:
name:
address:
zipcode: 12345
Ansible模板变量
{{ test[name][addre*].zipcode }}
答案 0 :(得分:4)
我们如何使用Ansible嵌套变量进行通配符搜索?
a1 <- list(Study1 = data.frame(d = 6:8, long = c(T, F, T)),
Study2 = data.frame(d = 9:11, long = c(T, T, F)) )
- debug:
msg: >-
{{ test.name
| dict2items
| selectattr("key", "match", "addr.*")
| map(attribute="value.zipcode")
| list }}
爆炸dict2items
的孩子时,允许他们根据name
的 key 进行模式匹配-或任何其他有趣的把戏,如您所见,通常是不可能的
然后,我们现在有了一个匹配的dict
结构的列表,因此,如果要所有结构的{"key": "address1234", "value": {"zipcode": "11111"}}
字段,只需进入zipcode
字典并拉出其{{ 1}}字段。
最后一个value
是一个让步,因为zipcode
产生了一个python生成器,而不是一个实际的列表