in scp_parse.py [0:0]
def formatSCP(service_control_policy_string, input_json, list_scps=["Mandatory"]):
# replacing mandatory parameters
for param in input_json["Mandatory"]:
replace_var = f"[{param}]"
service_control_policy_string = service_control_policy_string.replace(
replace_var,
input_json["Mandatory"][param])
# wildcard Region and Account
replace_vars = ["${Region}", "${Account}"]
regex = re.compile('|'.join(map(re.escape, replace_vars)))
service_control_policy_string = regex.sub("*", service_control_policy_string)
# handling additionally specified SCPs
if list_scps[0] != "Mandatory":
for scp in list_scps:
for param in input_json["Additional"][scp]:
replace_var = f"[{param}]"
service_control_policy_string = service_control_policy_string.replace(
replace_var,
input_json["Additional"][scp][param])
# removing spaces and periods
trimmed_json = re.sub("\s+", "", service_control_policy_string)
trimmed_json = re.sub("\.", "", trimmed_json)
return trimmed_json