file.managed salt 状态中的默认值和上下文选项有什么区别



状态file.managed具有用于模板渲染的defaultscontext选项。两者都为模板变量提供上下文。它们之间有什么区别?

>defaults是回退默认值,如果模板没有正确的值context则会传递给模板。如果context有一个值 - 它将覆盖default。例如:

/etc/myconfig.cfg:
   - file.managed:
     - source: salt://myconfig.tmpl
     - template: jinja
     - defaults:
       foo: bar
     - context:
       foo: baz

在这种情况下,foo 的值将始终baz 。通常,当您需要条件值时,会使用context。例如:

/etc/myconfig.cfg:
   - file.managed:
     - source: salt://myconfig.tmpl
     - template: jinja
     - defaults:
       foo: bar
     {% if salt[grains.get]("os") == 'Debian' %}
     - context:
       foo: baz
     {% endif %}

在这种情况下,每个非 Debian 系统最终都会有价值bar,而 Debian 会在模板中baz

相关内容

  • 没有找到相关文章

最新更新