SaltStack 中 Ansible 的 "when" 子句的等价物是什么?
What is the equivalent of Ansible's "when" clause in SaltStack?
对于下面给出的 Ansible 代码,我如何在 SaltStack 中实现类似的功能(特别是 when
子句)?
---
- include: install-redhat.yml
when: ansible_os_family == "RedHat"
- include: install-debian.yml
when: ansible_os_family == "Debian"
我必须为此使用 Jinja2 模板吗?看起来 unless
和 onlyif
只能测试 shell 命令的 return 代码。
是的,你必须为此使用 jinja。
像
{% if grains['os'] == 'Redhat' %}
include:
- install-redhat
{% endif %}
但我宁愿将状态包含在顶级文件中
例如,在 top.sls 中,您可以执行
'os:Redhat':
- match: grain
- state1_redhat
- state2_redhat
'os:FreeBSD':
- match: grain
- freebsd1
- freebsd2
对于下面给出的 Ansible 代码,我如何在 SaltStack 中实现类似的功能(特别是 when
子句)?
---
- include: install-redhat.yml
when: ansible_os_family == "RedHat"
- include: install-debian.yml
when: ansible_os_family == "Debian"
我必须为此使用 Jinja2 模板吗?看起来 unless
和 onlyif
只能测试 shell 命令的 return 代码。
是的,你必须为此使用 jinja。 像
{% if grains['os'] == 'Redhat' %}
include:
- install-redhat
{% endif %}
但我宁愿将状态包含在顶级文件中 例如,在 top.sls 中,您可以执行
'os:Redhat':
- match: grain
- state1_redhat
- state2_redhat
'os:FreeBSD':
- match: grain
- freebsd1
- freebsd2