in cmd/transform.go [32:87]
func transform(recursive bool, ctx context.Context) ([]func(), error) {
var restore []func()
varFlags, err := varFlags(os.Args)
if err != nil {
return nil, err
}
rootMod, err := pkg.NewTerraformRootModuleRef(cf.tfDir)
if err != nil {
return nil, err
}
moduleRefs := []*pkg.TerraformModuleRef{
rootMod,
}
if recursive {
modulePaths, err := pkg.ModuleRefs(cf.tfDir)
if err != nil {
return nil, err
}
moduleRefs = modulePaths
}
for _, moduleRef := range moduleRefs {
d := moduleRef
err = backup.BackupFolder(d.AbsDir)
restore = append(restore, func() {
_ = backup.Reset(d.AbsDir)
})
if err != nil {
return restore, err
}
}
var mptfDirs []string
for _, dir := range cf.mptfDirs {
localizedDir, dispose, err := localizeConfigFolder(dir, ctx)
if err != nil {
return restore, err
}
if dispose != nil {
defer dispose()
}
mptfDirs = append(mptfDirs, localizedDir)
}
for _, mptfDir := range mptfDirs {
for _, tfDir := range moduleRefs {
hclBlocks, err := pkg.LoadMPTFHclBlocks(false, mptfDir)
if err != nil {
return nil, err
}
err = applyTransform(tfDir, hclBlocks, varFlags, ctx)
if err != nil {
return nil, err
}
}
}
fmt.Println("Transforms applied successfully.")
return restore, nil
}