-
Notifications
You must be signed in to change notification settings - Fork 38
Fix JSON tag mismatch for metrics responses #137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes JSON unmarshalling issues in CloudStack metrics APIs by updating response struct tags to match the actual API response keys. The CloudStack API returns metrics lists under singular entity names (e.g., "host", "zone"), but the Go structs were using incorrect plural/compound tags (e.g., "hostsmetric", "zonesmetric").
- Updated JSON tags for 6 metrics response structs to use singular entity names
- Aligned naming convention with other existing metrics responses in the codebase (ManagementServersMetrics, StoragePoolsMetrics, VirtualMachinesMetrics already use singular names)
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ZoneService.go | Changed ZonesMetrics JSON tag from "zonesmetric" to "zone" |
| VolumeService.go | Changed VolumesMetrics JSON tag from "volumesmetric" to "volume" |
| UsageService.go | Changed UsageServerMetrics JSON tag from "usageservermetric" to "usageserver" |
| InfrastructureUsageService.go | Changed DbMetrics JSON tag from "dbMetrics" to "db" |
| HostService.go | Changed HostsMetrics JSON tag from "hostsmetric" to "host" |
| ClusterService.go | Changed ClustersMetrics JSON tag from "clustersmetric" to "cluster" |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
CloudStack metrics APIs return lists under updated JSON keys (e.g.
"host"for host metrics).The cloudstack-go response structs still used older json tags (e.g.
"hostmetric"/"hostmetrics"),causing unmarshalling issues where metrics lists become nil/null.
This PR updates the relevant response struct json tags to match the actual CloudStack API response keys.