Heres ma si autre logique Ansible ..
- name: Check certs exist
stat: path=/etc/letsencrypt/live/{{ rootDomain }}/fullchain.pem
register: st
- include: ./_common/check-certs-renewable.yaml
when: st.stat.exists
- include: ./_common/create-certs.yaml
when: not st.stat.exists
Ce code se résume à:
SI certs existent
renouveler les certs
ELSE
créer des certs
FIN SI
Est-ce la bonne approche ou existe-t-il une meilleure approche du concept IF ELSE en ansible?
Ce que vous avez là devrait fonctionner et est une façon de le faire.
Vous pouvez également utiliser une requête Jinja pour la réduire à 2 tâches, telles que:
- name: Check certs exist
stat: path=/etc/letsencrypt/live/{{ rootDomain }}/fullchain.pem
register: st
- include: "{{ './_common/check-certs-renewable.yaml' if st.stat.exists else './_common/create-certs.yaml' }}"
Cependant, c'est plus une question de préférence personnelle qu'autre chose, et votre façon de faire est plus lisible, alors je me contenterais de cet IMHO.