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

Vil*_*lle 2 configuration-management salt-stack

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

例如,在SaltStack文档中的某处你会看到:

vim:
  pkg.installed: []
Run Code Online (Sandbox Code Playgroud)

然而,例如,执行vim安装也可以这样表达:

vim:
  pkg.installed
Run Code Online (Sandbox Code Playgroud)

..实际上,SaltStack文档中的其他地方是主流格式.那么空括号表示什么呢?明确声明该语句没有其他参数?

ale*_*exK 8

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

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

vim:
  pkg.installed:
    - version: 1.0
Run Code Online (Sandbox Code Playgroud)

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

vim:
  pkg.installed: [{version: 1.0}]
Run Code Online (Sandbox Code Playgroud)

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