На днях я обнаружил, что когда регистровая переменная используется в цикле, например,
- name: Generate pw's for users
command: "/some_path/generate_hashed_pw.sh -u {{ item }}"
register: hashed_pws
with_items:
- joe
- sally
- john
регистр hashed_pws — это хэш, содержащий ключ results[], представляющий собой массив хэшей, например
{
"hashed_pws" : {
"changed" : true,
"some_other_key" : "some_other_value",
"results" : [
{
"item" : "joe",
"stdout": "joes_hashed_pw",
"some_other_key" : "some_other_value"
},
{
"item" : "sally",
"stdout": "sallys_hashed_pw",
"some_other_key" : "some_other_value"
},
{
"item" : "john",
"stdout": "johns_hashed_pw",
"some_other_key" : "some_other_value"
}
]
}
}
Итак, каков синтаксис для прямого доступа к элементу «stdout» в каждом из хэш-элементов в массиве? Другими словами, я хочу:
- debug: msg="Sallys hashed pw is {{ hashed_pws.results[SOME_KEY_TO_DIRECTLY_GET_SALLYS_STDOUT_VALUE] }}"
Это, вероятно, вопрос о питоне в той же мере, в какой это вопрос об Ansible.