Có rất nhiều cách để làm điều này. Đơn giản nhất:
- name: Copy file.role1 to host1
copy: src=file.role1 dest=/somewhere/file
when: inventory_hostname == "host1"
- name: Copy file.role2 to host2
copy: src=file.role2 dest=/somewhere/file
when: inventory_hostname == "host2"
Thay thế, gọn hơn:
- name: Copy file to host
copy: src=file.{{ inventory_hostname }} dest=/somewhere/file
Hoặc, sử dụng một mẫu:
- name: Copy file to host
template: src=file dest=/somewhere/file
trong đó mẫu có thể là một cái gì đó như thế này:
{% if inventory_hostname == "host1" %}
{% include "file1" %}
{% endif %}
...
Nếu bạn muốn các tệp khác nhau trong các vai trò khác nhau, tại sao bạn không chỉ cần đặt tệp này:
- name: Copy file.role1 to file
copy: src=file.role1 dest=/somewhere/file
trong mã của mỗi vai trò?
Không có cách nào ưa thích để làm điều đó - nó phụ thuộc vào những gì bạn đang thực sự cố gắng thực hiện.