Я работаю над тем, чтобы собрать сборник пьес, который будет развертывать сценарии локальных фактов для различных групп в моем инвентаре Ansible, и я бы мог использовать имя группы, над которой работаем, в качестве переменной в самих задачах.Предположим для этого примера, что у меня есть традиционная структура каталогов Ansible role на моей машине Ansible, и у меня есть подкаталоги в каталоге «files», называемые «apache», «web» и «db».Сейчас я проиллюстрирую на примере: ...
---
- hosts: apache:web:db
tasks:
- name: Set facts for facts directories
set_fact:
facts_dir_local: "files/{{ group_name }}"
facts_dir_remote: "/etc/ansible/facts.d"
- name: Deploy local facts
copy:
src: "{{ item }}"
dest: "{{ facts_dir_remote }}"
owner: ansible
group: ansible
mode: 0750
with_fileglob:
- "{{ facts_dir_local }}/*.fact"
Цель состоит в том, чтобы {{ group_name }}
выше принял значение "apache" для хостов в группе apache, "web" дляhosts в веб-группе и «db» для хостов в группе db.Таким образом, мне не нужно копировать и вставлять эту задачу и назначать пользовательские переменные для каждой группы.Будем весьма благодарны за любые предложения о том, как этого добиться.