Proxmox Doesn't Know What Type a Number Is
The Proxmox VE API returns the same field as 1234 in one place and "1234" in another. This is why go-proxmox has StringOrInt, StringOrUint64, StringOrFloat64 and IntOrBool instead of plain Go types.
Every couple of months somebody opens an issue on go-proxmox with a
title that starts with json: cannot unmarshal string into Go struct field. The most recent one was fixed last week.
It’s the same root cause every time. The Proxmox VE API is backed by Perl, and Perl doesn’t really care whether a
scalar is a number or a string. The JSON encoder on the other end writes whatever the scalar happens to be at the time.
So a field that is documented as an integer comes back as 2048 from…
