Требуется тот или иной штат с солью

Я ищу несколько часов техники для написания состояния соли, для которого требуется требование1 или требование2.

Вот что я хотел бы сделать с cmd.run, например:

Run myscript:
  cmd.run:
    - name: /path/to/myscript
    - require: 
      - pkgs: pkg1|pkg2
    - cwd: /

Это означает, что сценарий my_script будет выполнен, если выполняется состояние установки пакета pkg1 или состояние установки pkg2.

Может ли это быть действительно сделано с солью? Если так, как?

Я знаю, что могу сделать все свои проверки в моем сценарии напрямую, но я хотел знать, могут ли солевые реквизиты сделать это умно.

Благодарю.

1 ответ

Решение

Соляные государства не поддерживают ветвление if/else/whileи т. д. Файл состояний отображается в данных, которые описывают статические деревья зависимостей. После визуализации выполнение выполняется по порядку.

Единственный способ сделать какое-то разветвление - это использовать unless/onlyif ключевые слова. Но они работают только с определенными типами состояний и не принимают идентификаторы состояний (AFAIK, они принимают только исполняемые команды оболочки). Смотрите: http://docs.saltstack.com/en/latest/ref/states/requisites.html

Другие вопросы по тегам