Fix JSON tag mismatch for metrics responses#137
Conversation
There was a problem hiding this comment.
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.
|
@Pearl1594 @vishesh92 , please review this? |
|
Reviewed these against the CloudStack 4.22 source (
The other four are good to merge. Happy to confirm against a live 4.22 deployment once I have one to hand. |
|
Confirmed now against a live CloudStack 4.22 deployment (raw
So
With those two tweaked, this is good to merge. 👍 |
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.