2017-02-04 8 views
4

Heres мой, если еще анзибль логика ..анзибль если еще построить

- 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 

Этот код сводится к:

IF существуют сертификаты

возобновлять CERTS

ELSE

создать сертификаты

END IF

Является ли это правильный подход, или есть лучший подход к IF ELSE построить в анзибль?

ответ

5

То, что у вас там есть, должно работать и является одним из способов сделать это.

В качестве альтернативы, вы можете использовать запрос дзиндзя, чтобы уменьшить его до 2-х заданий, например, что:

- 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' }}" 

Однако, это скорее вопрос личных предпочтений, чем все остальное, и ваш путь более удобным для чтения, так Я бы просто придерживался этого ИМХО.