Назад | Перейти на главную страницу

Задача генерации Ansible для каждого рабочего объекта

Я бы хотел, чтобы Ansible запускал задачу для какого-то объекта, найденного во время выполнения. Например, по одному на файл в указанном каталоге или по одному на запущенный процесс. Есть ли способ реализовать это внутри задачи / пьесы? Я бы хотел, чтобы результат был интегрирован в обычный вывод как самостоятельная задача, в идеале с настроенной задачей и именем переменной "зарегистрировать".

К сожалению, все примеры, которые я могу найти, являются статическими определениями.

Для этого вы можете использовать include. Вот пример, в котором я читаю все базы данных на хосте mysql, а затем включаю некоторые задачи. Вы также можете передать этому включению некоторые переменные.

- command: mysql -u root -e 'show databases;'
  register: databases

- include: soma_tasks.yml db={{item}}
  with_items: databases.stdout_lines
  when: item not "Database"