Я хочу иметь возможность контролировать поведение модуля, задав условие changed_when. Это отлично работает при выполнении простой задачи, подобной той, что описана в документации:
- command: some command
register: command_result
changed_when: "command_result.rc != 2"
Проблема возникает, когда я начинаю использовать петли. Я не могу понять, как получить доступ к результатам stderr, stdout, rc из текущей итерации цикла. Например:
- command: aptly mirror update some-mirror
register: aptly_output
changed_when: "?item?.stdout | search('Download queue: 0 items')"
Все результаты идут в aptly_output.results
, но как мне получить доступ к результату текущей итерации?
В одной из наших ролей мы делаем это:
- name: themes | activate
command: "wp-cli --allow-root --no-color --path='{{ item.0.path }}' theme activate {{ item.1.name }}"
register: check_activate_theme
changed_when: "'Success: Switched to' in check_activate_theme.stdout"
with_subelements:
- wordpress_installs
- themes
when: item.1.name and item.1.activate | default(false)
tags:
- wordpress-themes-activate-theme
Я думаю, это также должно сработать для вашего варианта использования.