对于下面给出的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命令的返回码。
答案 0 :(得分:1)
是的,您必须为此使用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