Установите условный cmd.run на основе file.managed в SaltStack - PullRequest
0 голосов
/ 20 марта 2019

У меня есть файл состояния SaltStack (sls), для которого определено довольно простое состояние.

MyStateRule:
  file.managed:
    - source: salt://scripts/rule.ps1
    - name: 'c:\scripts\rule.ps1'
  cmd.run:
    - name: powershell c:\scripts\rule.ps1
    - require:
      - file: MyStateRule

Когда я запускаю команду state.apply , cmd.run , кажется, выполняется каждый раз, что, как я вижу, имеет смысл.Я хочу запускать только тогда, когда управляемый файл необходимо скопировать в миньон.Могу ли я использовать file.managed в этом случае?Что мне нужно изменить, чтобы скрипт запускался только при копировании файла?

1 Ответ

1 голос
/ 20 марта 2019

Понял - вместо использования "require" используйте onchanges:

cmd.run:
  - name: powershell c:\scripts\rule.ps1
  - onchanges:
    - file: MyStateRule
...