首页 文章

Jinja变量在map.jinja中

提问于
浏览
0

我正在尝试在map.jinja中设置动态变量,但它没有正确设置 .

我有一个软件版本,我希望能够通过谷物设置并在 Map 中选择它来动态选择目录 . 我正在使用下面的关键字版本 .

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模板标签没有呈现给版本号...

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

1 回答

  • 0

    结果我需要在状态文件中引用{}

    {%from“myapp / map.jinja”import myapp%} / etc / sudoers:file.append: - text:{%for item in myapp.sudoers.text - %} - “{}”{%endfor %}

相关问题