В Ansible обычно есть несколько способов сделать что-то, поэтому на самом деле все зависит от того, что будет делать ваш конечный результат из этой книги, и расскажете ли вы об этом позже. Однако одним из способов добиться этого было бы использование групповых переменных (переменные хоста могли бы делать то же самое, но настраиваться по-разному).
INVENTORY_FILE.txt
[WEBSERVERS]
hostname1
[DBSERVERS]
hostname2
[WEBSERVERS:vars]
file=webserver_file.txt
destination=/web/server/path
[DBSERVERS:vars]
file=dbserver_file.txt
destination=/db/server/path
PLAYBOOK.yml
- name: Deployment Files to Hosts
hosts: all
gather_facts: false
vars:
owner: user_name
group: group_name
tasks:
- name: loop through items based on group_vars
copy:
src: '{{ file }}'
dest: '{{ destination }}'
owner: '{{ owner }}'
group: '{{ group }}'
mode: 644