Доброй ночи. господа, а не поможете в следующей ситуации? Есть описаный

дикт на каждом энве формата
app:
service1:
ver0.1:
ver0.2:
service2:
ver01:
ver02:

Хочу получить лист формата
env-service1-ver0.1
env-service1-ver0.2
но как не кручу получается два отдельных вывода:
msg: env-service1-ver0.1
msg: env-service1-ver0.2
пробовал и with_items и with_dict
debug:
msg: "{{env}}-service1-{{ item }}"
with_items: "{{ app.service.keys() |list }}"

4 ответов

5 просмотров

Как вариант - сработать через lookup('template). Или напрямую писать в формате jinja2 когда определяете переменную. with_items всегда будет разбивать на несколько, так как такова его логика работы (выполнить таск несколько раз с каждым из элементов)

Если по всему словарю, то: - set_fact: result: '{{ result|default([]) }} + {{ app[item] | dict2items | map(attribute="key") | map("regex_replace", "^", "env-"~item~"-") | list }}' loop: '{{ app | dict2items | map(attribute="key") | list }}' Возможно, есть варианты проще, вроде использования json_query На мой взгляд, проще переделать структуру данных, чтобы их было удобнее использовать в ансибле.

kbks- Автор вопроса
kbks
а каким образом переделать?

Если вам нужен список, то лучше хранить данные в списке :)

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

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

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