Nikolay
В модуле docker-compose можно указать темплейт в директории плейбука как project_src ?
Anonymous
"value": "pass21"
Anonymous
и так далее 22, 23
Anonymous
Можно, Тимур вчера заругал, сказал не православно
Andor
как минимум json_query не требует установленного jq на хосте
Anonymous
в примере выше три переменных
Timur
Так список нужен или одна переменная?
Timur
Что должно получиться на выходе?
Timur
Я не понимаю ТЗ
Anonymous
в идеале должно получиться "key_name": "test21": "value": "pass21"
"key_name": "test22": "value": "pass22"
"key_name": "test23": "value": "pass23»
Andor
по ссылке видно список из 3 возвращаемых сикретов
Timur
Anonymous
высокоуровнево задача звучит, что зная имя key_name я могу в шаблонах или плейбуки оперировать этими секретами
Timur
Короче, список словарей нужен?
Anonymous
подозреваю что да
Timur
- key_name: test21
value: pass21
- key_name: test22
value: pass22
- key_name: test23
value: pass23
Так?
Andor
ну там одно в другое можно преобразовать одним фильтром
Anonymous
да
Timur
да
Ок. Теперь ТЗ понятно. Щас глянем
Балин
У кого-нибудь есть опыт использования ce_ модулей для управления оборудованием huawei? у меня не ce-линейка, есть ли совместимость с s-серией?
По крайней мере, ce_command работает. Есть ли разница, использовать его или network_cli?
Nariman
Всем привет, ansible не видет переменные которые были определены в gitlab проекте. Знает ли кто, как сделать так чтобы переменные которые были опредеоены в проекте Gitlab, были доступны в Ansible?
Anonymous
Sheridan
Други, чтото я в плагинах онсибла запуталсо...
Хочу так чтобы было:
- name: мойтаск
my:
state: absent
param: 12
string: "qwe"
это об action плагин делавется или ещо как?
Timur
да
Глянул. У меня получилось вот так:
- name: set_fact list
set_fact:
output_list: '{{ output_list | default([]) + [ {"key_name":item.item.key_name, "value": item.json.data.data.value} ] }}'
loop: '{{ key_value.results }}'
- name: Debug output_list
debug:
var: output_list
Timur
@deniswork94 проверьте, это то, что вам нужно?
Anonymous
Спасибо. Чуть позже
Andor
как мне поитерировать дикт, сделать каждому элементу | combine(some_defaults) и потом вернуть получившийся дикт в переменную?
Timur
Спасибо. Чуть позже
Можно даже чуть более компактно:
- name: set_fact list
set_fact:
output_list: >-
{{ output_list | default([])
+ [ {"key_name" : item.item.key_name,
"value" : item.json.data.data.value}
] }}
loop: '{{ key_value.results }}'
- name: Debug output_list
debug:
var: output_list
Timur
Timur
Непонятно, что именно вызывает затруднения
Andor
ну я с жынжей пока на "вы", поэтому не знаю как это написать
Timur
Andor
ты же сказал что вопрос звучит как ответ, почему тогда спрашиваешь суть задачи?
Sheridan
Andor
мне результат надо получить в виде дикта в переменную
Andor
то есть надо итерировать жинжей а не ансиблом
Andor
(вроде)
Andor
Timur
Sergey
Sheridan
Andor
есть дикт с описанием неких ресурсов, есть дикт с дефолтными параметрами ресурсов, хочу получить то плюс то
Andor
George
не то плюс то, а, наверное, дефолтное значение, если не переопределено основное
Andor
Timur
Andor
Sergey
Andor
то есть надо поитерировать дикт и к каждому значению подмёржить дикт с дефолтными
Andor
по крайней мере я себе это пока так представляю
George
{% for key,value in dict_blablabla.iteritems() %}
{{ key }}:
- command: {{ value[key] | default(get_value_from_dict(dict, key)) }}
{% endfor %}
George
что-то такого плана
George
сорри за говнокод
Andor
nginx_http_template: |
{% set res = {} %}
{% for s in my_nginx_sites.keys() %}
{% set combined = my_nginx_sites[s] | combine(my_nginx_sites_defaults, recursive=True) %}
{% do res[s] = combined %}
{% endfor %}
{{ res }}
Timur
George
Ваши предложения?
Andor
что-то такое намонстрячил но это лажа
Andor
ну и не в ту сторону combine в этом случае
George
коллега же написал
George
dict смержить с dict. Второй хранит дефолтные значения
George
насчет вложенности вопрос - там могут быть косяки
Timur
Andor
у меня есть дикт диктов, у меня есть дикт_дефолт, мне надо ко всем элементам первого дикта помёржить с дикт_дефолт
Andor
ехал дикт через дикт
Timur
George
т.е. забудь, что первый это дикт диктов )
George
тогда станет проще
George
начни с вложенных. А дальше просто будешь итерировать по внешнему дикту
George
key - это условно названия сайта
а value - это вложенный дикт
Andor
George
фак. Декомпозируй задачу