Всем привет!
Есть необходимость реализовать аналог json-шаблонизатора/kustomize на ansible (почему ansible, хотя кажется, что он тут лишний: потому, что это только часть процесс и "слева" и "справа" от этой задачи вполне типичные для ansible таски). Для этого мне нужна пачка словарей, где один из них - базовый, определяющий все свойства, а пачка - env-specific, которые содержат в себе только некоторые свойства и должны их (и только их) оверрайдить
Пример:
Полный инвентарь 1
appname:
group: "somegroup"
meta: "some_meta_stuff"
geo:
eu:
count:
..
ru:
count:
..
some_more_props:
netsted_prop: ...
Патч из словаря инвентарь 2, где я ожидаю вытеснения ru/eu и добавления jp
appname:
geo:
jp:
count:
..
Сейчас с дефолтной стратегией `replace` у меня задача падает, т.к инвентарь 2 вытесняет инвентарь 1 и у объекта отсутствуют поля, описанные в инвентаре 1. если менять на merge, то закономерно все поля инв 1 и инв 2 мерджатся и у результирующего объекта из примера выше будут все 3 geo
Есть способ сделать replace if exists или что-то похожее, удовлятворяющее моим целям?