I have the following structure:
"a": {
> "v1": 1,
> "v2": "A"
> }
> "b": {
> "v1": 2,
> "v2": "B"
> }
>
It is read from an external json source using:
> - set_fact: envs="{{ external.stdout | from_json }}"
>
>
I can loop/iterate over it only by using with_dict:
- debug: msg="Item is {{ item.key }} with value {{ item.value.v1}} and{{
item.value.v2}}"
> with_dict: envs
>
>
but if I try anything else it throws exception:
AttributeError: 'unicode' object has no attribute 'items'
>
I tried the following:
> - set_fact: envs_list="{{ envs | dictsort }}"
>
>
and:
> - debug: var=item
> with_items: envs.items()
>
>
and inside template:
> {% for env in envs|dictsort %}
>
>
and:
> {% for env, setting in envs.iteritems() %}
>
>
...with the same result.
I would need to use that structure inside a template...
I'm using ansible 1.9.1 on CentOS 6
Any idea how to solve that?
--
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/df89ec91-02aa-4db0-b3a0-d56b61f96561%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.