Ansible à l'Aide de --extra-vars conditionnelle comprend
Je suis en utilisant Ansible de déployer un environnement qui peuvent avoir des services distribués ou non. Je voudrais conditionnellement inclure les tablettes playbook fondé sur des arguments je passe à ansible-playbook.
create_server.yml
---
- include: launch_ec2_instance.yml
- include install_postgres.yml
when {{db}} == "Y"
- include install_redis.yml
when {{redis}} == "Y"
Voici comment je fais appel create_server.yml
ansible-playbook create_server.yml -i local --extra-vars "db=Y redis=N"
Est-il possible de le faire et si oui, comment?
Vous devez vous connecter pour publier un commentaire.
Oui. Il est possible de faire. Il vous manque un signe deux-points(:) sur votre lors de l'instruction.
Vous pouvez également omettre les accolades ({{ }}):
@Rico réponse est bonne, sauf qu'il s'applique uniquement lorsque votre déclaration fait partie d'une tâche.
Par exemple.
Si votre playbook est juste un tas de comprend votre create_server.yml' semble être alors "quand" ne fonctionnent pas.
In versions prior to 2.0 this worked with task includes but not playbook includes. 2.0 allows it to work with both.