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.

Reply via email to