def add_setup_scripts()

in generate/repo.py [0:0]


def add_setup_scripts(repo_folder, tf_vars):
    "add scripts file and env var in repo folder"
    script_var = {}

    for var in EX_VAR_ENV.intersection(tf_vars):
        script_var[var] = tf_vars[var]

    if not script_var.get("setup_service_account"):
        sa_name = script_var.get("setup_service_account_name", "")
        sa_proj = script_var.get("setup_project_id", "")
        script_var["setup_service_account"] = (
            f"{sa_name}@{sa_proj}.iam.gserviceaccount.com"
        )

    if script_var.get("setup_service_account"):
        script_var["GOOGLE_IMPERSONATE_SERVICE_ACCOUNT"] = script_var[
            "setup_service_account"
        ]
    if script_var.get("setup_project_id"):
        script_var["USER_PROJECT_OVERRIDE"] = "true"
        script_var["GOOGLE_BILLING_PROJECT"] = script_var["setup_project_id"]

    env_str = "\n".join(
        [f"export {name}={value}" for name, value in script_var.items()]
    )

    with open(f"{repo_folder}/script_env", "w", encoding="utf-8") as script_env:
        script_env.write(env_str)

    for template_file in REPO_TEMPLATE_FILE:
        dest_file = os.path.join(repo_folder, os.path.basename(template_file))
        shutil.copy2(template_file, dest_file)