У меня есть список ниже:
"list_stores": [
{
"aliases": [],
"expiry": [],
"path": "/path/to/keystore1.jks"
},
{
"aliases": [
"abc"
],
"expiry": [
"Certificate will not expire"
],
"path": "/path/to/keystore2.jks"
},
{
"aliases": [
"1194",
"1195",
"1196"
],
"expiry": [
"Certificate will not expire",
"Certificate will not expire",
"Certificate will expire"
],
"path": "/path/to/keystore3.jks"
}]
Я хочу создать список с диктовками, такими как (пропуская пустые списки 'aliases' и 'expiry'):
"final_list": [
{
"path": "/path/to/keystore2.jks",
"result": [
{
"alias": "abc",
"expiry": "Certificate will not expire"
}
]
},
{
"path": "/path/to/keystore3.jks",
"result": [
{
"alias": "1194",
"expiry": "Certificate will not expire"
},
{
"alias": "1195",
"expiry": "Certificate will not expire"
},
{
"alias": "1196",
"expiry": "Certificate will expire"
}
]
}]
Сначала я попытался создать новые списки, сопоставив атрибуты 'aliases' и 'expiry', например:
- name: Set fact list_aliases
set_fact:
list_aliases: "{{ list_store_alias_validity | map(attribute='aliases') | list }}"
В результате получилось два новых списка.Я попытался сжать их, но мне все еще нужно включить атрибут path.Как я могу решить это?