Переменные соли и дзиндзя - PullRequest
       14

Переменные соли и дзиндзя

0 голосов
/ 27 сентября 2018

Я хочу использовать переменную в качестве параметра в моем состоянии:

У меня есть значение в 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 string.

Возможно, это совершенно неправильный способ удовлетворения моих потребностей, но после некоторых экспериментов я попал в эту опцию.

1 Ответ

0 голосов
/ 28 сентября 2018

Вам необходимо импортировать файл 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 %}
...