docs/drivers/virtualbox/disk.go

32 lines
536 B
Go

package virtualbox
type VirtualDisk struct {
UUID string
Path string
}
func getVMDiskInfo(name string, vbox VBoxManager) (*VirtualDisk, error) {
out, err := vbox.vbmOut("showvminfo", name, "--machinereadable")
if err != nil {
return nil, err
}
disk := &VirtualDisk{}
err = parseKeyValues(out, reEqualQuoteLine, func(key, val string) error {
switch key {
case "SATA-1-0":
disk.Path = val
case "SATA-ImageUUID-1-0":
disk.UUID = val
}
return nil
})
if err != nil {
return nil, err
}
return disk, nil
}