我可以在一个j2行中使用多个变量吗?

时间:2019-08-15 20:03:35

标签: ansible jinja2

当我向j2模板添加第二个变量时,我的Ansible剧本失败。 我正在尝试为Cisco路由器中的静态路由语句编写代码。 如果我的j2行看起来像这样:

{% for vrf in json_data['vrf_routes'] %}
ip route {{  vrf.prefix  }}
{% endfor %}

剧本有效。如果我将需要的其余部分添加到该行中:     ip route {{vrf.prefix}} {{vrf.next-hop}}名称{{vrf.name}}

剧本失败。这是在一条j2行中处理多个变量的正确语法吗?

1 个答案:

答案 0 :(得分:1)

问题是next-hop中的连字符..被解释为减号运算符。

尝试以下方法:

{% for vrf in json_data['vrf_routes'] %}
{{ vrf.prefix }} {{ vrf["next-hop"] }} name {{ vrf.name }}
{% endfor %}