Как мы проверяем зарегистрированную переменную, если только одно из двух условий оказывается истинным, имея одну и ту же зарегистрированную переменную?
Ниже мой playbook, который выполняет только один из двух модулей оболочки.
- name: Check file
shell: cat /tmp/front.txt
register: myresult
when: Layer == 'front'
- name: Check file
shell: cat /tmp/back.txt
register: myresult
when: Layer == 'back'
- debug:
msg: data was read from back.txt and print whatever
when: Layer == 'back' and myresult.rc != 0
- debug:
msg: data was read from front.txt and print whatever
when: Layer == 'front' and myresult.rc != 0
Запустите указанную выше книгу воспроизведения как
ansible-playbook test.yml -e Layer="front"
Я получаю сообщение об ошибке, в котором говорится, что myresult не имеет атрибута rc
. Каков наилучший способ печати операторов debug one на основе выполненного условия?
Я пробовал myresult is changed
, но это тоже не помогает. Можете ли вы предложить.