python - jinja2 nested variables -
i learning jinja2 , unsure on how address variables correct way:
here variables in yaml:
--- hosts: app201.acme.com: {eth0: {ip: 46.0.0.1, netmask: 255.255.255.255}} graphite.acme.com: {eth0: {ip: 46.0.0.2, netmask: 255.255.255.255}, eth0.1: {ip: 10.2.90.1, netmask: 255.255.255.255}} and here jinja2 template:
{{ fqdn }} {% interface in hosts[fqdn] %} {{ interface }} {{ hosts[fqdn].interface.ip }} << doesn't work {{ hosts[fqdn].{{ interface }}.ip }} << doesn't work {{ interface.ip }} << doesn't work {% endfor %} so output looks since can't access second dimension of yaml hash.
graphite.acme.com eth0.1
eth0
the variable hosts dict. correct way access values in dict use [] operator.
{{ fqdn }} {% interface in hosts[fqdn] %} {{ interface }} {{ hosts[fqdn][interface]['ip'] }} {% endfor %} . operator used access attribute of object.
Comments
Post a Comment