2014-11-13 3 views
0

Я пытаюсь установить динамическую переменную в map.jinja, но она не настроена правильно.Переменные Jinja в map.jinja

У меня есть версия программного обеспечения. Я хочу иметь возможность установить зерно и забрать его на карте, чтобы динамически выбирать каталоги. Я использую версию ключевого слова, как показано ниже.

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')) %} 

И результат просто шаблон дзиндзя тег включены не отображается номер версии ...

соль state.show_sls '10 .0.1.15' 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 %} 

ответ

0

Оказывается, мне нужно процитировать {{пункт}} в файле состояния

{% от "MyApp/map.jinja" импорт MYAPP%}/и т.д./sudoers: файл. append: - текст: {% для элемента в myapp.sudoers.text -%} - '{{item}}' {% endfor%}

Смежные вопросы