shell> cat myfile.yml
"ABC":
"ABC-C01":
- host: "a1"
prefixlen: "19"
- host: "a2"
prefixlen: "19"
"DEF":
"DEF-C01":
- host: "d1"
prefixlen: "19"
- host: "d2"
prefixlen: "19"
我从意图文件中得到的预期答案如下:
ABC-C01:
- a1.domain
- a2.domain
DEF-C01:
- d1.domain
- d2.domain
我能够单独获得该列表。
- include_vars:
file: myfile.yml
name: myfile
- set_fact:
dc: "{{ myfile.keys()|list }}"
给出:“ABC”和“DEF”
- set_fact:
cl: "{{ cl|default([]) + myfile[item].keys()|list }}"
with_items: "{{ dc}}"
给出:“ABC-C01”和“DEF-C01”
将以下声明放入vars
myfile: "{{ lookup('file', 'myfile.yml')|from_yaml }}"
myfile_groups: "{{ dict(myfile.values()|
map('dict2items')|
json_query(_query)) }}"
_query: '[].[key, value[].join(``,[host, `.domain`])]'
给你想要的
myfile_groups:
ABC-C01:
- a1.domain
- a2.domain
DEF-C01:
- d1.domain
- d2.domain
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)