111
对接方案流程
- 1.用户发起流程审批,进行桌面开通,主管部门发起
开通请求,携带用户名,系统类型,回调地址(用于接收任务结果),参考开通接口相关文档- 如果任务执行成功则会返回用户名和密码,用于用户登录桌面使用
- 还会额外返回桌面信息,主要是桌面的唯一标识和桌面名称
- 2.用户进行资源调整
- 1.增加桌面:仍然走开通接口,传递用户名(开通接口会返回用户名)
- 2.调整资源,需要传递具体的桌面,用于对该桌面资源进行调整
- 如何获取具体桌面信息
- 方案一:开通成功后,需要存储桌面信息,用户在进行资源调整时传递该桌面唯一标识
- 方案二:额外提供一个接口获取用户绑定桌面,在调整资源前调用该接口,返回用户所绑定的桌面,让用户选择要调整哪个桌面的资源
- 如何获取具体桌面信息
- 3.存在问题,待商讨(关于磁盘扩容):
- 如果桌面没有磁盘,扩容时直接新建一个数据盘吗?
- 如果桌面存在多个数据盘,扩容时选择哪个进行扩容?还是都扩容?
- 如果对指定数据盘进行扩容,则需要调用桌面挂载的数据盘接口,拿到所有数据盘信息,让用户选择扩容哪个
- 4.参考资源调整接口
- 3.策略调整,主要涉及数据访问和USB控制权限的调整,具体参照策略调整接口
- 4.密码重置,参考密码重置接口
1.开通接口
1.请求方式
- post
2.接口地址
- /api/desktop/apply
3.接口说明
- 该接口会根据用户提供的账号信息,创建对应用户;根据用户提供的os,创建桌面;最终将桌面分配给用户
4.接口参数
| 参数名称 | 参数类型 | 参数含义 |
|---|---|---|
| username | str | 用户组名(并非用户名,实际用户名应该是以组名进行递进,比如xxx_01, xxx_02...) |
| os | str | 系统:[win7|win10|kylin|macos] |
| callback_url | str | 任务执行完成后的回调地址 |
5.响应结果
{
"data": {},
"message": "",
"status": "0"
}
-
callback通知内容
-
成功
{ "data": { "username": xxxx, "password": xxxx, "desktop_uuid": xxx }, "message": "", "status": "0" } -
失败
{ "data": {}, "message": "失败原因", "status": "-1" }
-
2.资源调整
1.请求方式
- post
2.接口地址
- /api/desktop/resource-update
3.接口说明
- 该接口支持用户对桌面CPU、内存、磁盘进行动态调整
- 使用方式,只传递需要调整的参数以及目标值,不需要调整的参数,则不要传递
- 比如只需要调整cpu,那么传递:
4.请求参数
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| desktop_uuid | str | 要调整的桌面uuid |
| cpu | int | 需要调整的cpu大小,目标值 |
| memory | int | 需要调整的内存大小,目标值,单位 bytes |
| disk | int | 需要扩容的磁盘大小,目标值,单位 bytes |
| callback_url | str | 任务执行完成后的回调地址 |
5.响应结果
{
"data": {},
"message": "",
"status": "0"
}
-
callback通知内容
{ "data": {}, "message": "", "status": "0" }{ "data": {}, "message": "xxx", "status": "-1" }
3.策略调整
1.请求方式
- post
2.请求地址
- /api/desktop/policy-update
3.接口说明
- 该接口提供
云桌面数据传输权限和USB设备重定向权限修改(默认禁止)
4.请求参数
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| usb-enable | bool | USB设备权限,[true|false],开启true或关闭false |
| data-access | bool | 数据访问权限,[true|false],开启true或关闭false |
5.响应结果
# 成功
{
"data": {},
"message": "",
"status": "0"
}
# 失败
{
"data": {},
"message": "xxx",
"status": "-1"
}
4.密码重置
1.请求方式
- post
2.接口地址
- /api/user/pwd-reset
3.接口说明
- 用于重置用户密码
4.请求参数
| 参数名 | 参数类型 | 参数说明 |
|---|---|---|
| username | str | 用户名 |
| password | str | 密码,允许为空字符串,如果为空字符串则使用全局默认密码进行重置 |
- 第一步:根据用户名称,查询获取用户uuid
- 第二步:根据用户uuid和密码进行密码重置
5.响应结果
# 成功
{
"data": {
"username": xxx,
"password": xxx
},
"message": "",
"status": "0"
}
# 失败
{
"data": {},
"message": "xxx",
"status": "-1"
}
5.获取用户绑定的桌面
1.请求方式
- get
2.接口地址
- /api/user/{username}/desktops
3.接口说明
- 用来获取分配给用户的所有桌面
4.请求参数
- 路径参数:username
5.响应结果
# 成功
{
"data": [
{
"desktop_uuid": xxx,
"desktop_name": xxx
},
...
],
"status": 0,
"message": ""
}
# 失败
{
"data": [],
"status": -1,
"message": "xxx"
}
6.获取桌面挂载的数据盘
1.请求方式
- get
2.接口地址
- /api/desktop/{uuid}/volumes
3.接口说明
- 获取桌面已挂载的数据盘
4.请求参数
- 路径参数uuid,桌面唯一标识
5.响应结果
# 成功
{
"data": [
{
"volume_uuid": xxx,
"volume_name": xxx,
"volume_size": xxx,
"volume_status": xxx
},
...
],
"status": 0,
"message": ""
}
# 失败
{
"data": [],
"status": -1,
"message": "xxx"
}

浙公网安备 33010602011771号