我有一个由ansible_facts提供的数据
ansible_facts.lvm.lvs:
lv-something-1:
size_g: '70.00'
vg: blockchains
lv-something2-2:
size_g: '45.00'
vg: blockchains
lv-something3-3:
size_g: '250.00'
vg: blockchains
lv-something4-4:
size_g: '4610.00'
vg: blockchains
lv-something5-5:
size_g: '500.00'
vg: blockchains
lv-something6-6:
size_g: '25.00'
vg: blockchains
lvthinpool:
size_g: '10666.11'
vg: blockchains首先,我尝试了大量删除thinpool项,但是我没有成功,我试图将这个数据转换成一个列表,尝试使用reject, rejectattr,但是他们只给出了名称。就像这样,我甚至试着创建两个列表,并做出让步,但没有成功,lol。
ansible_facts.lvm.lvs | reject('search', 'thinpool'):
- lv-something-1
- lv-something2-2
- lv-something3-3
- lv-something4-4
- lv-something5-5
- lv-something6-6但我想知道我的书有多大..。我只想把lvthinpool移到里,有办法吗?在那之后,我会抓住所有的size_g,我会把你所有的价值加起来
我的期望值是:
ansible_facts.lvm.lvs:
lv-something-1:
size_g: '70.00'
vg: blockchains
lv-something2-2:
size_g: '45.00'
vg: blockchains
lv-something3-3:
size_g: '250.00'
vg: blockchains
lv-something4-4:
size_g: '4610.00'
vg: blockchains
lv-something5-5:
size_g: '500.00'
vg: blockchains
lv-something6-6:
size_g: '25.00'
vg: blockchains我尝试使用set_fact将这个dict转换为一个列表,并使用reject或rejectattr操作日期,然后创建两个dict,并尝试合并这些值。我尝试将内容放入文件并使用regex与linefile模块一起删除它
发布于 2022-11-15 02:28:26
下面是一个在dict2items之前执行rejectattr的示例操作手册
- hosts: localhost
connection: local
vars:
input:
lv-something-1:
size_g: '70.00'
vg: blockchains
lv-something2-2:
size_g: '45.00'
vg: blockchains
lv-something3-3:
size_g: '250.00'
vg: blockchains
lv-something4-4:
size_g: '4610.00'
vg: blockchains
lv-something5-5:
size_g: '500.00'
vg: blockchains
lv-something6-6:
size_g: '25.00'
vg: blockchains
lvthinpool:
size_g: '10666.11'
vg: blockchains
tasks:
- debug:
msg:
- "{{ input|dict2items|rejectattr('key', 'eq', 'lvthinpool')|items2dict }}" #this will print desired data上面的剧本会吐出低于输出的东西:
TASK [debug] ********************************************************************************************************************************************************
ok: [localhost] => {
"msg": [
{
"lv-something-1": {
"size_g": "70.00",
"vg": "blockchains"
},
"lv-something2-2": {
"size_g": "45.00",
"vg": "blockchains"
},
"lv-something3-3": {
"size_g": "250.00",
"vg": "blockchains"
},
"lv-something4-4": {
"size_g": "4610.00",
"vg": "blockchains"
},
"lv-something5-5": {
"size_g": "500.00",
"vg": "blockchains"
},
"lv-something6-6": {
"size_g": "25.00",
"vg": "blockchains"
}
}
]
}https://stackoverflow.com/questions/74439197
复制相似问题