文档

CreateDesktops - 创建一台或多台云电脑

更新时间:

创建一台或多台云电脑。创建时若传入用户信息,可直接完成云电脑的分配。

接口说明

创建云电脑前,请先完成以下准备工作:

如需让云电脑自动执行自定义命令脚本,可使用UserCommands字段配置自定义命令。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ecd:CreateDesktopscreate
  • 全部资源
    *

请求参数

名称类型必填描述示例值
RegionIdstring

地域 ID。可以调用 DescribeRegions 获取无影云电脑支持的地域列表。

cn-hangzhou
GroupIdstring

云电脑池 ID。

dg-boyczi8enfyc5****
BundleIdstring

云电脑模板 ID。

b-je9hani001wfn****
DesktopNamestring

云电脑名称。命名规则如下:

  • 不超过 64 个字符。
  • 必须以大小字母或中文开头,不能以http://https://开头。
  • 可以包含中文、英文、数字、半角冒号(:)、下划线(_)、点号(.)或者短划线(-)。
DemoComputer01
UserNamestring
说明 此参数不开放使用。
username
VpcIdstring
说明 此参数不开放使用。
vpc-uf6w8u60n8xbkg5el****
Amountinteger

创建的云电脑数量。取值范围为 1~300,默认值为 1。

1
DirectoryIdstring
说明 此参数不开放使用。
cn-hangzhou+dir-300943****
OfficeSiteIdstring

办公网络 ID。

cn-hangzhou+dir-387822****
PolicyGroupIdstring

策略 ID。

system-all-enabled-policy
ChargeTypestring

云电脑的计费方式。

枚举值:
  • PostPaid按量付费 [默认值]
  • PrePaid包年包月
PrePaid
Periodinteger

购买资源的时长。单位由PeriodUnit指定。当参数ChargeType取值为PrePaid时才生效,且为必选值。

  • 如果PeriodUnitMonth,该参数的取值范围:

    • 1
    • 2
    • 3
    • 6
  • 如果PeriodUnitYear,该参数的取值范围:

    • 1
    • 2
    • 3
    • 4
    • 5
1
PeriodUnitstring

包年包月计费方式的时长单位。

枚举值:
  • Month月 [默认值]
  • Year
Month
AutoPayboolean

是否自动支付。

枚举值:
  • true自动支付。请确保账户余额充足,否则会产生异常订单 [默认值]
  • false只产生订单,不支付。您可以登录控制台,在用户中心的我的订单页面,根据返回的订单号进行支付
false
AutoRenewboolean

是否自动续费。当参数ChargeType取值为PrePaid时才生效。

枚举值:
  • true自动续费。续费时长与购买设置的时长保持一致
  • false不自动续费 [默认值]
false
PromotionIdstring

优惠活动 ID。

23141
UserAssignModestring

云电脑分配模式。

说明 如果未设置EndUserId,创建的云电脑不会分配给用户。
枚举值:
  • ALL如果设置了EndUserId,则将创建的云电脑分配给每个指定的用户 [默认值]
  • PER_USER如果设置了EndUserId,则将创建的云电脑平均分配给指定的用户。此时需确保Amount的值可以被EndUserId的个数(即N)整除
ALL
Hostnamestring

自定义设置云电脑的主机名称。仅支持设置 AD 办公网络下,操作系统类型是 Windows 的云电脑。

主机名称的命名规则如下:

  • 长度为 2~15 个字符。
  • 支持大小写字母、数字或者短划线(-)。不能以短划线开头或者结尾,不能连续使用短划线,不能只使用数字。

创建多台云电脑时,可以使用name_prefix[begin_number,bits]name_suffix的命名格式为多台云电脑统一命名。例如,设置 Hostname 的取值为 ecd-[1,4]-test,则第一台云电脑主机名称为 ecd-0001-test,第二台云电脑主机名称为 ecd-0002-test,依次类推。

  • name_prefix:主机名称的前缀。
  • [begin_number,bits]:主机名称中的有序数字。begin_number为起始数字,取值支持 0~999999,默认值为 0;bits为数字位数,取值支持 1~6,默认值为 6。
  • name_suffix:主机名称的后缀。
testhost
EndUserIdarray

为云电脑添加的授权用户 ID 列表。可设置 1~100 个。

string

为云电脑添加的授权用户 ID。

  • 在同一时段内,只有一个用户可以使用该云电脑。
  • 如果未设置EndUserId,创建的云电脑不会分配给任何用户。
