他の場合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
このコードの要約は次のとおりです。
証明書が存在する場合
証明書を更新する
ELSE
証明書を作成する
終了
これは正しいアプローチですか、それともansibleのIF ELSE構文に対するより良いアプローチがありますか?
そこにあるものは動作するはずであり、それを行う1つの方法です。
または、Jinjaクエリを使用して、次のような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' }}"
しかし、それは他の何よりも個人的な好みの問題であり、あなたの方法はより読みやすいので、私はその私見に固執します。