web-dev-qa-db-fra.com

ansible sinon construction

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?

16
danday74

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.

16
Willem van Ketwich