我正在尝试在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')) %}
结果只是包含的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 %}
答案 0 :(得分:0)
结果我需要在状态文件
中引用{{item}}{%from" myapp / map.jinja" import myapp%} / etc / sudoers:file.append: - text:{%for item in myapp.sudoers.text - %} - ' {{item}}' {%endfor%}