文档

CreateDesktops - 创建一台或多台云桌面

更新时间:
一键部署

为用户创建一台或多台云桌面。

接口说明

1、创建云桌面前,请先完成以下准备工作:

2、新建桌面后自动执行自定义命令脚本。UserCommands 字段可配置自定义命令。

调试

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

授权信息

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

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

请求参数

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

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

cn-hangzhou
GroupIdstring

桌面组 ID。

dg-boyczi8enfyc5****
BundleIdstring

桌面模板 ID。

b-je9hani001wfn****
DesktopNamestring

云桌面名称。命名规则如下:

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

此参数不开放使用。

To be hidden.
VpcIdstring

此参数不开放使用。

To be hidden.
Amountinteger

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

1
DirectoryIdstring

此参数不开放使用。

To be hidden.
OfficeSiteIdstring

工作区 ID。

cn-hangzhou+os-c5cy7q578s8jc****
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 个。

  • 在同一时段内,只有一个用户可以使用该桌面。
  • 如果未设置EndUserId,创建的云桌面不会分配给任何用户。
string

授权使用云桌面的用户 ID,即将桌面分配给用户。

  • 在同一时段内,只有一个用户可以使用该桌面。
  • 如果未设置EndUserId,创建的云桌面不会分配给任何用户。
test1
Tagobject []

标签。

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
UserCommandsobject []

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

ContentEncodingstring

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

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

命令内容。

bmV3LWl0ZW0gZDpcdGVzdF91c2VyX2NvbW1hbmRzLnR4dCAtdHlwZSBm****
ContentTypestring

运维命令的语言类型。

枚举值:
  • RunPowerShellScript适用于Windows实例的PowerShell命令
  • RunShellScript适用于Linux实例Shell命令
  • RunBatScript适用于Windows实例的Bat命令
RunPowerShellScript
BundleModelsobject []

桌面模板。

BundleIdstring

桌面模板 ID。

b-je9hani001wfn****
Amountinteger

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

1
EndUserIdsarray

桌面分配用户列表。

string

用户名称。

Alice
DesktopNamestring

云桌面名称。

testDesktopName
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****
DesktopTimersobject []

桌面定时任务详情。

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 表示忽略桌面及连接状态检测,强制执行定时任务。

True
ResetTypestring

桌面重置类型。

枚举值:
  • RESET_TYPE_SYSTEMRESET_TYPE_SYSTEM
  • RESET_TYPE_BOTHRESET_TYPE_BOTH
RESET_TYPE_SYSTEM
OperationTypestring

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

枚举值:
  • HibernateHibernate
  • ShutdownShutdown
Shutdown
AllowClientSettingboolean

是否允许端侧配置定时任务。

true

返回参数

名称类型描述示例值
object

返回信息集合。

OrderIdstring

订单 ID。

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

请求 ID。

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

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

string

云桌面 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.指定加密密钥时,需开启磁盘加密功能

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

变更历史

变更时间变更内容概要操作
2023-11-21OpenAPI 错误码发生变更、OpenAPI 入参发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:400
入参OpenAPI 入参发生变更
    新增入参:DesktopMemberIp
2023-11-15OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:400
    删除错误码:500
2023-11-15OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    新增错误码:400
    新增错误码:500
2023-05-24OpenAPI 入参发生变更看变更集
变更项变更内容
入参OpenAPI 入参发生变更
    删除入参:CommonDesktopSetting
2023-05-24OpenAPI 入参发生变更看变更集
变更项变更内容
入参OpenAPI 入参发生变更
    新增入参:CommonDesktopSetting
2023-04-24OpenAPI 入参发生变更看变更集
变更项变更内容
入参OpenAPI 入参发生变更
    新增入参:DesktopTimers
2023-03-14OpenAPI 入参发生变更看变更集
变更项变更内容
入参OpenAPI 入参发生变更
    删除入参:DesktopTimers
2022-08-08OpenAPI 入参发生变更看变更集
变更项变更内容
入参OpenAPI 入参发生变更
    新增入参:UserCommands
  • 本页导读 (0)
文档反馈