在 SaltStack 中根据 file.managed 设置条件 cmd.run
Set up a conditional cmd.run based on file.managed in SaltStack
我有一个 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似乎每时间,我认为这是有道理的。当需要将托管文件复制到 minion 时,我想要的只是 运行。在那种情况下我可以使用 file.managed 吗?我需要更改什么,以便在复制文件时脚本仅 运行s?
知道了 -- 而不是使用 "require," 使用 onchanges:
cmd.run:
- name: powershell c:\scripts\rule.ps1
- onchanges:
- file: MyStateRule
我有一个 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似乎每时间,我认为这是有道理的。当需要将托管文件复制到 minion 时,我想要的只是 运行。在那种情况下我可以使用 file.managed 吗?我需要更改什么,以便在复制文件时脚本仅 运行s?
知道了 -- 而不是使用 "require," 使用 onchanges:
cmd.run:
- name: powershell c:\scripts\rule.ps1
- onchanges:
- file: MyStateRule