alice
Tagarray<object>

标签。

object

标签。

Keystring

标签键。可设置 1~20 个。

TestKey
Valuestring

标签值。可设置 1~20 个。

TestValue
DesktopNameSuffixboolean

批量创建云电脑时,云电脑名称是否自动增加后缀。

枚举值:
  • true自动增加后缀 [默认值]
  • false不增加后缀
false
VolumeEncryptionEnabledboolean

是否开启磁盘加密。

枚举值:
  • true开启磁盘加密
  • false不开启磁盘加密 [默认值]
false
VolumeEncryptionKeystring

开启磁盘加密的情况下使用的 KMS 的密钥 ID。可通过 ListKeys 接口获取。

08c33a6f-4e0a-4a1b-a3fa-7ddfa1d4****
DesktopMemberIpstring

指定云电脑私网 IP。

10.0.0.1
UserCommandsarray<object>

用户自定义命令脚本数据。

object

用户自定义命令脚本数据。

ContentEncodingstring

命令内容(CommandContent)的编码方式。

枚举值:
  • Base64Base64编码
  • PlainText不编码,采用明文传输
Base64
Contentstring

命令内容。

bmV3LWl0ZW0gZDpcdGVzdF91c2VyX2NvbW1hbmRzLnR4dCAtdHlwZSBm****
ContentTypestring

命令的语言类型。

枚举值:
  • RunPowerShellScript适用于Windows实例的PowerShell命令
  • RunShellScript适用于Linux实例Shell命令
  • RunBatScript适用于Windows实例的Bat命令
RunPowerShellScript
BundleModelsarray<object>

云电脑模板列表。

object

云电脑模板。

BundleIdstring

云电脑模板 ID。

b-je9hani001wfn****
Amountinteger

创建的云电脑数量。取值范围为 1~300,默认值为 0。

1
EndUserIdsarray

云电脑分配用户列表。

string

用户名称。

alice
DesktopNamestring

云电脑名称。命名规则如下:

  • 不超过 64 个字符。
  • 必须以大小字母或中文开头,不能以http://https://开头。
  • 可以包含中文、英文、数字、半角冒号(:)、下划线(_)、点号(.)或者短划线(-)。
DemoComputer02
Hostnamestring

自定义设置云电脑的主机名称。仅支持设置 AD 办公网络下,操作系统类型是 Windows 的云电脑。

主机名称的命名规则如下:

  • 长度为 2~15 个字符。
  • 支持大小写字母、数字或者短划线(-)。不能以短划线开头或者结尾,不能连续使用短划线,不能只使用数字。

创建多台云电脑时,可以使用name_prefix[begin_number,bits]name_suffix的命名格式为多台云电脑统一命名。例如,设置 Hostname 的取值为 ecd-[1,4]-test,则第一台云电脑主机名称为 ecd-0001-test,第二台云电脑主机名称为 ecd-0002-test,依次类推。

  • name_prefix:主机名称的前缀。
  • [begin_number,bits]:主机名称中的有序数字。begin_number为起始数字,取值支持 0~999999,默认值为 0;bits为数字位数,取值支持 1~6,默认值为 6。
  • name_suffix:主机名称的后缀。
testhost
VolumeEncryptionEnabledboolean

是否开启磁盘加密。

false
VolumeEncryptionKeystring

开启磁盘加密的情况下使用的 KMS 的密钥 ID。可通过 ListKeys 接口获取。

08c33a6f-4e0a-4a1b-a3fa-7ddfa1d4****
DesktopTimersarray<object>

云电脑定时任务详情。

object

云电脑定时任务详情。

TimerTypestring

定时任务类型。

NoOperationReboot
CronExpressionstring

定时任务 Cron 表达式。

注意 需要传入 UTC 标准时间,即北京时间每天 0 点应该传入 0 0 16 ? * 1,2,3,4,5,6,7

0 40 7 ? * 1,2,3,4,5,6,7
Intervalinteger

时间间隔,单位为分钟。

10
Enforceboolean

是否强制执行。

枚举值:
  • true忽略云电脑及连接状态检测,强制执行定时任务
  • false不强制执行
true
ResetTypestring

云电脑重置类型。

枚举值:
  • RESET_TYPE_SYSTEM重置系统盘
  • RESET_TYPE_BOTH重置系统盘和用户磁盘
RESET_TYPE_SYSTEM
OperationTypestring

定时任务操作类型,目前仅断连定时任务支持。

