I think there's an typo here. There's an extra 't' in list_of_servers: "{{
tarr|flatten }}" should be
list_of_servers: "{{ arr|flatten }}"

On Tue, Jul 12, 2022, 14:24 Softmax23 <[email protected]> wrote:

> When i do
>       arr: "{{ servers|dict2items|
>                       groupby('value')|
>                       map(attribute=1)|
>                       map('map', attribute='key')|
>                       list }}"
>       list_of_servers: "{{ tarr|flatten }}"
>   tasks:
>     - debug:
>         var: arr
>
> the result , no data.
>
> TASK [debug]
> ******************************************************************************************************************************
> ok: [localhost] => {
>     "arr": "[<generator object do_map at 0x7f1c51cac4a0>, <generator
> object do_map at 0x7f1c51cac9e0>,
>  <generator object do_map at 0x7f1c51caca50>]"
> }
>
>
>
> On Tuesday, July 12, 2022 at 11:59:52 AM UTC+2 [email protected] wrote:
>
>> On Tue, 12 Jul 2022 02:18:57 -0700 (PDT)
>> Softmax23 <[email protected]> wrote:
>>
>> For example, the playbook below
>>
>> shell> cat pb.yml
>> - hosts: localhost
>> vars:
>> servers:
>> srv01: a
>> srv02: a
>> srv03: a
>> srv04: b
>> srv05: b
>> srv06: b
>> srv07: c
>> srv08: c
>> srv09: c
>> arr: "{{ servers|dict2items|
>> groupby('value')|
>> map(attribute=1)|
>> map('map', attribute='key')|
>> list }}"
>> list_of_servers: "{{ tarr|flatten }}"
>> tasks:
>> - set_fact:
>> tarr: "{{ tarr|d(arr.0)|zip(item)|map('flatten') }}"
>> loop: "{{ arr[1:] }}"
>> - debug:
>> var: list_of_servers[:5]|to_yaml
>>
>> 1) Creates the matrix
>>
>> arr:
>> - [srv01, srv02, srv03]
>> - [srv04, srv05, srv06]
>> - [srv07, srv08, srv09]
>>
>> 2) Transpose the matrix
>>
>> tarr:
>> - [srv01, srv04, srv07]
>> - [srv02, srv05, srv08]
>> - [srv03, srv06, srv09]
>>
>> 3) Get the slice
>>
>> list_of_servers[:5]: [srv01, srv04, srv07, srv02, srv05]
>>
>> --
>> Vladimir Botka
>>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/a38eebfa-d815-45fb-a2f3-0c57529bac66n%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/a38eebfa-d815-45fb-a2f3-0c57529bac66n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAFtje5Mi%2Bob5QL1Hf8jod3ebM5jtNfLnM9q9kwbLRCJRgggRuA%40mail.gmail.com.

Reply via email to