我有下面的输出,我试图解析和过滤:
- name: lvs
debug:
msg: "{{ ansible_lvm.lvs }}"
ok: [localhost] => {
"msg": {
"av_root_snapshot": {
"size_g": "4.00",
"vg": "vg_root"
},
"av_var_snapshot": {
"size_g": "5.00",
"vg": "vg_root"
},
"lv_root": {
"size_g": "20.00",
"vg": "vg_root"
},
"lv_var": {
"size_g": "15.00",
"vg": "vg_root"
}
}
}
我正在尝试创建一个out的列表,因此它返回以下内容:
av_root_snapshot vg_root
av_var_snapshot vg_root
我可以通过以下方式获得'vg'的值:
- name: get snap
debug:
msg: "{{ ansible_lvm.lvs | json_query('*.vg') }}"
但我似乎不明白的是如何过滤以 *snapshot结尾的根对象名称并解析“vg”的值。我正在尝试这样做,这样我也可以删除这些快照。
如何正确地过滤上述输出并解析所需的信息?
1条答案
按热度按时间u0njafvf1#
Q:***“删除以'snapshot'结尾的对象名,解析vg的值。"***
A:拒绝匹配正则表达式的键
给予
然后,您可以获得属性列表 vg