ansible if else 构造
ansible if else construct
这是我的 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
这段代码归结为:
IF certs exist
renew certs
ELSE
create certs
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' }}"
但是,这更多是个人喜好问题,而且您的方式更具可读性,所以我会坚持使用恕我直言。
下面的呢
condition_arg: >-
{%- if ansible_distribution == 'Ubuntu' -%}
'param for ubuntu'
{%- elif ansible_distribution == "Debian" -%}
'params for debian'
{%- else -%}
'what else'
{%- end %-}
一种 if-else 语句.. ?它们已在一些带有ansible的项目中使用。
此表格无法从官方文档中获得,但可以从 stackexchange
上的一个活跃线程中获得
如果要查找一个寄存器是否为空,可以使用下面的方法。如果 php -version 信息不是 found.If,则打印 msg Unavailable,它打印命令的输出。
这是我的 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
这段代码归结为:
IF certs exist
renew certs
ELSE
create certs
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' }}"
但是,这更多是个人喜好问题,而且您的方式更具可读性,所以我会坚持使用恕我直言。
下面的呢
condition_arg: >-
{%- if ansible_distribution == 'Ubuntu' -%}
'param for ubuntu'
{%- elif ansible_distribution == "Debian" -%}
'params for debian'
{%- else -%}
'what else'
{%- end %-}
一种 if-else 语句.. ?它们已在一些带有ansible的项目中使用。 此表格无法从官方文档中获得,但可以从 stackexchange
上的一个活跃线程中获得如果要查找一个寄存器是否为空,可以使用下面的方法。如果 php -version 信息不是 found.If,则打印 msg Unavailable,它打印命令的输出。