переменной organizations, чтобы в таске
                  
                  
                  - name: Create user
                  
                  
                    debug:
                  
                  
                      var: item
                  
                  
                    loop: "{{ organizations | ?? }}"
                  
                  
                  в каждый item попадала такая мапа
                  
                  
                  {org_name: org 1, login_or_mail: user-1@org-1.com, role: Admin}
                  
                  
                  {org_name: org 1, login_or_mail: user-2@org-1.com, role: Editor}
                  
                  
                  {org_name: org 1, login_or_mail: user-3@org-1.com, role: Viewer}
                  
                  
                  {org_name: org_2, login_or_mail: user-1@org-2.com, role: Admin}
                  
                  
                  {org_name: org_2, login_or_mail: user-2@org-2.com, role: Editor}
                  
                  
                  {org_name: org_2, login_or_mail: user-3@org-2.com, role: Viewer}
                  
                  
                  
                  
                  
                  Переменная organizations выглядит так
                  
                  
                  organizations:
                  
                  
                      - org_name: org 1
                  
                  
                        users:
                  
                  
                          - login_or_mail: user-1@org-1.com
                  
                  
                            role: Admin
                  
                  
                          - login_or_mail: user-2@org-1.com
                  
                  
                            role: Editor
                  
                  
                          - login_or_mail: user-3@org-1.com
                  
                  
                            role: Viewer
                  
                  
                      - org_name: org_2
                  
                  
                        users:
                  
                  
                          - login_or_mail: user-1@org-2.com
                  
                  
                            role: Admin
                  
                  
                          - login_or_mail: user-2@org-2.com
                  
                  
                            role: Editor
                  
                  
                          - login_or_mail: user-3@org-2.com
                  
                  
                            role: Viewer
                  
                  
                
'{{ organizations | map(attribute="users") | flatten }}'
Тут в списке словарей не будет ключа org_name
Ага, как раз с этим разбираюсь
Я бы порекомендовал вот такой вариант: organizations | subelements('users') | flatten
Как и в Вашем варианте, я как раз с subelements игрался, но не смог придти к нужному виду item
Я бы тогда сделал через include_tasks в котором уже сделал бы цикл по users.
Это было самой первой мыслю. Я как раз формирую мапы для include_tasks. Вот чтобы в include_tasks, в котором вызывается ещё один include_tasks не делать, решил через фильтры сформировать мапы.
В принципе, это делается легко с помощью кастомного фильтра
Обсуждают сегодня