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

更新时间:
复制为 MD 格式

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

接口说明

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

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

调试

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

调试

授权信息

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

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

ecd:CreateDesktops

create

*全部资源

*

请求参数

名称

类型

必填

描述

示例值

RegionId

string

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

cn-hangzhou

GroupId

string

云电脑池 ID。

dg-boyczi8enfyc5****

BundleId

string

云电脑模板 ID。

b-je9hani001wfn****

DesktopName

string

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

  • 不超过 64 个字符。

  • 必须以大小字母或中文开头,不能以http://https://开头。

  • 可以包含中文、英文、数字、半角冒号(:)、下划线(_)、点号(.)或者短划线(-)。

DemoComputer01

UserName

string

说明

此参数不开放使用。

username

VpcId

string

说明

此参数不开放使用。

vpc-uf6w8u60n8xbkg5el****

Amount

integer

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

1

DirectoryId

string

说明

此参数不开放使用。

cn-hangzhou+dir-300943****

OfficeSiteId

string

办公网络 ID。

cn-hangzhou+dir-387822****

PolicyGroupId

string

策略 ID。

system-all-enabled-policy

ChargeType

string

云电脑的计费方式。

枚举值:

  • PostPaid :

    按量付费 [默认值]

  • PrePaid :

    包年包月

PrePaid

Period

integer

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

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

    • 1

    • 2

    • 3

    • 6

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

    • 1

    • 2

    • 3

    • 4

    • 5

1

PeriodUnit

string

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

枚举值:

  • Month :

    月 [默认值]

  • Year :

Month

AutoPay

boolean

是否自动支付。

枚举值:

  • true :

    自动支付。请确保账户余额充足,否则会产生异常订单 [默认值]

  • false :

    只产生订单,不支付。您可以登录控制台,在用户中心的我的订单页面,根据返回的订单号进行支付

false

AutoRenew

boolean

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

枚举值:

  • true :

    自动续费。续费时长与购买设置的时长保持一致

  • false :

    不自动续费 [默认值]

false

PromotionId

string

优惠活动 ID。

23141

UserAssignMode

string

云电脑分配模式。

说明

如果未设置EndUserId,创建的云电脑不会分配给用户。

枚举值:

  • ALL :

    如果设置了 EndUserId,则将创建的云电脑分配给每个指定的用户 [默认值]

  • PER_USER :

    如果设置了 EndUserId,则将创建的云电脑平均分配给指定的用户。此时需确保 Amount 的值可以被 EndUserId 的个数(即 N)整除

ALL

Hostname

string

自定义设置云电脑的主机名称。仅支持设置 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

EndUserId

array

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

123456789

string

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

  • 在同一时段内,只有一个用户可以使用该云电脑。

  • 如果未设置EndUserId,创建的云电脑不会分配给任何用户。

alice

Tag

array<object>

标签。

object

标签。

Key

string

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

TestKey

Value

string

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

TestValue

DesktopNameSuffix

boolean

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

枚举值:

  • true :

    自动增加后缀 [默认值]

  • false :

    不增加后缀

false

VolumeEncryptionEnabled

boolean

是否开启磁盘加密。

枚举值:

  • true :

    开启磁盘加密

  • false :

    不开启磁盘加密 [默认值]

false

VolumeEncryptionKey

string

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

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

DesktopMemberIp

string

指定云电脑私网 IP。

10.0.0.1

UserCommands

array<object>

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

object

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

ContentEncoding

string

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

枚举值:

  • Base64 :

    Base64 编码

  • PlainText :

    不编码,采用明文传输

Base64

Content

string

命令内容。

bmV3LWl0ZW0gZDpcdGVzdF91c2VyX2NvbW1hbmRzLnR4dCAtdHlwZSBm****

ContentType

string

命令的语言类型。

枚举值:

  • RunPowerShellScript :

    适用于 Windows 实例的 PowerShell 命令

  • RunShellScript :

    适用于 Linux 实例 Shell 命令

  • RunBatScript :

    适用于 Windows 实例的 Bat 命令

RunPowerShellScript

BundleModels

array<object>

云电脑模板列表。

object

云电脑模板。

BundleId

string

云电脑模板 ID。

b-je9hani001wfn****

Amount

integer

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

1

EndUserIds

array

云电脑分配用户列表。

string

用户名称。

alice

DesktopName

