in astro/terraform/terraform_remote_state_disable_utils.go [125:154]
func deleteTerraformBackendConfigFromFile(file string, v *version.Version) error {
logger.Trace.Printf("terraform: deleting backend config from %v", file)
b, err := ioutil.ReadFile(file)
if err != nil {
return err
}
updatedConfig, err := deleteTerraformBackendConfig(b, v)
if err != nil {
return err
}
// Unlink the file before writing a new one; this is because we're working
// with a hardlinked file and we don't want to modify the original.
os.Remove(file)
newFile, err := os.Create(file)
if err != nil {
return err
}
_, err = newFile.Write(updatedConfig)
if err != nil {
return err
}
newFile.Close()
return nil
}