ansible jinja2 - 如何在其他 "for statement" 中使用 "loop range" 输出

ansible jinja2 - how to use "loop range" output in other "for statement"

我想在下一个 for 语句中使用 n 个值,我希望输出为 router_0、router_1。但是 router_[n]、router_{{ n }}、router_(n) 等任何选项都不起作用。我们该怎么做?

{% for n in range(0, 2) %}
 {% for rtr in web.router_[n] %}
  {% if rtr.interface.type == 'lacp' %}
  interface Port-Channel{{ rtr.interface.id }}
 .
  {% endif %}
 {% endfor %}
{% endfor %}

在vars.yaml中,有配对路由器的变量,router_0和router_1。我想同时为两个路由器生成配置模板。

谢谢,

连接属性的名称

{% for rtr in web['router_' ~ n] %}