【发布时间】:2018-02-25 11:19:25
【问题描述】:
我正在尝试使用 Jinja2 模板和 Ansible 变量生成一些配置。我目前工作的框架不允许我在 Ansible 中执行以下操作,因此我希望在 Jinja2 中获得相同的结果。
我的 Ansible 变量如下:
---
Top:
inner:
type: type1
other_random_variable:
- random: 1
inner2:
type: type2
inner3:
type: type1
当我迭代循环并形成如下配置文件时,上述结构效果很好:
{% if Top is defined %}
{% for inner_vars in Top %}
# perform substitution here
{% endfor %}
{% endif %}
我想做的是形成一组类型,以便我可以为每个唯一类型生成另一个配置。
我有什么方法可以遍历Top 并将一个项目添加到集合中?
【问题讨论】:
-
我很确定这个问题的答案是否定的,但是,不是 100% 确定。但即使有可能,如果您构建自己的模块(在 python 中)并在其中传递
Top格式并以您想要的方式返回它,它会更好更整洁。 -
嘿,我发布了一个示例解决方案,我相信它可以解决我的问题。如果您有任何其他建议,请告诉我。谢谢!
-
确实不错。