После загрузки следующих Ansible локальных фактов:
{
"cdbs": {
"e01ca601": {
"char_set": "AL32UTF8",
"home": "/u01/dbhome_1",
"npdbs": "1",
"pdbs": "pdb1"
},
"e01ca602": {
"char_set": "WE8ISO8859P1",
"home": "/u01/dbhome_2",
"npdbs": "0",
"pdbs": ""
},
"e01ca603": {
"char_set": "AL32UTF8",
"home": "/u01/dbhome_3",
"npdbs": "0",
"pdbs": ""
},
"e01ca604": {
"char_set": "WE8ISO8859P1",
"home": "/u01/dbhome_1",
"npdbs": "0",
"pdbs": ""
},
"e01ca605": {
"char_set": "AL32UTF8",
"home": "/u01/dbhome_2",
"npdbs": "0",
"pdbs": ""
},
"e01ca900": {
"char_set": "WE8ISO8859P1",
"home": "/u01/dbhome_3",
"npdbs": "1",
"pdbs": "pdb2"
}
},
"pdbs": {
"pdb1": {
"cdb": "e01ca601",
"creation_time": "2020-01-21 14:10:39"
},
"pdb2": {
"cdb": "e01ca900",
"creation_time": "2020-01-13 13:34:21"
}
}
}
Я хотел бы использовать их в фильтре для выбора только, например, на cdbs. *. Char_set == 'AL32UTF8', но я не может понять, как добавить условие фильтра в задачу:
- name: "Task1"
vars:
myquery : '[cdbs.*.char_set][0]'
debug:
msg:
- "Query condition: {{ myquery }}"
- "Query filter : {{ ansible_local | json_query(myquery) }}"
В дополнение к этому можно было бы получить список имен элементов, например, e01ca605 et c?
Любая помощь будет оценена!
С уважением, Дирк