in internal/provider/telemetry_resource.go [326:343]
func parseModulesJson(modulePath string) (*modulesJsonModulesModel, error) {
dataDir := envOrDefault("TF_DATA_DIR", ".terraform")
modulesJsonPath := filepath.Join(dataDir, "modules", "modules.json")
content, err := os.ReadFile(filepath.Clean(modulesJsonPath))
if err != nil {
return nil, fmt.Errorf("parseModulesJson: error reading modules.json file: %w", err)
}
var modules modulesJsonModel
if err = json.Unmarshal(content, &modules); err != nil {
return nil, fmt.Errorf("parseModulesJson: error unmarshalling modules.json file: %w", err)
}
for _, moduleEntry := range modules.Modules {
if moduleEntry.Dir == modulePath {
return &moduleEntry, nil
}
}
return nil, fmt.Errorf("parseModulesJson: module with dir %s not found in modules.json", modulePath)
}