我需要从EC2创建调用的寄存器返回中提取EBS卷ID。我已经把它放到可以保存我想要的数据的卡盘上,但是最后一步却使我望而却步。
我尝试使用以下方法:
- set_fact:
volume_id_list: "{{ devices | json_query('[*].volume_id') }}"
- debug: var=volume_id_list
它返回一个空字符串。
"devices": {
"/dev/sdf": {
"delete_on_termination": true,
"status": "attached",
"volume_id": "vol-0b2c92cdcblah"
},
"/dev/xvda": {
"delete_on_termination": true,
"status": "attached",
"volume_id": "vol-086a722c4blah"
}
}
我想看的东西是这样的:
“ vol-0b2c92cdcblah” “ vol-086a722c4blah”
答案 0 :(得分:0)
您在json_query
中的jmespath表达式与您的数据结构中的任何内容都不匹配。因此,空字符串是完全正确的结果:)
现在,要从当前数据结构中获得所需的内容,您需要更改查询:json_query('*.volume_id')