Что эквивалентно предложению Ansible «когда» в SaltStack? - PullRequest
0 голосов
/ 15 мая 2019

Для приведенного ниже Ansible кода, как я могу реализовать аналогичную функциональность в SaltStack (в частности, предложение when)?

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

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

Нужно ли для этого использовать шаблоны Jinja2? Похоже, что unless и onlyif могут тестировать только коды возврата команд оболочки.

1 Ответ

2 голосов
/ 23 мая 2019

Да, для этого вы должны использовать дзиндзя. Что-то вроде

{% if grains['os'] == 'Redhat' %}
include:
  - install-redhat
{% endif %}

Но я бы лучше включил состояния в верхний файл например, в top.sls вы можете сделать

'os:Redhat':
  - match: grain
  - state1_redhat
  - state2_redhat

'os:FreeBSD':
  - match: grain
  - freebsd1
  - freebsd2

...