Found the answer luckily by searching the groups.

Documented here if someone stumbles on the same thing (no need for
with_items):

subnets: "{{ vpc.subnets | map(attribute='id') | list}}"

On 25 September 2014 11:36, Timo Ahokas <[email protected]> wrote:

> Hi,
>
> I'm trying to use the rds_subnet_group module to create a subnet group
> with all the subnets defined in my VPC, but I'm having trouble finding a
> way of using the subnet ids from a registered vpc variable.
>
> So, first I create a VPC & register the response:
>
>   - name: Create VPC
>     local_action:
>       module: ec2_vpc
>       state: present
>       subnets: ...
>       route_tables: ...
>     register: vpc
>
> This works well and the result looks like:
>
> TASK: [debug var=vpc]
> *********************************************************
> ok: [localhost] => {
>     "vpc": {
>         "changed": true,
>         "invocation": {
>             "module_args": "",
>             "module_name": "ec2_vpc"
>         },
>         "subnets": [
>             {
>                 "az": "eu-west-11",
>                 "cidr": "10.55.81.0/24",
>                 "id": "subnet-d1d21ea6",
>                 "resource_tags": {
>                     "Environment": "test",
>                     "Name": "test_euw1a_app",
>                 }
>             },
>             { ... } ] }
>
> Now I'd like to use the subnet ids (subnets.id) in this response when
> creating a RDS subnet with all of them attached:
>
>   - name: Create DB subnet group
>     local_action:
>       module: rds_subnet_group
>       state: present
>       name: "rds-sg"
>       description: "rds-sg"
>       subnets:
>         - "{{ item.id }}"
>     with_items: vpc.subnets
>
> The problem is that if I have the with_item on the same level of
> local_action it seems to make N calls to rds_subnet_group (each with one of
> the ids) with fail with:
> msg: DB Subnet Group doesn't meet availability zone coverage requirement.
> Please add subnets to cover at least 2 availability zones. Current
> coverage: 1
>
> So I'd like to add all the subnets in one go (single call with all subnet
> ids defined for the "subnets" parameter). With_items doesn't seem to work
> when it's nested on the same level with the other params (subnets/state) -
> instead I get the error:
> fatal: [localhost -> 127.0.0.1] => One or more undefined variables: 'item'
> is undefined
>
> What would be the best way to use all the vpc.subnets.id values in a list
> and supply those to rds_subnet_group.subnets in one go?
>
> Best regards,
> Timo
>
>
>  --
> 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/5a4543b8-d054-4c14-99a6-965ffb41d582%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/5a4543b8-d054-4c14-99a6-965ffb41d582%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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/CACwRk3_MLr_2GrEYq8%2BEBThmvnAuhx1zCgxPJ-mjcY5fQt%2BP7g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to