我正在寻找几个小时的技术来写一个盐状态需要要求1 或要求2 。
这就是我想用cmd.run做的事情,例如:
Run myscript:
cmd.run:
- name: /path/to/myscript
- require:
- pkgs: pkg1|pkg2
- cwd: /
这意味着如果满足安装包 pkg1 的状态或安装 pkg2 的状态,脚本my_script将被执行。
这可以用盐完成吗?如果是这样的话?
我知道我可以直接在我的脚本中完成所有检查,但我想知道 salt requisites 是否可以巧妙地做到这一点。
感谢。
答案 0 :(得分:1)
Salt状态不支持分支if
/ else
/ while
/等。状态文件被转换为描述静态依赖关系树的数据。渲染完成后,按顺序执行。
进行某种分支的唯一方法是使用unless
/ onlyif
个关键字。但它们只适用于特定的状态类型和不接受状态ID(AFAIK,它们只接受可执行的shell命令)。请参阅:http://docs.saltstack.com/en/latest/ref/states/requisites.html#unless