Всем привет, наведите, пожалуйста, на мысль? Какой фильтр использовать для

переменной 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

8 ответов

5 просмотров

'{{ organizations | map(attribute="users") | flatten }}'

Lamobot
'{{ organizations | map(attribute="users") | flatt...

Тут в списке словарей не будет ключа org_name

Дмитрий-Кондрашов Автор вопроса
Дмитрий Кондрашов
Ага, как раз с этим разбираюсь

Я бы порекомендовал вот такой вариант: organizations | subelements('users') | flatten

Дмитрий-Кондрашов Автор вопроса
Timur Gadiev
Я бы порекомендовал вот такой вариант: organizati...

Как и в Вашем варианте, я как раз с subelements игрался, но не смог придти к нужному виду item

Timur Gadiev
Тут в списке словарей не будет ключа org_name

Я бы тогда сделал через include_tasks в котором уже сделал бы цикл по users.

Дмитрий-Кондрашов Автор вопроса
Lamobot
Я бы тогда сделал через include_tasks в котором уж...

Это было самой первой мыслю. Я как раз формирую мапы для include_tasks. Вот чтобы в include_tasks, в котором вызывается ещё один include_tasks не делать, решил через фильтры сформировать мапы.

Дмитрий Кондрашов
Это было самой первой мыслю. Я как раз формирую ма...

В принципе, это делается легко с помощью кастомного фильтра

Похожие вопросы

Обсуждают сегодня

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель (товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); н...
Max Dubovsky
7
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
А цены чем оправданы?
Lencore
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
напомните, как заменить placeholder , а не добавить содержимое ?
Artem N
4
Карта сайта