in helpers/foundation-deployer/stages/apply.go [604:643]
func applyLocal(t testing.TB, options *terraform.Options, serviceAccount, policyPath, validatorProjectId string) error {
var err error
if serviceAccount != "" {
err = os.Setenv("GOOGLE_IMPERSONATE_SERVICE_ACCOUNT", serviceAccount)
if err != nil {
return err
}
}
_, err = terraform.InitE(t, options)
if err != nil {
return err
}
_, err = terraform.PlanE(t, options)
if err != nil {
return err
}
// Runs gcloud terraform vet
if validatorProjectId != "" {
err = TerraformVet(t, options.TerraformDir, policyPath, validatorProjectId)
if err != nil {
return err
}
}
_, err = terraform.ApplyE(t, options)
if err != nil {
return err
}
if serviceAccount != "" {
err = os.Unsetenv("GOOGLE_IMPERSONATE_SERVICE_ACCOUNT")
if err != nil {
return err
}
}
return nil
}