Вы можете использовать этот трюк:
loop.yaml:
- name: get something from device
command: some_command
register: command_output
- name: Process output
set_fact:
cumulative_output: '{{ cumulative_output|default([]) + [command_output.stdout] }}'
main.yaml:
- name: Running over all devices
include_tasks: loop.yaml
with_items: '{{ device_list }}'
- name: Saving cumulative result
copy:
content: '{{ cumulative_output|join("\n") }}'
dest: /tmp/result.txt
Основные характеристики:
- Использование
set_fact
, который оценивает jinja (как и любой другой модуль) cumulative_output
- это список stdouts - цикл над чем-то с
include_tasks
Я не уверен, как вы собираете эту информацию и где ее храните, но я надеюсь, что этот пример даст вам общую идею: сохранить в списке и обновить этот список с помощью set_fact
трюка.