我目前熟悉盐,并想知道如何重新使用.sls
文件中其他地方(部分)的支柱值。
在buildout
中,我可以使用${sectionname:varname}
引用另一个部分中的变量来重新使用一次定义的值。在处理目录(basedir,appdir)时,这尤其方便。 buildout
示例:
['foo']
path = /highway/to/hell
['bar']
path = ${foo:path}/lastexit
当我尝试在.sls
文件中引用另一个变量时,即使它在同一个文件中,我总是None
。 salt
示例:
foo:
path: /highway/to/hell
bar:
path: {{ salt['pillar.get']('foo:path') }}/lastexit
salt-ssh minion1 pillar.get bar:path
会产生None/lastexit
我有种感觉,我在这里遗漏了一些东西。有人可以指出,如何重复使用盐.sls
答案 0 :(得分:1)
您可以使用jinja分配值,例如:
{% set base_path = salt['pillar.get']('foo:path','/highway/to/hell') %}
foo:
path: {{ base_path }}
bar:
path: {{ base_path }}/lastexit
在这种情况下" / highway / to / hell"如果没有在支柱中分配值或没有找到支柱,则将其设置为默认值。有关详细信息,请参阅https://docs.saltstack.com/en/latest/topics/jinja/index.html