string

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

  • 不超过 64 个字符。

  • 必须以大小字母或中文开头,不能以http://https://开头。

  • 可以包含中文、英文、数字、半角冒号(:)、下划线(_)、点号(.)或者短划线(-)。

DemoComputer02

Hostname

string

自定义设置云电脑的主机名称。仅支持设置 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

VolumeEncryptionEnabled

boolean

是否开启磁盘加密。

false

VolumeEncryptionKey

string

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

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

DesktopTimers

array<object>

云电脑定时任务详情。该参数在逐步废弃中,请优先使用 TImerGroupId 参数进行设置。

object

云电脑定时任务详情。

TimerType

string

定时任务类型。

NoOperationReboot

CronExpression

string

定时任务 Cron 表达式。

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

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

Interval

integer

时间间隔,单位为分钟。

10

Enforce

boolean

是否强制执行。

枚举值:

  • true :

    忽略云电脑及连接状态检测,强制执行定时任务

  • false :

    不强制执行

true

ResetType

string

云电脑重置类型。

枚举值:

  • RESET_TYPE_SYSTEM :

    重置系统盘

  • RESET_TYPE_BOTH :

    重置系统盘和用户磁盘

RESET_TYPE_SYSTEM

OperationType

string

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

枚举值:

  • Hibernate :

    休眠

  • Shutdown :

    关机

Shutdown

AllowClientSetting

boolean

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

true

SubnetId

string

子网 ID。

vsw-bp1m*****

MonthDesktopSetting

object

说明

此字段暂不对外开放使用。

UseDuration

integer

说明

此字段暂不对外开放使用。

null

BuyerId

integer

说明

此字段暂不对外开放使用。

null

DesktopId

string

说明

此字段暂不对外开放使用。

null

SnapshotPolicyId

string

无影自动快照策略 ID。

sp-28mp6my0l6zow****

ResourceGroupId

string

无影资源组 ID。

rg-3mtuc28rx95lx****

DesktopAttachment

object

无模板方式入参,在传入 BundleID 参数时该参数无效。

ImageId

string

镜像 ID。

m-39ddhdb0ggzjx*****

SystemDiskCategory

string

系统盘类型。系统盘与数据盘类型需一致,取值范围:

  • cloud_auto:SSD 极速云盘

  • cloud_essd:ESSD 云盘

cloud_auto

SystemDiskSize

integer

系统盘容量。60~500GiB,每 10GiB 为一个步长,单位为 GiB。

40

SystemDiskPerLevel

string

ESSD 磁盘性能等级。如果选用了 ESSD 类型磁盘,则需要填入该参数,可选值:

  • PL0

  • PL1

PL0

DataDiskSize

integer

用户磁盘容量。 40~2040GiB,每 10GiB 为一个步长,单位为 GiB。

40

DataDiskCategory

string

数据盘类型。系统盘与数据盘类型需一致,取值范围:

  • cloud_auto:SSD 极速云盘

  • cloud_essd:ESSD 云盘

cloud_auto

DataDiskPerLevel

string

ESSD 磁盘性能等级。如果选用了 ESSD 类型磁盘,则需要填入该参数,可选值:

  • PL0

  • PL1

PL0

DefaultLanguage

string

语言选择,可选值:

  • zh-CN

  • zh-HK

  • en-US

  • ja-JP

zh-CN

DesktopType

string

云电脑规格。您可以调用 DescribeDesktopTypes 查询云电脑支持的规格 ID。

eds.enterprise_office.8c16g

TimerGroupId

string

定时任务组 ID。

ccg-0caoeogrk9m5****

SavingPlanId

string

说明

此字段暂不对外开放使用。

spn-26c1b7bcrjcI****

ResellerOwnerUid

integer

ExtendInfo

string

JSON 字符串扩展信息。仅内部客户可用。

{}

AppRuleId

string

QosRuleId

string

ChannelCookie

string

PurchaseOptions

object

MonthlyCredits

integer

返回参数

名称

类型

描述

示例值

object

返回信息集合。

OrderId

string

订单 ID。

说明

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

123456789

RequestId

string

请求 ID。

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

DesktopId

array

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

string

云电脑 ID。

["ecd-gx2x1dhsmucyy****"]

示例

正常返回示例

JSON格式

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

错误码

HTTP status code

错误码

错误信息

描述

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

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

变更历史

更多信息,参考变更详情