更新时间:2024-12-27 GMT+08:00
分享

预批量分配用户

功能介绍

预批量将桌面分配给用户。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/desktops/pre-batch-attach

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Content-Type

String

发送的实体的MIME类型。

表3 请求Body参数

参数

是否必选

参数类型

描述

desktops

Array of AttachInstancesDesktopInfo objects

桌面信息列表。

users

Array of AttachInstancesUserInfo objects

用户信息列表。

assign_model

AssignModelInfo object

批量分配桌面策略。

表4 AttachInstancesDesktopInfo

参数

是否必选

参数类型

描述

desktop_id

String

待分配的桌面ID。

user_name

String

桌面所属的用户,当桌面分配成功后此用户可以登录该桌面。只允许输入大写字母、小写字母、数字、中划线(-)和下划线(_)。域类型为LITE_AD时,使用小写字母或者大写字母开头,长度范围为[1-20]。当域类型为LOCAL_AD时,用户名可以使用小写字母或者大写字母或者数字开头,长度范围为[1-32]。Windows桌面用户最长支持20个字符,Linux桌面用户最长支持32个字符。用户名不能与分配的机器名重名。 attach_user_infos为空时,必填,attach_user_infos优先级更高

user_email

String

合法用户邮箱,桌面分配成功后系统会通过发送邮件的方式通知用户。

user_group

String

桌面用户所属的用户组,attach_user_infos为空时,必填,attach_user_infos优先级更高。

  • sudo:Linux管理员组。

  • default:Linux默认用户组。

  • administrators:Windows管理员组。管理员拥有对该桌面的完全访问权,可以做任何需要的更改(禁用操作除外)。

  • users:Windows标准用户组。标准用户可以使用大多数软件,并可以更改不影响其他用户的系统设置。

computer_name

String

桌面名,桌面名必须保证唯一。只允许输入大写字母、小写字母、数字、中划线(-)和下划线(_);以字母开头且不允许以中划线(-)结尾;长度范围为[1-15]。

is_clear_data

Boolean

该字段只有当解绑和绑定为同一个用户时生效。表示绑定时是否清理桌面数据,true:清理,false:不清理,默认值为true。

attach_user_infos

Array of AttachInstancesUserInfo objects

待分配的用户信息列表,只有多用户桌面分配多人时有效。

表5 AttachInstancesUserInfo

参数

是否必选

参数类型

描述

user_id

String

当type字段为USER时,填写用户id;当type字段为GROUP时,填写用户组id,后端服务会校验组id是否存在;

user_name

String

桌面分配对象的名称,当type类型USER时填写用户名字;当type类型GROUP时填写用户组名称。

  • 当type类型USER时:桌面所属的用户,当桌面分配成功后此用户可以登录该桌面。只允许输入大写字母、小写字母、数字、中划线(-)和下划线(_)。域类型为LITE_AD时,使用小写字母或者大写字母开头,长度范围为[1-20]。当域类型为LOCAL_AD时,用户名可以使用小写字母或者大写字母或者数字开头,长度范围为[1-64]。Windows桌面用户最长支持20个字符,Linux桌面用户最长支持64个字符。后端服务会校验用户名是否存在,并且用户名不能与机器名重复。

  • 当type类型GROUP时:只能为中文、字母、数字及特殊符号-_。

user_group

String

桌面用户所属的用户组。

  • sudo:Linux管理员组。

  • default:Linux默认用户组。

  • administrators:Windows管理员组。管理员拥有对该桌面的完全访问权,可以做任何需要的更改(禁用操作除外)。

  • users:Windows标准用户组。标准用户可以使用大多数软件,并可以更改不影响其他用户的系统设置。

type

String

对象类型,可选值为:

  • USER:用户。

  • GROUP:用户组。

表6 AssignModelInfo

参数

是否必选

参数类型

描述

assign_dimension

String

分配的维度,当前支持

  • USER: “用户为维度”

  • DESKTOP:“桌面为维度”两种。

priority_strategy

String

