def split_tf_file()

in generate/util.py [0:0]


def split_tf_file(input_file, output_folder):
    """Splits a .tf file into multiple files based on the variable pattern.

    Args:
        input_file: Path to the input .tf file.
        output_folder: Path to the folder where output files will be saved.
    """

    os.makedirs(output_folder, exist_ok=True)

    with open(input_file, "r", encoding="utf-8") as f:
        content = f.read()

    tf_content = re.sub(r"\"\$\{(.+)\}\"", "\\1", content)

    pattern = rf"variable\s+\"{RANDOM_WORD}(file_.*?)\"\s+\{{\s*\}}"
    tf_list = re.split(pattern, tf_content)

    filename = "backend"
    i = 0
    j = 0
    output_files = []
    while i < len(tf_list):
        tfdata = tf_list[i]
        i += 1
        if match := re.search(r"^file_(\S+)$", tfdata):
            filename = match.group(1)
            continue
        j += 1
        filename = filename or f"file_{j}"
        filename = f"{filename}.tf"
        output_file = os.path.join(output_folder, filename)
        output_files.append(filename)
        with open(output_file, "w", encoding="utf-8") as f:
            f.write(tfdata)
        filename = ""
    print(f"Created files: {','.join(output_files)} in {output_folder}")