У меня есть цикл with_item, в котором переменной 'USER' необходимо присвоить значение на основе проверки условия.
Если '{{command_result.stdout_lines}}' равен "Frontend", то переменная USERдолжен получить значение 'user1', иначе ему должно быть присвоено значение 'user2'
Ниже приведено то, чего я мог бы достичь после обращения за помощью, но проблема в том, что 'USER' всегда получает назначенное значение 'user2', даже если условиевыполняется для 'user1'
Моя книга воспроизведения:
- debug:
msg: "User was {{ item.split('\t')[3] }}"
with_items: "{{ command_result.stdout_lines }}"
- set_fact:
USER: "user1"
when: item.split('\t')[3] == "FrontEnd"
with_items: "{{ command_result.stdout_lines }}"
- set_fact:
USER: "user2"
when: item.split('\t')[3] == "BackEnd"
with_items: "{{ command_result.stdout_lines }}"
- debug:
msg: "User has {{ USER }}"
with_items: "{{ command_result.stdout_lines }}"
Первая отладка печатает и подтверждает, что значение item.split ('\ t') [3]
Вторая отладка выводит «USER», но, как вы можете видеть в выводе ниже, она имеет значение «user2», даже если это значение Frontend.
Можете ли вы предложить?
ЗАДАЧА [отладка] ************************************************************************************************************************************************ Хорошо:[localhost] => (item = 10.12.1.13 10.12.1.13 \ n-rw-rw-r-- user1 2019-09-13 15:39 / был // testingjsp / testingcom.jsp 1786385840 / was // testingjsp FrontEnd) => {"msg": "Пользователь был FrontEnd"} ok: [localhost] => (item = 10.12.1.13 10.12.1.13 \ n-rw-rw-r- user2 2019-09-13 15:29 /fin/scripts/testingscr.scr 367595418 \ n-rw-rw-r-- user2 2019-09-13 15:36 /fin/mrt/testingmrt.mrt 1251350031 \ n-rw-rw-r-- user2 2019-09-13 15:37 /fin/exe/testingexe.exe 1390265645 \ n-rw-rw-r-- user2 2019-09-13 15:38 / fin / com /testingcom.com 90193476
/ fin / scripts \ n / fin / mrt \ n / fin / exe \ n / fin / com BackEnd) => {"msg": "Пользователь был BackEnd"}
ЗАДАЧА [отладка] ************************************************************************************************************************************************ Хорошо:[localhost] => (item = 10.12.1.13 10.12.1.13 \ n-rw-rw-r-- user1 2019-09-13 15:39 /was//testingjsp/testingcom.jsp 1786385840 / was // testingjsp FrontEnd)=> {"msg": "У пользователя есть user2"} ok: [localhost] => (item = 10.12.1.13 10.12.1.13 \ n-rw-rw-r-- user2 2019-09-13 15:29 / fin/scripts/testingscr.scr 367595418 \ n-rw-rw-r-- user22019-09-13 15:36 /fin/mrt/testingmrt.mrt 1251350031 \ n-rw-rw-r-- user2 2019-09-13 15:37 /fin/exe/testingexe.exe 1390265645 \ n-rw-rw-r-- user2 2019-09-13 15:38 /fin/com/testingcom.com 90193476
/ fin / scripts \ n / fin / mrt \ n / fin / exe \ n / fin / com BackEnd)=> {"msg": "У пользователя есть user2"}