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)