Re: [ansible-devel] How to use dict keys as items?

2,358 views
Skip to first unread message

Matt Martz

unread,
May 19, 2015, 5:30:49 PM5/19/15
to Michael Bushey, ansible...@googlegroups.com
This is probably a better question for ansible-project since it isn't related to developing ansible.

However, to answer your question:

with_items: hosts.keys()

I would also suggest you pick a variable other than hosts, to prevent any naming collision with internal variables.

On Tue, May 19, 2015 at 4:25 PM, Michael Bushey <cor...@gmail.com> wrote:
I have a dict:

hosts:
  web01:
    int_ip: 192.168.1.1
    ext_ip: 1.2.3.4
 web02:
   int_ip: 192.168.1.2
   ext_ip: 1.2.3.5

I am using a template that I supply items to with "with_items", and I reference the data as "item". If I use "with_dict", then the template has to be duplicated and "item" changed to "item.key". In this example I would like to get a list containing web01 and web02 from the dict hosts.

I would like to do something like:
  with_items: hosts.key
  when: item[:3] == 'web'

Any ideas? Thanks!

--
You received this message because you are subscribed to the Google Groups "Ansible Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-deve...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Matt Martz
@sivel
sivel.net

Michael Bushey

unread,
May 19, 2015, 5:42:44 PM5/19/15
to ansible...@googlegroups.com, cor...@gmail.com
Thank you Matt! hosts.keys() is exactly what I was looking for. I've been using hosts as the dict name for almost a year with no known issues, but I'm going to follow your advice and rename it as soon as I get a chance, thanks for the suggestion.
Reply all
Reply to author
Forward
0 new messages