Доступ к вложенному YAML с разными ключами с помощью jinja2 - PullRequest
0 голосов
/ 03 июля 2019

Сбой при рендеринге шаблона jinja с неоднородным вложенным отображением словаря. Ошибка всегда связана с 'dict object', не имеет атрибута <'some key'>.

{% 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

Есть ли способ заставить его работать с неравномерным отображением словаря?

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Сообщение об ошибке

"msg": "AnsibleError: ошибка шаблона при шаблонной строке: неожиданно ']'

является результатом несбалансированных скобок

-A INPUT -d {{ INPUT[rules].dest] }}
0 голосов
/ 03 июля 2019

вы пытались использовать iptables модуль?

...