【问题标题】:Set up a conditional cmd.run based on file.managed in SaltStack根据 SaltStack 中的 file.managed 设置条件 cmd.run
【发布时间】:2019-03-20 18:02:10
【问题描述】:

我有一个 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 吗?我需要更改什么,以便脚本仅在文件被复制时运行?

【问题讨论】:

    标签: salt-stack


    【解决方案1】:

    知道了——不要使用“require”,而是使用 onchanges:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多