我正在尝试学习SaltStack,现在我遇到了一个问题 . 我有一个属性文件(propertyfile.properties),其值由salt柱填充 . 现在,此属性文件存在于多个目录中 . 我遇到的问题是我希望salt pillar.get函数根据当前的目录填充/呈现属性文件的值 . 为了给你更多的想法,让我们考虑这个例子:
propertyfile.property (in directory 1)
name={{ salt['pillar.get']['dir1.name'] }}
propertyfile.property (in directory 2)
name={{ salt['pillar.get']['dir2.name'] }}
#pillar
dir1.name=dir1
dir2.name=dir2
请注意,属性文件只有一个,并通过循环生成盐到多个目录,如下所示:
{% for dir in 'dir1', 'dir2' %}
propertyfile_properties_{{ dir }}:
file.managed:
- name: /home/devuser/{{ dir }}/propertyfile.properties
- source: {{ propertyfile_source }}
- source_hash: {{ propertyfile_source }}.MD5
- template: jinja
- show_diff: True
- makedirs: True
{% endfor %}
有任何想法吗?非常感激您的帮忙 . 谢谢
1 回答
您可以通过将每个目录作为上下文传递给模板来实现此目的,因为它已呈现:
请注意
context
字典内容的额外缩进 . 有时需要's an explanation of why that' here .