func deleteTerraformBackendConfigFromFile()

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
}