Стандартный способ определения плейбука Ansible с ролями:
---
- hosts: webservers
roles:
- common
- webservers
Я хотел бы передать одну переменную командной строки для роли Ansible. Я имею в виду, что должна быть одна роль Ansible, которая была бы переменной, и я должен иметь возможность передать выбор роли (общая или веб-сервер) извне.
Пожалуйста, дайте мне знать, если и как мы можем достичь этого:
roles:
- {{ choice }}
Используйте include_role в play.yml
- hosts: webservers
tasks:
- include_role:
name: "{{ choice }}"
и запустить его
# ansible-playbook -e "choice=common" play.yml