Всем привет, подскажите, пожалуйста, как переменную plugins преобразовать в строку.

В данном примере хочу получить строку вида
key_1 1.1,key_2 2.2
Явно это как-то просто должно делаться, но не могу нагуглить и придумать.

---
- name: dict to list
hosts: localhost
gather_facts: false
vars:
plugins:
- key_1: 1.1
- key_2: 2.2
tasks:
- name: Print
debug:
msg: "{{ plugins }}"

- name: Debug
debug:
msg: "{{ plugins | ??? | join(',') }}"

16 ответов

6 просмотров

а зачем тут дробить ключ и версию в плугинах?

Дмитрий-Кондрашов Автор вопроса
Evgeniy Naumov
а зачем тут дробить ключ и версию в плугинах?

В роли для графаны, в переменных хочу перечислить плагины, дабы удобно их было обновлять. Потом их нужно завернуть в переменную окружения GF_INSTALL_PLUGINS=grafana-clock-panel 1.0.1,grafana-simple-json-datasource 1.3.5 чтобы скормить графане.

Дмитрий-Кондрашов Автор вопроса
Vladislav 👻 Shishkov
GF_INSTALL_PLUGINS: "{{ grafana_docker__config_plu...

Переменная grafana_docker__config_plugins похоже из какой-то иной роли. Нее, это не то, я своё пишу.

Дмитрий-Кондрашов Автор вопроса
Vladislav 👻 Shishkov
screenshot с чего вы решили? о_0 это просто список

Нее это не то. У плагинов нужно версии указывать. Вот пример, как я хочу сделать https://t.me/pro_ansible/254294

Дмитрий Кондрашов
Нее это не то. У плагинов нужно версии указывать. ...

Какой же вы ленивый... Посмотрите доку, никакие подчеркивания между версией не нужны, просто через пробел указываете версию! https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/#install-official-and-community-grafana-plugins

Дмитрий-Кондрашов Автор вопроса
Vladislav 👻 Shishkov
screenshot Какой же вы ленивый... Посмотрите доку, никакие по...

Пожалуйста, будьте внимательнее. Я о подчёркиваниях в версии ни чего не писал. Просьба перечитать моё исходное сообщение и в дальнейшем не приписывать мне выдуманного Вами.

plugins | map('join', ' ') | join(',')

Vladislav 👻 Shishkov
🤔

Фильтр map в первый раз видите?

Дмитрий-Кондрашов Автор вопроса
Timur Gadiev
plugins | map('join', ' ') | join(',')

К такому варианту я тоже приходил, но это не то. Выбираются только ключи и получается key_1,key_2 а должно быть key_1 1.1,key_2 2.2

Дмитрий-Кондрашов Автор вопроса
Timur Gadiev
А, понял. Момент, щас гляну

Не заморачивайтесь, спасибо. Я решил отказаться от от списка словарей в пользу списка строк. Визуально разница не большая и проблем с обработкой нет.

Дмитрий Кондрашов
К такому варианту я тоже приходил, но это не то. В...

(зарядка для ума) очень может быть, что это реализуется через json_query. он сможет словарь в список перемолоть

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

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

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