优先分配的策略,策略名为规则为{维度}_{子策略}

  • USER_NO_DESKTOP: 用户维度-无桌面

  • USER_FIXED_DESKTOP_NUM: 用户维度-桌面个数固定

  • DESKTOP_ASSIGN_USER_PRIORITY: 桌面维度-用户优先

  • DESKTOP_ASSIGN_FIXED_USER: 桌面维度-固定用户

  • DESKTOP_ASSIGN_USERS_OR_GROUPS: 桌面维度-为每台桌面分配所选的所有用户(组)

  • FIXED_RELATION: 使用参数中的固定分配关系

desktop_assigin_user_num

Integer

每个桌面自动分配的用户数,当子策略为 DESKTOP_ASSIGN_FIXED_USER 必填。

user_assigin_desktop_num

Integer

每个用户自动分配桌面数,当子策略为 USER_NO_DESKTOP、USER_FIXED_DESKTOP_NUM必填。

desktop_name_policy_id

String

策略id,用于指定生成桌面名称策略,如果指定了桌面名称则优先使用指定的桌面名称。

响应参数

状态码: 200

表7 响应Body参数

参数

参数类型

描述

assign_dimension

String

分配的维度,当前支持“用户为维度”、“桌面为维度”两种。

desktop

Array of DesktopDimensionAttachInfo objects

桌面维度结果,如果assign_dimension为DEKSTOP,那么取这个结果。

user

Array of UserDimensionAttachInfo objects

用户维度结果,如果assign_dimension为USER,那么取这个结果。

desktops_attach_infos

Array of AttachInstancesDesktopInfo objects

桌面分配关系。

表8 DesktopDimensionAttachInfo

参数

参数类型

描述

desktop_name

String

桌面名称。

desktop_id

String

桌面id。

user_num

Integer

计划分配用户数。

user_name

String

计划分配用户名称,如果有多个用逗号隔开。

表9 UserDimensionAttachInfo

参数

参数类型

描述

user_name

String

用户名称。

user_id

String

桌面id。

desktop_num

Integer

计划分配桌面数。

desktop_name

String

计划分配桌面名称,如果有多个用逗号隔开。

表10 AttachInstancesDesktopInfo

参数

参数类型

描述

desktop_id

String

待分配的桌面ID。

user_name

String

桌面所属的用户,当桌面分配成功后此用户可以登录该桌面。只允许输入大写字母、小写字母、数字、中划线(-)和下划线(_)。域类型为LITE_AD时,使用小写字母或者大写字母开头,长度范围为[1-20]。当域类型为LOCAL_AD时,用户名可以使用小写字母或者大写字母或者数字开头,长度范围为[1-32]。Windows桌面用户最长支持20个字符,Linux桌面用户最长支持32个字符。用户名不能与分配的机器名重名。 attach_user_infos为空时,必填,attach_user_infos优先级更高

user_email

String

合法用户邮箱,桌面分配成功后系统会通过发送邮件的方式通知用户。

user_group

String

桌面用户所属的用户组,attach_user_infos为空时,必填,attach_user_infos优先级更高。

  • sudo:Linux管理员组。

  • default:Linux默认用户组。

  • administrators:Windows管理员组。管理员拥有对该桌面的完全访问权,可以做任何需要的更改(禁用操作除外)。

  • users:Windows标准用户组。标准用户可以使用大多数软件,并可以更改不影响其他用户的系统设置。

computer_name

String

桌面名,桌面名必须保证唯一。只允许输入大写字母、小写字母、数字、中划线(-)和下划线(_);以字母开头且不允许以中划线(-)结尾;长度范围为[1-15]。

is_clear_data

Boolean

该字段只有当解绑和绑定为同一个用户时生效。表示绑定时是否清理桌面数据,true:清理,false:不清理,默认值为true。

attach_user_infos

Array of AttachInstancesUserInfo objects

待分配的用户信息列表,只有多用户桌面分配多人时有效。

表11 AttachInstancesUserInfo

参数

参数类型

