Thanks, I think I need to reconsider my data structure. I need to be able to iterate over applications in a group in some situations but also key in by application name in others
I'll have a think. Thanks On Tuesday, 4 November 2014 16:59:45 UTC, Matt Martz wrote: > > In your example, `apps.admin` actually contains a list of dictionaries. > So accessing it would be: `apps.admin[0].service`. > > On Tue, Nov 4, 2014 at 10:55 AM, James Morgan <[email protected] > <javascript:>> wrote: > >> Hi, >> >> I need to store information about applications in a variable data >> structure and access it via key. >> >> If I store the information as follows I can access using *with_items* >> >> >> - hosts: localhost >> connection: local >> vars: >> apps: >> admin: >> - service: admin >> handler: /admin >> port: 1200 >> .... >> rpt: >> - service: rpt >> handler: /rpt >> port: 1234 >> .... >> tasks: >> - debug: >> msg: "{{ item.service }} = {{ item.port }}" >> with_items: apps.admin >> >> TASK: [debug ] >> **************************************************************** >> ok: [localhost] => (item={'handler': '/admin', 'port': 1200, 'service': >> 'admin'}) => { >> "item": { >> "handler": "/admin", >> "port": 1200, >> "service": "admin" >> }, >> "msg": "admin = 1200" >> } >> >> How can I access one of the nested variables directly keying on >> application. The following won't work. >> >> - debug: >> msg: "{{ apps.admin.service }}" >> >> TASK: [debug ] >> **************************************************************** >> fatal: [localhost] => One or more undefined variables: 'list' object has >> no attribute 'service' >> >> I can't use *with_items* as I need to call lots of roles. I don't want >> to pass the information directly to the roles as variables as I want to >> have it defined in one place and it needs to be used in multiple places. >> >> I.e application configuration and apache virtual host definitions. >> >> Any help most appreciated. >> >> I'm happy to change the structure. All I need to do is store an amount of >> information keyed by application >> >> Thanks >> >> James >> >> >> -- >> 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 [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/994092cb-1890-4268-a3e5-1bc7ae7558f2%40googlegroups.com >> >> <https://groups.google.com/d/msgid/ansible-project/994092cb-1890-4268-a3e5-1bc7ae7558f2%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Matt Martz > @sivel > sivel.net > -- 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 [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/6ca4c97e-b1bc-4350-b1c0-50bb14f13e61%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
