in pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go [258:284]
func (a *terraformDeploymentConfig) terraformImport(tf *tfexec.Terraform, existingResErrMesg string) (string, error) {
log.Warnf("terraform apply: existing resource error occured:|| %s ||\n\n", existingResErrMesg)
log.Warn("importing existing resources to state")
exstResAddrAndResIDs, err := GetAddressAndResourceIDFromExistingResourceError(existingResErrMesg)
if err != nil {
log.Warnf("error getting existing resource address and resource ID: %s \n", err)
return existingResErrMesg, err
}
for addr, resID := range exstResAddrAndResIDs {
log.Warnf("importing existing resource: %s, %s ||\n", addr, resID)
if a.varFilePath != "" {
err = tf.Import(a.ctx, addr, resID, tfexec.VarFile(a.varFilePath))
} else {
err = tf.Import(a.ctx, addr, resID)
}
if err != nil {
log.Warnf("error importing existing resource: %s \n", err)
return err.Error(), err
}
log.Warnf("imported existing resource: %s, %s \n", addr, resID)
}
log.Warnf("imported all existing resources to state, triggering deployTerrafom again \n")
return "", nil
}