Accessing a dictionary item using a variable

30 views
Skip to first unread message

Spiro Mitsialis

unread,
Dec 13, 2019, 10:29:35 AM12/13/19
to Ansible Project
I would like to access data in a dictionary by referencing a variable.  I have the following dict:

"vlan_list": {
   
"1": {
     
"id": "1",
     
"name": "Management",
     
"status": "active"
   
},
   
"2": {
     
"id": "2",
     
"name": "VLAN 2",
     
"status": "active"
   
},
   
"3": {
     
"id": "3",
     
"name": "VLAN 3",
     
"status": "active"
   
}
}

I also have a variable:
vlan: 2


I'd like to do:
- debug:
     var: vlan_list[vlan]

This does not work?  How can I user the variable "vlan" to get what is the info for VLAN 2 in the dict vlan_list?



Thanks

Matt Martz

unread,
Dec 13, 2019, 10:33:43 AM12/13/19
to ansible...@googlegroups.com
Your `vlan_list` is keyed with strings, not integers.  So you would either need to set `vlan: "2"` so that `vlan` is a string, or use `vlan_list[vlan|string]` in your debug.

--
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 view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/b75a64bd-c0d5-4aab-b190-51eb662975df%40googlegroups.com.


--
Matt Martz
@sivel
sivel.net

Spiro Mitsialis

unread,
Dec 13, 2019, 10:49:22 AM12/13/19
to Ansible Project
Thanks Matt,

That worked.  I also found the following works (by trial and error)

vlan_list["{{ vlan }}"]
Reply all
Reply to author
Forward
0 new messages