Really? Is that my only option, actual separate YAML files with a
"subroutine" in each one?

That's pretty yuck :-(

But thanks for the hint. I'll give it a go.

BTW this would be a solved problem if blocks could be executed with_items;
that plus local variables as per 2.8...

Regards, K.


On Thu, Dec 6, 2018 at 7:33 PM Kai Stian Olstad <
[email protected]> wrote:

> On 05.12.2018 23:29, Karl Auer wrote:
> > I am trying to process a nested data structure and can't find a
> > suitable
> > syntax to let me do it. Ansible only seems to allow one level of
> > looping,
> > or two with sub-elements.
> >
> > Given a data structure like this:
> >
> >      vars:
> >         vpcs:
> >             name: blah
> >             cidr: 10.10.0.0/19
> >             tiers:
> >                 - name: tier1
> >                   subnets:
> >                      - name: subnet1
> >                        cidr: 10.10.10.0/24
> >                      [... more subnets ...]
> >                 [... more tiers ...]
> >             [... more VPCs ...]
> >
> > ... how do I do the equivalent of:
> >
> >    for each VPC
> >               for each tier
> >         for each subnet
> >            create subnet
> >
> > I.e., three nested levels?
> >
> > I don't have to do it this way; I can flatten the data structures, but
> > the
> > data structure is naturally nested, so it would be nice to be able to
> > use
> > it in that form.
>
> I guess vpcs is also a list, you just forgot the dash?
> If so you can go "old" school and user include_tasks with with_items
> that support many nested levels.
>
>
> vpcs.yml
> ---
> - include_tasks: tires.yml
>    with_items: '{{ vpcs }}'
>
> tires.yml
> ---
> - include_tasks: subnets.yml
>    with_items: '{{ item.tiers }}'
>
> subnets.yml
> ---
> - name: task
>    .....
>
> --
> Kai Stian Olstad
>
> --
> 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/b53125acbbcbd3140f9cd5bdded4ceb3%40olstad.com
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Karl Auer

Email  : [email protected]
Website: http://2pisoftware.com

GPG/PGP : 958A 2647 6C44 D376 3D63 86A5 FFB2 20BC 0257 5816
Previous: F0AB 6C70 A49D 1927 6E05 81E7 AD95 268F 2AB6 40EA

-- 
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/CA%2B%2BT08TTPoRwnyE4NSmAEjM0ozW8M%2B_fW4tLvBWXRJ3WnT%2B6dA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to