Я пытаюсь установить динамическую переменную в map.jinja, но она настроена неправильно.
У меня есть версия программного обеспечения, которую я хочу установить через зерно и подобрать ее на карте для динамического выбора каталогов. Я использую версию ключевого слова, как показано ниже.
карта.джиндзя
{% set version = grains.get('version', '') %}
{% set myapp = salt['grains.filter_by']({
'RedHat': {
'sudoers': {
'name': '/etc/sudoers',
'text':['appuser ALL=(root) NOPASSWD: /bin/sh /usr/opt/HTTP{{ version }}/bin/apachectl'],
},
},
}, merge=salt['pillar.get']('myapp:lookup')) %}
И в результате только включенный тег шаблона jinja не отображается в номере версии...
соль '10.0.1.15' state.show_sls myapp
/etc/sudoers:
----------
__env__:
base
__sls__:
myapp.accounts
file:
|_
----------
text:
|_
----------
appuser ALL=(root) NOPASSWD: /bin/sh /usr/opt/HTTP{{ version }}/bin/apachectl
Обратите внимание на отсутствие изменений в строке.... она не отображается
Моя строка импорта:
{% from "myapp/map.jinja" import myapp %}
/etc/sudoers:
file.append:
- text:
{% for item in myapp.sudoers.text -%}
- {{ item }}
{% endfor %}