描述

user_id

String

当type字段为USER时,填写用户id;当type字段为GROUP时,填写用户组id,后端服务会校验组id是否存在;

user_name

String

桌面分配对象的名称,当type类型USER时填写用户名字;当type类型GROUP时填写用户组名称。

  • 当type类型USER时:桌面所属的用户,当桌面分配成功后此用户可以登录该桌面。只允许输入大写字母、小写字母、数字、中划线(-)和下划线(_)。域类型为LITE_AD时,使用小写字母或者大写字母开头,长度范围为[1-20]。当域类型为LOCAL_AD时,用户名可以使用小写字母或者大写字母或者数字开头,长度范围为[1-64]。Windows桌面用户最长支持20个字符,Linux桌面用户最长支持64个字符。后端服务会校验用户名是否存在,并且用户名不能与机器名重复。

  • 当type类型GROUP时:只能为中文、字母、数字及特殊符号-_。

user_group

String

桌面用户所属的用户组。

  • sudo:Linux管理员组。

  • default:Linux默认用户组。

  • administrators:Windows管理员组。管理员拥有对该桌面的完全访问权,可以做任何需要的更改(禁用操作除外)。

  • users:Windows标准用户组。标准用户可以使用大多数软件,并可以更改不影响其他用户的系统设置。

type

String

对象类型,可选值为:

  • USER:用户。

  • GROUP:用户组。

状态码: 400

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码,失败时返回。

error_msg

String

错误描述。

encoded_authorization_message

String

加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。

状态码: 401

表13 响应Body参数

参数

参数类型

描述

error_code

String

错误码,失败时返回。

error_msg

String

错误描述。

encoded_authorization_message

String

加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。

状态码: 403

表14 响应Body参数

参数

参数类型

描述

error_code

String

错误码,失败时返回。

error_msg

String

错误描述。

encoded_authorization_message

String

加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。

状态码: 404

表15 响应Body参数

参数

参数类型

描述

error_code

String

错误码,失败时返回。

error_msg

String

错误描述。

encoded_authorization_message

String

加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。

状态码: 500

表16 响应Body参数

参数

参数类型

描述

error_code

String

错误码,失败时返回。

error_msg

String

错误描述。

encoded_authorization_message

String

加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。

请求示例

{
  "desktops" : [ {
    "desktop_id" : "b41a8cc1-4813-47a0-bf3a-7800fcd5b581"
  }, {
    "desktop_id" : "5f4ed564-14eb-44fd-8ff7-0483725a532b"
  }, {
    "desktop_id" : "dfdddcf4-f943-43b4-987b-e5785022d6c5"
  } ],
  "users" : [ {
    "user_id" : "3f6cc4c5d1ff4a79ab826b7964e9ff5d",
    "user_name" : "user1"
  }, {
    "user_id" : "21bb9f13e6ff42fb96cd62489c446935",
    "user_name" : "user2"
  } ],
  "assign_model" : {
    "assign_dimension" : "USER",
    "priority_strategy" : "USER_NO_DESKTOP",
    "desktop_assigin_user_num" : 2
  }
}

响应示例

状态码: 200

预批量分配云桌面响应。

{
  "assign_dimension" : "USER",
  "desktop" : [ ],
  "user" : [ {
    "user_name" : "user1",
    "user_id" : "21bb9f13e6ff42fb96cd62489c446935",
    "desktop_num" : 1,
    "desktop_name" : "MARKETNOUSER17"
  }, {
    "user_name" : "user2",
    "user_id" : "3f6cc4c5d1ff4a79ab826b7964e9ff5d",
    "desktop_num" : 1,
    "desktop_name" : "MARKETNOUSER18"
  } ]
}

状态码

状态码

描述

200

预批量分配云桌面响应。

400

由于包含语法错误,当前请求无法被服务器理解。

401

鉴权失败。

403

没有操作权限。

404

找不到资源。

500

服务内部错误,具体返回错误码请参见错误码说明。

错误码

请参见错误码

相关文档