使用Jinja2访问带有不同键的嵌套YAML



使用非均匀嵌套词典映射渲染Jinja模板正在失败。错误始终与" dict对象"有关,没有属性<'一些键'>。

{% for rule in INPUT %}
   {{ rule }}
   {{ INPUT[rule].target }}
{% endfor %}
INPUT:
   rule1:
     src: 1.1.1.1
     target: ACCEPT
   rule2:
     inintf: eth0
FORWARD:
   rule4:
     outintf: br-6b
FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'target'"}

如果yaml文件如下,则可以正常工作。

INPUT:
   rule1:
     src: 1.1.1.1
     target: ACCEPT
   rule2:
     inintf: eth0
     target: ACCEPT
FORWARD:
   rule4:
     target: DOCKERN
     outintf: br-6b

有什么方法可以使其与不均匀的词典映射使用?

错误消息

" msg":" ansibleError:模板string时的模板错误:出乎意料的']'

是不平衡括号的结果

-A INPUT -d {{ INPUT[rules].dest] }}

您是否尝试使用iptables模块?

最新更新