package virtbuf import ( "fmt" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/encoding/prototext" ) func (x *Hypervisor) SetMemoryGB(gb int) { x.Memory = int64(gb * 1024 * 1024 * 1024) } func (x *Hypervisor) GetMemoryPrintable() string { i := x.Memory / (1024 * 1024 * 1024) return fmt.Sprintf("%d GB", i) } func (c *Cluster) MarshalJSON() ([]byte, error) { return protojson.Marshal(c) } func (c *Cluster) FormatJSON() string { return protojson.Format(c) } func (c *Cluster) UnmarshalJSON(data []byte) error { return protojson.Unmarshal(data, c) } // apparently this isn't supposed to be used? // https://protobuf.dev/reference/go/faq/#unstable-text // this is a shame because this is much nicer output than JSON Format() func (c *Cluster) FormatTEXT() string { return prototext.Format(c) }