Я хочу отфильтровать каждое значение ключей снизу json с помощью json_query | JMESPATH, как этого добиться?
{
"facts_hash": {
"processors::count": "96",
"processors::physicalcount": "2",
"processor0": "Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz",
"processorcount": "96",
"macaddress": "08:f1:ea:6d:04:3G",
"ipaddress": "192.168.101.135",
"manufacturer": "HPE",
"productname": "ProLiant DL360 Gen10",
"serialnumber": "SGH93GDCR",
"memorysize_mb": "773730.12",
"ipmi_ipaddress": "172.16.200.28",
},
"id": 284
}
Ожидаемый результат, может быть таким, как показано ниже
[ "96",
"2",
"Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz",
"96",
"08:f1:ea:6d:03:3c",
"192.168.101.135",
"HPE",
"ProLiant DL360 Gen10",
"SGH936XG91",
"773730.12",
"172.16.100.24",
"284" ]
Вот приведенный ниже запрос, который я пробовал и который возвращает значение.
"{{ facts_hash | json_query('[manufacturer, ipaddress, macaddress, productname, serialnumber, processorcount, processor0, memorysize_mb, ipmi_ipaddress]') | list }}"
несколько ключей находятся в json с четырьмя ::, которые я не могу отфильтровать, вот эти ключи "процессоры :: счетчик" и "процессоры :: физический счетчик" вместе с тем, что я не могу получить " id "
возвращаемое значение запроса.
ok: [localhost] => {
"ansible_facts": {
"allvalue": [
"HPE",
"192.168.101.135",
"08:f1:ea:6d:03:3c",
"ProLiant DL360 Gen10",
"SGH936XG91",
"96",
"Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz",
"773730.12",
"172.16.100.24"
]
},
"changed": false
}
Спасибо