这是我的 if else 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
创建证书
END IF
这是正确的方法还是有更好的方法来实现 ansible 中的 IF ELSE 构造?
你所拥有的应该有效,并且是实现这一目标的一种方法。
或者,您可以使用 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' }}"
然而,这更多的是个人喜好问题,而不是其他任何事情,而且你的方式更具可读性,所以我会坚持使用恕我直言。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)