You can write a small filter plugin that gives you the items of dicts 
(something that simply returns an `item.values()` or something like that). 
Then you could do:

vars:
    # Will create a list of inner dict values inside a list of parent 
dict's values
   - firmware_items: "{{ firmware.values() | map('get_dict_values') | list 
}}"
tasks:
   - debug: var=item.url
     with_flattened: firmware_items


Alternatively, I wrote a lookup plugin that allows you do chain lookups and 
make them iterate on each other. Then you can do this:

tasks:
   - debug: item.values.url
     with_recursive:
       - { name: dict, args: firmware }
       - { name: dict, args: "{{item.values}}" }

Lookup plugin is here: https://gist.github.com/hkariti/d07695b4b9c5a68d8c02


On Wednesday, June 24, 2015 at 10:37:52 PM UTC+3, Hank Beatty wrote:
>
> Hello, 
>
> Given the data below I would like to create a single task that will 
> print the url or the filename without having to specify the hardware 
> (PowerEdge_xxxxx) or the firmware (bios, idrac, etc.). 
>
> Any ideas would be very much appreciated. 
>
> Thanks, 
> Hank 
>
> Something like: 
>
>    - name: Print firmfware info 
>      debug: msg="item0 {{ item.0 }} item1 {{ item.1.url }}" 
>      with_indexed_items: "{{firmware}}" 
>
> OR: 
>
>    - name: Print firmfware info 
>      debug: msg="item0 {{ item.0 }} item1 {{ item.1.url }}" 
>      with_dict: "{{firmware}}" 
>
>
>
> --- 
> firmware: 
>    PowerEdge_730xd: 
>      bios: 
>        type: bios 
>        url: 
> http://downloads.dell.com/FOLDER02868051M/1/BIOS_XR23Y_WN64_1.2.10.EXE 
>        filename: BIOS_XR23Y_WN64_1.2.10.EXE 
>        target_version: 1.2.10 
>        search: none 
>        minimum_version: none 
>      idrac: 
>        type: idrac 
>        url: 
>
> http://downloads.dell.com/FOLDER02881013M/1/iDRAC-with-Lifecycle-Controller_Firmware_FM1PC_WN64_2.10.10.10_A00.EXE
>  
>        filename: 
> iDRAC-with-Lifecycle-Controller_Firmware_FM1PC_WN64_2.10.10.10_A00.EXE 
>        target_version: 2.10.10.10 
>        search: none 
>        minimum_version: none 
>      raid: 
>        type: raid 
>        url: 
>
> http://downloads.dell.com/FOLDER02864367M/2/SAS-RAID_Firmware_V43G1_WN64_25.2.2-0004_A03.EXE
>  
>        filename: SAS-RAID_Firmware_V43G1_WN64_25.2.2-0004_A03.EXE 
>        target_version: 25.2.2-0004 
>        search: none 
>        minimum_version: none 
>      nic_intel1: 
>        type: nic 
>        url: 
>
> http://downloads.dell.com/FOLDER02309982M/1/Network_Firmware_M26VT_WN64_15.5.0_A00.EXE
>  
>        filename: Network_Firmware_M26VT_WN64_15.5.0_A00.EXE 
>        target_version: 15.5.0 
>        search: X520 
>        minimum_version: none 
>      nic_intel2: 
>        type: nic 
>        url: 
>
> http://downloads.dell.com/FOLDER02861870M/2/Network_Firmware_6FD9P_WN64_16.5.20_A00.EXE
>  
>        filename: Network_Firmware_6FD9P_WN64_16.5.20_A00.EXE 
>        target_version: 16.5.20 
>        search: X520 
>        minimum_version: 15.5.0 
>    PowerEdge_720xd: 
>      bios: 
>        type: bios 
>        url: 
> http://downloads.dell.com/FOLDER02797465M/1/BIOS_MKCTM_WN64_2.5.2.EXE 
>        filename: BIOS_MKCTM_WN64_2.5.2.EXE 
>        target_version: 2.5.2 
>        search: none 
>        minimum_version: none 
>      nic: 
>        type: nic 
>        url: 
>
> http://downloads.dell.com/FOLDER02861870M/2/Network_Firmware_6FD9P_WN64_16.5.20_A00.EXE
>  
>        filename: Network_Firmware_6FD9P_WN64_16.5.20_A00.EXE 
>        target_version: 16.5.20 
>        search: X520 
>        minimum_version: 15.5.0 
>    PowerEdge_620xd: 
>      bios: 
>        type: bios 
>        url: 
> http://downloads.dell.com/FOLDER02797465M/1/BIOS_MKCTM_WN64_2.5.2.EXE 
>        filename: BIOS_MKCTM_WN64_2.5.2.EXE 
>        target_version: 2.5.2 
>        search: none 
>        minimum_version: none 
>      raid: 
>        type: raid 
>        url: 
>
> http://downloads.dell.com/FOLDER02864367M/2/SAS-RAID_Firmware_V43G1_WN64_25.2.2-0004_A03.EXE
>  
>        filename: SAS-RAID_Firmware_V43G1_WN64_25.2.2-0004_A03.EXE 
>        target_version: 25.2.2-0004 
>        search: none 
>        minimum_version: none 
>
>

-- 
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/1fd734c7-7252-4b0f-b974-8cf6ad69f790%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to