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

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

11 просмотров

'{{ 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 не делать, решил через фильтры сформировать мапы.

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

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

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта