def parse_design()

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