Salt和Jinja变量

时间:2018-09-27 16:29:15

标签: jinja2 salt-stack

我想在我的状态下使用变量作为参数

我在map.jinja中很有价值:

'package_9.6': '3.7.5-1',

我声明了处于状态的变量:

{% set package_version = '9.6' %}

然后我在其中添加了字符串:

{% set something = "my_package.package_" ~ package_version %}

并希望在我的状态下使用所有这些

{% from "somewhere/map.jinja" import my_package with context %}
      pkg.installed:
        - pkgs:
          - my_package: {{ something }}

在完美的宇宙中,我想将变量的值解析为map.jinja(3.7.5-1)中的值。但是我得到了 my_package.package_9.6 字符串。

也许满足我的需求是完全错误的方式,但是经过一些实验,我才选择了此选项。

1 个答案:

答案 0 :(得分:0)

使用变量之前,您需要在状态文件中导入map.jinja文件。

{% from "path-to-map" import map with context %}

在您的map.jinja文件中,变量应声明为

{% set package_9.6 = '3.7.5-1' %}

然后您可以使用,在状态文件中访问它,

{% set something = "my_package.package_" + map.package_9.6 %}