У меня есть ANSIBLE DICT, как
ports:
webui: 7200
webadmin: 7209
core_api: 7201
stock_api: 7204
import_export: 7207
И я хочу преобразовать все ключи в нем, например,
ports:
staging-webui: 7200
staging-webadmin: 7209
staging-core_api: 7201
staging-stock_api: 7204
staging-import_export: 7207
Я делаю это в разделе 'Vars', так что я могу'использовать' set_fact 'с' with_items 'для итерации по dict.Разве это возможно только по фильтрам?
Я нашел рабочий ответ,
env: staging # comes from outside
regex_env: "\"key\": \"{{ env }}-\\1\""
app_upstreams: "{{ ports | dict2items | map('to_json') | map('regex_replace', '\"key\":\\s\"(.*)\"', lookup('vars', 'regex_env')) | map('from_json') }}"
, но это выглядит ужасно, есть ли более привлекательное решение?