SLS TEMPLATE VARIABLE REFERENCE
sls文件中的模板变量,可用于SLS文件和文件模板的模板引擎装载了大量的上下文变量。这些变量包含的信息和功能来辅助生成的模板。请查看下面每个变量的可用性——并非所有变量都在所有模板上下文中可用。
SALT
salt命令,可以在所有salt模板中使用,这个变量作为所有函数组成的字典里面的键形式调用
示例:
1 {% for file in salt['cmd.run']('ls -1 /opt/to_remove').splitlines() %} 2 /opt/to_remove/{{ file }}: 3 file.absent 4 {% endfor %}
OPTS
opts变量,被存放在minion端的配置文件中,在所有模板中有效,可以使用config.get函数来获取opts变量字典,该变量包含的内容很多,如grains,pillar等
{{ opts['cachedir'] }}
PILLAR
pillar变量字典直接可以在模板中被使用,所有模板均有效,也可以通过pillar.get函数来获取,这样更安全(可以设置默认值)
{{ pillar['key'] }}
{{ salt['pillar.get']('key', 'failover_value') }}
{{ salt['pillar.get']('stuff:more:deeper') }}
GRAINS
可是直接使用字典引用,或者使用grains.get函数获取,对于所有模板有效
{{ grains['os'] }}
{{ salt['grains.get']('os') }}
SALTENV
仅在sls文件中从某一环境搜集sls文件时使用,通常用于top sls文件中
{{ saltenv }}
SLS
sls变量包含sls引用值,仅在实际的sls文件中获取,通常被用于在top.sls文件中包含sls文件或包含的路径选项
SLSPATH
slspath变量包含当前sls文件的路径,对于jinja模板而言值为当前文件的路径,对于salt include而言则是包含文件的路径