in infra/src/app_config_parser.py [0:0]
def parse_design(self, json_file):
"""
Constructs the CDK design params from config file
:param json_file:
:return:
"""
with open(json_file, encoding="utf-8") as f:
json_dict = json.load(f)
stack_prefix = json_dict["Name"]
stack_variables = self._get_variables(json_dict)
stack_design_dict = {}
for stack_type, stack_params in json_dict["Stacks"].items():
design_params = stack_params.get("CDKDesign", {})
formatted_design = {}
for k, v in design_params.items():
formatted_key = "_".join([t.lower() for t in re.findall('[A-Z][^A-Z]*', k)])
formatted_design[formatted_key] = self._variable_substitute(stack_variables, v)
stack_design_dict[stack_type] = formatted_design
return stack_prefix, stack_design_dict