func parseModulesJson()

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)
}