USB透传相关接口
概览
ZStack Cloud支持USB设备透传功能,物理机上的USB设备可直接透传给云主机使用。USB设备透传包括以下两种模式:
- 直连:将USB设备加载到此物理机上的云主机,迁移云主机时需要卸载此USB设备;
- 转发:将USB设备加载到此物理机所在区域内的云主机,迁移云主机时不需要卸载此USB设备。
清单
USB设备清单(UsbDevice inventory)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 2.2 | ||
| name | 请参见 资源属性 | 2.2 | ||
| description | 请参见 资源属性 | 是 | 2.2 | |
| hostUuid | 物理机UUID | 2.2 | ||
| vmInstanceUuid | 云主机UUID | 2.2 | ||
| busNum | 总线号 | 2.2 | ||
| devNum | 设备号 | 2.2 | ||
| idVendor | VendorID | 2.2 | ||
| idProduct | ProductID | 2.2 | ||
| iManufacturer | 生产商 | 2.2 | ||
| iProduct | 设备类型 | 2.2 | ||
| iSerial | 序列号 | 2.2 | ||
| usbVersion | USB版本 | 2.2 | ||
| attachType | 加载方式 | 3.5.0 | ||
| state | 状态 | 2.2 | ||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 是 | 2.2 | |
| createDate | 请参见 资源属性 | 2.2 | ||
| lastOpDate | 请参见 资源属性 | 2.2 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.2 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.2 |
示例
{
"inventory": {
"uuid": "dc782167a4853525848fd04bf606d072",
"name": "usb",
"hostUuid": "dea6020aae7b3244be45eee6ae1d4d0f",
"vmInstanceUuid": "33471e0ae8a33b3b8b0f295eff6e4db4",
"state": "Enabled",
"busNum": "001",
"devNum": "001",
"idVendor": "0781",
"idProduct": "5591",
"iManufacturer": "SanDisk",
"iProduct": "Ultra USB 3.0",
"iSerial": "000000000001",
"usbVersion": "3.0",
"attachType": "PassThrough"
}
}操作(Operations)
云主机加载物理机USB设备(AttachUsbDeviceToVm)
用户可以使用AttachUsbDeviceToVm云主机加载物理机USB设备。
例如:
AttachUsbDeviceToVm usbDeviceUuid=09d68ab1c91442c4bdb9f5b59079e9ac vmInstanceUuid=4889075483754968bab966ba3294747a参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| usbDeviceUuid | USB设备UUID | 2.2 | ||
| vmInstanceUuid | 云主机UUID | 2.2 | ||
| attachType | 加载类型 | 是 |
|
3.5.0 |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.2 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.2 | |
| timeout | 是 |
将云主机挂载的USB设备卸载(DetachUsbDeviceFromVm)
用户可以使用DetachUsbDeviceFromVm将云主机挂载的USB设备卸载。
例如:
DetachUsbDeviceFromVm usbDeviceUuid=5256c889e9f0489e8fd12b66d176fb7d参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| usbDeviceUuid | USB设备UUID | 2.2 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.2 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.2 | |
| timeout | 是 |
获取USB透传候选列表(GetUsbDeviceCandidatesForAttachingVm)
用户可以使用GetUsbDeviceCandidatesForAttachingVm获取USB透传候选列表。
例如:
GetUsbDeviceCandidatesForAttachingVm vmInstanceUuid=ccc9b37a79154f4c9bc422798dc6e293参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| vmInstanceUuid | 云主机UUID | 2.2 | ||
| attachType | 加载类型 |
|
3.5.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.2 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.2 | |
| timeout | 是 |
查询USB设备(QueryUsbDevice)
管理员可以使用QueryUsbDevice查询USB设备。例如:
QueryUsbDevice 原生域查询(Primitive Fields of Query)
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| host | host inventory | PCI所在的物理机 | 2.2 |
| vmInstance | vm inventory | PCI绑定的云主机 | 2.2 |
更新USB设备(UpdateUsbDevice)
用户可以使用UpdateUsbDevice更新USB设备。
例如:
UpdateUsbDevice uuid=USB state=Enabled参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.2 | ||
| name | 资源名称 | 是 | 2.2 | |
| description | 资源的详细描述 | 是 | 2.2 | |
| state | USB设备状态 | 是 |
|
2.2 |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.2 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.2 | |
| timeout | 是 |
