如何防止Ansible/Jinja2对我的配置进行随机排序
我有我的Ansible配置我有类似的设置如何防止Ansible/Jinja2对我的配置进行随机排序,ansible,jinja2,Ansible,Jinja2,我有我的Ansible配置我有类似的设置 my_config: item1: var1: something var2: somethingelse item2: var1: something var2: somethingelse item2: var1: something var2: somethingelse {% for itm in my_config %} var1: {{ my_config[itm]['var1
my_config:
item1:
var1: something
var2: somethingelse
item2:
var1: something
var2: somethingelse
item2:
var1: something
var2: somethingelse
{% for itm in my_config %}
var1: {{ my_config[itm]['var1']}}
{% endfo %}
在模板文件中,我有一些类似于
my_config:
item1:
var1: something
var2: somethingelse
item2:
var1: something
var2: somethingelse
item2:
var1: something
var2: somethingelse
{% for itm in my_config %}
var1: {{ my_config[itm]['var1']}}
{% endfo %}
现在我注意到Ansible或Jinja2并没有保留我“物品”的顺序。我希望item1
出现在item2
之前,但事实证明,Ansible或Jinja2会对项目执行一些随机排序
如何按照配置文件的顺序呈现模板文件?没有随机排序
是否可以按例如
var1
value进行排序?如何排序?根据Python的版本(Ansible是用Python编写的),字典键是否排序。因此,您不能依赖于键的顺序,而只需要创建一个列表(按设计顺序排列):
然后在金贾:
{% for item in my_config %}
var1: {{ item['var1'] }}
{% endfor %}