[ANSIBLE] Block conditionnel dans une tâche
Bonjour,
Voilà un moment que je bosse sur ansible et cette fois ci je suis confronté à un souci mineur. Je voudrai rendre une partie d'une task variable en d'un groupe de host.
Bon avec un exemple ce sera plus facile. Voilà ma task:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| - name: FRONT --> Start or restart container
docker_compose:
project_name: "{{_compose.project_name}}"
stopped: "{{ 'no' if role == 'master' else 'yes' }}"
restarted: "{{ forceReload }}"
definition:
version: "{{_compose.version}}"
services:
front:
image: "{{front_image}}"
restart: "{{front.restart}}"
ports:
- "80:80"
logging:
driver: redis-log-driver
options:
redis-address: xxxxxx:6379
redis-list: logstash
redis-password: "{{redis_password}}"
networks:
frontnet:
networks:
frontnet:
external:
name: front
when: (inventory_hostname in groups.front)
tags:
- front |
Je voudrai rendre la partie logging variable en fonction d'une variable:
Code:
1 2 3 4 5 6
| logging:
driver: redis-log-driver
options:
redis-address: xxxxxx:6379
redis-list: logstash
redis-password: "{{redis_password}}" |
Je voudrai l'ajouter si le host fait parti d'un groupe de host "prod" et ne pas le mettre s'il fait parti d'un groupe "pprod".
Bon oui, je peux faire 2 tasks avec un when différent, mais je voudrais savoir si c'est réalisable comme je l'ai imaginé ?
J'espère que des guru d'ansible pourront m'éclairer.