Всем привет! Я скорее всего странного хочу, но можно как-то имя

ключа словаря задавать переменной?
- name: Host info
ansible.builtin.debug:
msg:
"{{ ansible_fqdn }}":
cpu: "{{ ansible_processor[-1] }}"
cores: "{{ ansible_processor_nproc }}"
ram: "{{ ansible_memtotal_mb }}"
Чтобы получилось:
"msg": {
“my.example.com”: {
"cores": 64,
"cpu": "Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz",
"ram": 257424
}
}

11 ответов

41 просмотр

Попробуйте :^) - name: Host info ansible.builtin.debug: msg: | "{{ ansible_fqdn }}": cpu: "{{ ansible_processor[-1] }}" cores: "{{ ansible_processor_nproc }}" ram: "{{ ansible_memtotal_mb }}"

Чего конкретно вы хотите добиться? В выводе msg у вас никакой не словарь, это просто строка.

Anton-Plaksin Автор вопроса
Zangar
Попробуйте :^) - name: Host info ansible...

Так структура ломается, но как вариант затем снова плейнтекст в json перевести. Спасибо!

Anton-Plaksin Автор вопроса
Anton-Plaksin Автор вопроса
Anton Plaksin
Хотел удобно перевести json в excel)))

вообще странно вывглядит. лучше через template сформировать тогда уж csv и его открыть в excel

Anton Plaksin
Хотел удобно перевести json в excel)))

И какая связь с переменной в ключе? Изложите полную картину для понимания

Anton Plaksin
Хотел удобно перевести json в excel)))

Сделайте список не ключей со значениями, а список словаря, в котором fqdn будет как значение, а ключ, например name

Anton-Plaksin Автор вопроса
Timur Gadiev
И какая связь с переменной в ключе? Изложите полну...

Я хочу собрать базовую информацию по хостам, которые ансиблом управляются. Получается такой json: TASK [Host info] ******************************************************************************************************************************************************** ok: [fqdn.com] => { "msg": { "cores": 64, "country": "Netherlands", "cpu": "Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz", "disktype": [ "ssd" ], "env": "prod", "fqdn": “<fqdn>”, "provider": "DataWeb Global Group B.V.", "publicip": “<ip>”, "ram": 257424, "region": "Utrecht" } } Но если бы вынести fqdn в ключ, то в excel сходу было бы что нужно. =) С ансиблом только познакомился, думал такое изи делается. Например инфу по дискам так агрегировал: ansible.builtin.set_fact: diskinfo: "{{ diskinfo | default({}) | combine({item: {'type': 'ssd' if (ansible_devices[item].rotational) else 'hdd', 'model': ansible_devices[item].model, 'size': ansible_devices[item].size}}) }}" И получалось красиво: "diskinfo": { "sda": { "model": "INTEL SSDSC2KG01", "size": "1.75 TB", "type": "ssd" }, "sdb": { "model": "INTEL SSDSC2KG01", "size": "1.75 TB", "type": "ssd" }, "sdc": { "model": "INTEL SSDSC2KG01", "size": "1.75 TB", "type": "ssd" }, "sdd": { "model": "INTEL SSDSC2KG01", "size": "1.75 TB", "type": "ssd" } }, Всем спасибо и хорошего вечера!

Anton Plaksin
Я хочу собрать базовую информацию по хостам, котор...

Это действительно легко делается. Тем более, если вы умеете в фильтр combine. Тогда вообще неясна суть проблемы.

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

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

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