func LoadModule()

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
}