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

时间:2019-05-09 16:35:30

标签: ansible jinja2 ansible-template

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

YAML

test:
  name:
    address:
         zipcode: 12345

Ansible模板变量

{{ test[name][addre*].zipcode }}

1 个答案:

答案 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生成器,而不是一个实际的列表