it s not working for me : 
fatal: [localhost]: FAILED! =>
 {"msg": "Invalid data passed to 'loop', it requires a list, got this 
instead: <generator object do_map at 0x7fe97cca3900>, 
<generator object do_map at 0x7fe97cca39e0>, <generator object do_map at 
0x7fe97cca3a50>]. 
Hint: If you passed a list/dict of just one element, try adding 
wantlist=True to your lookup invocation or use q/query instead of lookup."}

a co worker try too .. .same result.   i think i  will go  in BASH... i am 
sure it will work .  ahahah

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/893d2802-3073-4068-9dd7-198a40dc6f39n%40googlegroups.com.

Reply via email to