in pkg/terraform/module.go [89:121]
func LoadModule(mr ModuleRef) (*Module, error) {
files, err := afero.ReadDir(fs.Fs, mr.AbsDir)
if err != nil {
return nil, err
}
m := &Module{
Dir: mr.Dir,
AbsDir: mr.AbsDir,
writeFiles: make(map[string]*hclwrite.File),
lock: &sync.Mutex{},
Key: mr.Key,
Source: mr.Source,
Version: mr.Version,
GitHash: mr.GitHash,
}
for _, f := range files {
if f.IsDir() {
continue
}
if !strings.HasSuffix(f.Name(), ".tf") || f.Name() == "override.tf" || strings.HasSuffix(f.Name(), "_override.tf") {
continue
}
n := filepath.Join(mr.AbsDir, f.Name())
content, err := afero.ReadFile(fs.Fs, n)
if err != nil {
return nil, err
}
if err = m.loadConfig(string(content), f.Name()); err != nil {
return nil, err
}
}
return m, nil
}