在SaltStack中,Ansible的“何时”计算是什么意思?

时间:2019-05-15 11:53:59

标签: ansible migration salt-stack

对于下面给出的Ansible代码,如何在SaltStack中实现类似的功能(特别是when子句)?

---
- include: install-redhat.yml
  when: ansible_os_family == "RedHat"

- include: install-debian.yml
  when: ansible_os_family == "Debian"

我必须为此使用Jinja2模板吗?看来unlessonlyif只能测试shell命令的返回码。

1 个答案:

答案 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