枚举值:
  • Hibernate休眠
  • Shutdown关机
Shutdown
AllowClientSettingboolean

是否允许终端用户自行配置定时任务。

true
MonthDesktopSettingobject
说明 此字段暂不对外开放使用。
UseDurationinteger
说明 此字段暂不对外开放使用。
null
BuyerIdlong
说明 此字段暂不对外开放使用。
null
DesktopIdstring
说明 此字段暂不对外开放使用。
null
SnapshotPolicyIdstring

无影自动快照策略 ID。

sp-28mp6my0l6zow****
ResourceGroupIdstring

无影资源组 ID。

rg-3mtuc28rx95lx****

返回参数

名称类型描述示例值
object

返回信息集合。

OrderIdstring

订单 ID。

说明 当请求参数 ChargeType 取值为 PrePaid 时,返回该参数。
123456789
RequestIdstring

请求 ID。

1CBAFFAB-B697-4049-A9B1-67E1FC5F****
DesktopIdarray

云电脑 ID 返回集合信息,如果一次调用创建了多个云电脑,将返回多个云电脑 ID。

DesktopIdsstring

云电脑 ID。

["ecd-gx2x1dhsmucyy****"]

示例

正常返回示例

JSON格式

{
  "OrderId": "123456789",
  "RequestId": "1CBAFFAB-B697-4049-A9B1-67E1FC5F****",
  "DesktopId": [
    "[\"ecd-gx2x1dhsmucyy****\"]"
  ]
}

错误码

HTTP status code错误码错误信息描述
400InvalidEncryptionKey.MissingParameter VolumeEncryptionKey is missing.开启磁盘加密功能时,加密密钥不可为空
400InvalidEncryptionKey.NotAuthorizedEds service cannot access the given VolumeEncryptionKey.无法访问未经授权的加密密钥
400InvalidEncryptionKey.NotFoundThe specified VolumeEncryptionKey is not found.找不到指定的磁盘加密密钥
400InvalidImageStatus.NotValidThe specified image status is not valid.指定镜像的状态不可用,不支持创建桌面
400InvalidImageVersion.NotSupportedThe specified image version is no longer supported.指定的镜像版本已不再支持,请选择其他镜像
400InvalidMemberIp.DesktopAmountThe desktop amount need to be 1.指定IP创建桌面时,桌面数量仅可为1
400InvalidPolicyGroup.StatusThe target policy group is being created. Please try again later.目标策略组正在创建中,请稍后再试。
400Protocol.NotAllowedProcotol of the image is not allowed.不支持该镜像的协议类型,请检查镜像ID
400ExistedHostnameThe specified hostname is existed on the domain.指定的主机名在当前工作区已存在
400HostnameCannotCustomizeForLinuxCustomizing hostname is not supported for Linux desktop.自定义主机名功能不支持Linux桌面
400IncorrectDirectoryStatusOnly registered directory can create desktop.工作区状态错误,仅支持使用已注册的工作区创建桌面
400IncorrectDirectoryTypeThe protocol type of directory and desktop do not match.指定工作区和目标桌面的协议类型不匹配,请检查
400InvalidAmountThe specified Amount is not a valid value.指定的数量不合法
400InvalidAmount.NotTimesOfUsersThe specified Amount is notmatch EndUserId size.指定的桌面数量不等于待分配用户的数量,请重新指定
400InvalidDesktopBundle.NotFoundThe specified param BundleId is not found.指定的BundleId找不到
400InvalidDirectoryId.NotFoundThe specified param DirectoryId is not found.无法找到工作区ID,请检查工作区ID是否正确
400InvalidDirectoryType.NotSupportedThe specified DirectoryType is not supported.指定的工作区类型不支持创建该桌面
400InvalidEncryptionEnabled.InvalidThe parameter VolumeEncryptionEnabled is invalid.指定加密密钥时,需开启磁盘加密功能

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-07-31OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
2024-07-22OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
2024-04-29OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
2023-11-21OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
2023-11-15OpenAPI 错误码发生变更查看变更详情
2023-11-15OpenAPI 错误码发生变更查看变更详情
2023-05-24OpenAPI 入参发生变更查看变更详情
2023-05-24OpenAPI 入参发生变更查看变更详情
2023-04-24OpenAPI 入参发生变更查看变更详情
2023-03-14OpenAPI 入参发生变更查看变更详情
2022-08-08OpenAPI 入参发生变更查看变更详情