День добрый, пытаюсь научиться использовать loop, имею следующий словарь: service_inventory: services:

host-01:
- service1
- service2
host-02:
- service1
- service3

плейбук:
- debug:
msg: services_state.ansible_facts.services.{{ item.value }}.state
loop: "{{ service_inventory.services | dict2items }}"
tags: check-services

получаю:
ok: [host-01] => (item={'key': 'host-01', 'value': ['service1', 'service2']}) => {
"msg": "services_state.ansible_facts.services.['service1', 'service2'].state"
}
ok: [host-01] => (item={'key': 'host-02', 'value': ['service1', 'service3']}) => {
"msg": "services_state.ansible_facts.services.['service1', 'service3'].state"
}

вопрос:
как мне выполнить действие msg для каждого из значений элемента словаря, а не вывести их в строку через запятую?

спасибо

4 ответов

15 просмотров

Как-то так попробовать "{{ service_inventory.services | dict2items | map(attribute='value') | list | flatten }}"

l1njan- Автор вопроса
Lamobot
Как-то так попробовать "{{ service_inventory.servi...

спасибо за оперативный ответ, но получаю ошибку FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'str object' has no attribute 'value'\n\nThe error appears to be in 'main.yml': line 22, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- debug:\n ^ here\n"} догадаться, могу он считает value отсутствующим - не получается

l1njan
спасибо за оперативный ответ, но получаю ошибку FA...

В словаре видимо ещё что-то помимо хостов и сервисов?

l1njan- Автор вопроса
Lamobot
В словаре видимо ещё что-то помимо хостов и сервис...

прошу прощения, да service_inventory: services: host-01: - service1 - service2 host-02: - service1 - service3 docker: host-01: - container1 - container2

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
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
Карта сайта