可用於sls文件和文件模板的模板引擎加載了許多上下文變量。 這些變量包含幫助模板生成的信息和功能。 請參見下面的每個變量以瞭解其可用性–並非所有變量在所有模板環境中都可用。
您也可以參考在Github上維護的這一份技術資料:SLS Template Variable Reference
Salt
salt
變量用於抽象salt庫函數。 此變量是python字典,其中包含運行中的Salt Minion可用的所有功能函數。 在所有salt模板中均可用。
{% for file in salt['cmd.run']('ls -1 /opt/to_remove').splitlines() %}
/opt/to_remove/{{ file }}:
file.absent
{% endfor %}
Opts
opts
變量將minion的配置文件的內容直接抽象到模板中。 opts
變量是字典。 在所有模板中均可用。
{{ opts['cachedir'] }}
config.get
函數也是在opts
詞典中搜索值。
Pillar
pillar
字典可以直接引用,並且在所有模板中可用:
{{ pillar['key'] }}
通常建議通過salt
變量調用pillar.get
函數,因爲這可以在沒有值的情況下安全地設置一個默認值,並且可以直接遍歷字典:
{{ salt['pillar.get']('key', 'failover_value') }}
{{ salt['pillar.get']('stuff:more:deeper') }}
Grains
grains
字典使minions的grains直接可用,並且在所有模板中可用:
{{ grains['os'] }}
grains.get
函數可用於遍歷更深的grains並設置默認值:
{{ salt['grains.get']('os') }}
saltenv
從環境收集sls時,saltenv
變量僅在sls文件中可用。
{{ saltenv }}
sls
sls
變量包含sls參考值,並且僅在實際的SLS文件中可用(在該SLS中引用的任何文件中均不可用)。 sls參考值是用於在top file文件中或通過include選項將sls包括在內的值。
{{ sls }}
slspath
slspath
變量包含當前sls文件的路徑。 當前sls中引用的文件中slspath的值取決於引用方法。 對於jinja includes,slspath是當前文件的路徑。 對於salt includes,slspath是包含文件的路徑。
{{ slspath }}