У меня есть ключ к объектной переменной, которую я не могу экранировать в Ansible playbook, возможно, из-за содержания точек,
Вот структура данных variable
:
"results":[
{
//snip//
"changed": false,
"hostvars[item].commandResult.stdout": "abc",
//snip//
},
{
//snip//
"changed": true,
"hostvars[item].commandResult.stdout": "xyz",
//snip//
}
]
Я не могу извлечь "hostvars[item].commandResult.stdout"
внутри него с этой пьесой,
- debug:
msg: "{{variable.results | map(attribute='hostvars[item].commandResult.stdout') }}"
Хотя я могу получить другое значение просто отлично,
- debug:
msg: "{{variable.results | map(attribute='changed') }}"
Я пытался с помощью \
, '.'
и {{...}}
убежать .
(точка), но все равно не повезло.
Я подозреваю, что это .
из-за этого сообщения об ошибке:
msg: |-
The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'hostvars[item]'
При запуске ansible-playbook -vvv
команда
Как я могу отобразить "hostvars[item].commandResult.stdout"
?