func NewDeviceByVmbusID(uuid string) (Device, error) {
	device, err := GetVmbusDeviceByUUID(uuid)
	if err != nil {
		return nil, err
	}
	return device, nil
}
NewDeviceByVmbusID returns a VMBus device by given UUID
package devices
type Device interface {
	Bind(driver string) error
	Unbind() error
	CurrentDriver() (string, error)
	Probe() error
	ID() string
}
func New(input string) (Device, error) {
	switch {
	case IsPciID.Match([]byte(input)):
		return NewDeviceByPciID(input)
	case IsUUID.Match([]byte(input)):
		return NewDeviceByVmbusID(input)
	default:
		return NewDeviceByNicName(input)
	}
}
func NewDeviceByPciID(pciID string) (Device, error) {
	device, err := GetPciDeviceByPciID(pciID)
	if err != nil {
		return nil, err
	}
	return device, nil
}