SLS TEMPLATE VARIABLE REFERENCE(sls 文件模块变量详解)

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 %}
View Code

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而言则是包含文件的路径

原文地址:https://www.cnblogs.com/solitarywares/p/7638294.html