in internal/tfengine/tfengine.go [266:299]
func ConvertToLocalBackend(path string) error {
// Replace all GCS backend blocks with local.
fn := func(path string, info os.FileInfo, err error) error {
if err != nil {
return fmt.Errorf("walk path %q: %v", path, err)
}
if filepath.Ext(path) != ".tf" {
return nil
}
b, err := ioutil.ReadFile(path)
if err != nil {
return fmt.Errorf("read file %q: %v", path, err)
}
b = backendRE.ReplaceAll(b, nil)
b = remoteStateResourceRE.ReplaceAll(b, nil)
// Replace data.terraform_remote_state references with a dummy string value.
b = remoteStateDataRE.ReplaceAll(b, []byte(`"000"`))
if err := ioutil.WriteFile(path, b, 0644); err != nil {
return fmt.Errorf("write file %q: %v", path, err)
}
return nil
}
if err := filepath.Walk(path, fn); err != nil {
return fmt.Errorf("walk %qs: %v", path, err)
}
return nil
}