Saltstack状态定义中空括号的用途?

时间:2017-02-03 07:47:45

标签: salt-stack configuration-management

SaltStack状态定义后空括号的目的是什么?

例如,somewhere in SaltStack documentation您会看到:

xxx

然而,执行vim: pkg.installed: [] 安装也可以这样表达:

vim

..实际上,elsewhere in SaltStack documentation是主流格式。那么空括号表示什么呢?明确说明该语句没有其他参数?

1 个答案:

答案 0 :(得分:8)

你的问题的简短回答是:是的。他们只是明确声明pkg.installed没有其他参数。

答案很长: Salt .sls格式基本上是一个带有Jinja模板的YAML。这意味着配置中的每个项目都是序列或集合。在您的示例中,pkg.installed具有多个可选参数,可以作为一系列集合提供(将其视为其他编程语言中的dicts数组)。例如,您可以将vim版本修改为:

vim:
  pkg.installed:
    - version: 1.0

YAML允许使用两种语法来写下序列和集合。上面描述的那个也可以写成:

vim:
  pkg.installed: [{version: 1.0}]

在您的示例中,pkg.installed没有提供任何其他参数,并且使用空方括号显式显示。