Jinja can't access to a dictionnary containing var

43 views
Skip to first unread message

Pierre Mavro

unread,
Nov 9, 2015, 4:29:16 PM11/9/15
to Ansible Project
Hi,

I've got a dictionary which looks like this:

    "var": {
       
"nm_java_apps_params": {
           
"nm-core": {
               
"dest_folder": '/tmp/test'
               
"port": 9487,
               
"start_options": " -Xmx16G -XX:+UseG1GC -XX:+UseStringDeduplication",
               
"version": "latest"
           
},
           
"nm-staticmaps": {
                "dest_folder": '/tmp/test'
               
"port": 9462,
               
"start_options": "",
               
"war_name": "latest.war"
           
}
       
}
   
}

In a role, I can access data like this:

{{ nm_java_apps_params['{{my_var}}']['dest_folder'] }}


However, when I'm trying in Jinja with the same way, I've got:

{'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'dict object' has no attribute '{{my_var}}'", 'failed': True}

Any idea of what I missed here ?

Thanks in advance

Matt Martz

unread,
Nov 9, 2015, 4:50:24 PM11/9/15
to ansible...@googlegroups.com
You should not nest jinja2 print statements.  Instead you can just use raw vars once you are inside of {{ }}

Such as:

{{ nm_java_apps_params[my_var]['dest_folder'] }}

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/b75377f2-56d5-4e5e-8152-940c673760bc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Matt Martz
@sivel
sivel.net

Pierre Mavro

unread,
Nov 10, 2015, 2:30:55 AM11/10/15
to Ansible Project
Hi,

Thanks, I think I was too tired to see that stupid mistake.

Thanks a lot !
Reply all
Reply to author
Forward
0 new messages