in astro/terraform/terraform_remote_state_disable.go [33:66]
func (s *Session) Detach() (Result, error) {
logger.Trace.Printf("terraform: detaching remote state in %v", s.moduleDir)
var res Result
var err error
if !s.Initialized() {
if res, err := s.Init(); err != nil {
return res, err
}
}
terraformVersion, err := s.versionCached()
if err != nil {
return nil, err
}
if VersionMatches(terraformVersion, "<0.9") {
res, err = s.detachLegacy()
} else {
res, err = s.detachModern()
}
if err != nil {
return res, err
}
// failsafe to make sure the remote file was copied locally
if !utils.FileExists(filepath.Join(s.moduleDir, "terraform.tfstate")) {
return nil, errors.New("detach failed: terraform.tfstate does not exist")
}
return res, nil
}