Saltstack 状态定义中空括号的用途?
Purpose of empty brackets in Saltstack state definitions?
SaltStack 状态定义后的空括号有什么用?
例如,somewhere in SaltStack documentation您会看到:
vim:
pkg.installed: []
然而强制执行,例如vim
安装也可以这样表达:
vim:
pkg.installed
.. 事实上,elsewhere in SaltStack documentation 是流行的格式。那么空括号是什么意思呢?明确说明该语句没有其他参数?
对您的问题的简短回答是:是的。他们只是明确声明 pkg.installed
.
没有附加参数
长答案:
Salt .sls 格式基本上是一个顶部带有 Jinja 模板的 YAML。这意味着配置中的每个项目都是一个序列或一个集合。在您的示例中 pkg.installed
有许多可选参数,可以作为一系列集合提供(将其视为其他编程语言中的字典数组)。例如,您可以像这样修复 vim
版本:
vim:
pkg.installed:
- version: 1.0
YAML 允许使用两种语法来记录序列和集合。上面描述的也可以写成:
vim:
pkg.installed: [{version: 1.0}]
在您的示例中,pkg.installed
没有提供任何附加参数,并且用空方括号明确显示。
SaltStack 状态定义后的空括号有什么用?
例如,somewhere in SaltStack documentation您会看到:
vim:
pkg.installed: []
然而强制执行,例如vim
安装也可以这样表达:
vim:
pkg.installed
.. 事实上,elsewhere in SaltStack documentation 是流行的格式。那么空括号是什么意思呢?明确说明该语句没有其他参数?
对您的问题的简短回答是:是的。他们只是明确声明 pkg.installed
.
长答案:
Salt .sls 格式基本上是一个顶部带有 Jinja 模板的 YAML。这意味着配置中的每个项目都是一个序列或一个集合。在您的示例中 pkg.installed
有许多可选参数,可以作为一系列集合提供(将其视为其他编程语言中的字典数组)。例如,您可以像这样修复 vim
版本:
vim:
pkg.installed:
- version: 1.0
YAML 允许使用两种语法来记录序列和集合。上面描述的也可以写成:
vim:
pkg.installed: [{version: 1.0}]
在您的示例中,pkg.installed
没有提供任何附加参数,并且用空方括号明确显示。