in syndicate/core/build/meta_processor.py [0:0]
def _resolve_names_in_meta(resources_dict, old_value, new_value):
if isinstance(resources_dict, dict):
for k, v in resources_dict.items():
if k in NAME_RESOLVING_BLACKLISTED_KEYS:
continue
if isinstance(v, str) and old_value == v:
resources_dict[k] = v.replace(old_value, new_value)
elif isinstance(v, str) and old_value in v and v.startswith('arn'):
resources_dict[k] = _resolve_name_in_arn(v, old_value, new_value)
else:
_resolve_names_in_meta(v, old_value, new_value)
elif isinstance(resources_dict, list):
for item in resources_dict:
if isinstance(item, dict):
_resolve_names_in_meta(item, old_value, new_value)
elif (isinstance(item, str) and old_value in item and
item.startswith('arn')):
index = resources_dict.index(item)
resources_dict[index] = _resolve_name_in_arn(item, old_value, new_value)
elif isinstance(item, str):
if item == old_value:
index = resources_dict.index(old_value)
del resources_dict[index]
resources_dict.append(new_value)