Надеясь, что кто-то может помочь мне понять, что, по моему мнению, должно быть простой проблемой вложенных строк. У меня есть следующие задачи, чтобы случайным образом выбрать строку, сохранить ее в переменной и распечатать:
tasks:
- name: Debug Section 1
debug:
msg: "{{ item }}"
with_random_choice:
- MY_CHOICE1
- MY_CHOICE2
register: choice
- name: Set result to a fact
set_fact:
THE_CHOICE: "{{ choice.results }}"
- name: Debug Section 3
debug:
msg: "{{ THE_CHOICE }}"
Результаты возвращаются с:
PLAY [Testing variable] **********************************************************************************************************************************************************************************************************************
TASK [Debug Section 1] ***********************************************************************************************************************************************************************************************************************ok: [localhost] => (item=MY_CHOICE1) => {
"msg": "MY_CHOICE1"
}
TASK [Set result to a fact] ******************************************************************************************************************************************************************************************************************ok: [localhost]
TASK [Debug Section 3] ***********************************************************************************************************************************************************************************************************************ok: [localhost] => {
"msg": [
{
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"item": "MY_CHOICE1",
"msg": "MY_CHOICE1"
}
]
}
PLAY RECAP ***********************************************************************************************************************************************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Я бы хотел, чтобы переменная THE_CHOICE просто верните предмет, но я не могу заставить его работать. В разделе set_fact я пробовал следующее:
THE_CHOICE: "{{ choice.results['item'] }}"
THE_CHOICE: "{{ choice.results.item }}"
THE_CHOICE: "{{ choice['results']['item'] }}"
Все попытки приводят к чему-то следующему:
"The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'item'
Может ли кто-нибудь дать некоторое представление о том, что я отсутствует