in automation/lambda/handlers/index.py [0:0]
def fill_config(d, prop):
for k in d:
if isinstance(d[k], dict) and bool(d[k]):
fill_config(d[k], prop)
elif isinstance(d[k], list):
for i in d[k]:
if isinstance(i, (list, dict)):
fill_config(i, prop)
elif isinstance(d[k], str):
while True:
if re.search(secret_field_pattern, d[k]):
secret_path = re.search(secret_field_pattern, d[k]).group(1)
if secret_path and prop.get(secret_path):
d[k] = d[k].replace('${' + secret_path + '}', prop.get(secret_path))
else:
break
return d