SaltStack SLS Template Variable Reference - SLS模板变量使用参考

原文链接: https://docs.saltstack.com/en/latest/ref/states/vars.html

可用于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 }}

猜你喜欢

转载自blog.csdn.net/watermelonbig/article/details/102492603