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

包周期下单

功能介绍

包周期资源(桌面、磁盘)下订单。

调试

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

URI

POST /v2/{project_id}/periodic/subscribe/order

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

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

Content-Type

String

发送的实体的MIME类型。

表3 请求Body参数

参数

是否必选

参数类型

描述

type

String

订单类型,createDesktops:创建桌面,addVolumes:添加磁盘,rebuildDesktops:重建系统盘,createDesktopPool 创建桌面池,expandDesktopPool 扩容桌面池,applyDesktopsInternet:开通桌面EIP上网,createExclusiveHosts:创建专享主机,subscribeUserSharer:订购用户协同资源,ApplySubnetBandwidth:开通云办公带宽。

enterprise_project_id

String

企业项目ID,默认"0。"

resources

Array of Resource objects

包周期资源。

extend_param

OrderExtendParam object

订单的扩展参数。

表4 Resource

参数

是否必选

参数类型

描述

period_type

Integer

订购周期类型:2:月;3:年;4:包小时(仅限带宽加油包购买场景使用)5:绝对时间;(追加附属资源场景使用,比如主机上追加云硬盘)6:一次性(chargingMode=1 一次性计费场景使用),必填

period_num

Integer

订购周期数。

is_auto_renew

Integer

是否续订。

add_volumes

AddVolumes object

磁盘订单请求。

create_desktops

CreateDesktopReq object

创建桌面请求。

rebuild_desktops

RebuildDesktopsReq object

重建系统盘的请求。

attach_desktops

AttachInstancesReq object

分配用户请求。

create_exclusive_hosts

CreateExclusiveHostsReq object

创建专享主机请求体。

resize_exclusive_lites

ResizeExclusiveLitesReq object

专享主机变更桌面桌面路数请求。

create_desktop_pool

CreateDesktopPoolReq object

创建桌面请求。

expand_desktop_pool

ExpandDesktopPoolOrderReq object

扩容桌面池请求。

apply_desktops_internet

ApplyDesktopsInternet object

开通桌面上网能力请求体。

apply_subnet_bandwidth

ApplySubnetBandwidthReq object

开通云办公带宽请求体。

subscribe_user_sharer

SubscribeUserSharerReq object

用户订阅协同请求体。

cloud_service_console_url

String

支付后跳转的地址。

表5 AddVolumes

参数

是否必选

参数类型

描述

desktop_id

String

桌面ID。

volumes

Array of Volume objects

订单的磁盘信息列表。

表6 CreateDesktopReq

参数

是否必选

参数类型

描述

desktop_type

String

云桌面类型。

  • DEDICATED:专属桌面,单用户。

  • SHARED: 多用户共享桌面。

availability_zone

String

可用分区。将桌面创建到指定的可用分区。如果不指定则使用系统随机的可用分区。

product_id

String

套餐ID。

image_type

String

镜像类型。默认值为private。

  • private:私有镜像。

  • gold:公共镜像。

image_id

String

镜像ID,用于私有镜像创建桌面场景,配合product_id使用。

root_volume

Volume object

系统盘。

data_volumes

Array of Volume objects

数据盘列表。

nics

Array of Nic objects

桌面对应的网卡信息,如果不指定则使用默认网卡。

security_groups

Array of SecurityGroup objects

桌面使用的安全组,如果不指定则默认使用桌面代理中指定的安全组。

desktops

Array of Desktop objects

创建桌面使用的参数列表。长度为1-100。

当前不支持一批桌面不同配置,所有桌面的配置和第一台的一致,如果第一台未设置参数,则取外层的同名参数。

desktop_name

String

搭配size使用,当size为1时代表桌面名,位数1-15,当size大于1时代表桌面名前缀,位数:1-13。

desktop_ips

Array of strings

桌面指定分配的ip地址列表,最小为0,最大为100。

size

Integer

创建不分配用户的桌面的个数,和desktops不能同时生效,搭配desktop_name使用。

email_notification

Boolean

创建成功后是否发送邮件通知桌面用户,默认为true。

enterprise_project_id

String

企业项目ID,默认"0。"

tags

Array of Tag objects

标签列表。

apply_shared_vpc_dedicated_param

ApplySharedVpcDedicatedParam object

共享Vpc专线入参。

eip

Eip object

EIP信息。

desktop_name_policy_id

String

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

表7 Volume

参数

是否必选

参数类型

描述

type

String

桌面数据盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。

-SAS:高IO。

-SSD:超高IO。

-GPSSD:通用型SSD。

size

Integer

磁盘容量,单位GB。系统盘大小范围[80-32760],数据盘范围[10-32760],大小为10的倍数。

表8 Nic

参数

是否必选

参数类型

描述

subnet_id

String

网卡对应的子网ID。

表9 SecurityGroup

参数

是否必选

参数类型

描述

id

String

安全组ID。

表10 Desktop

参数

是否必选

参数类型

描述

user_name

String

桌面所属的用户,当桌面创建成功后此用户可以登录该桌面。只允许输入大写字母、小写字母、数字、中划线(-)和下划线(_)。域类型为LITE_AD时,使用小写字母或者大写字母开头,长度范围为[1-20]。当域类型为LOCAL_AD时,用户名可以使用小写字母或者大写字母或者数字开头,长度范围为[1-32]。Windows桌面用户最长支持20个字符,Linux桌面用户最长支持32个字符。

user_email

String

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

user_phone

String

合法用户手机号。

user_group

String

桌面用户所属的用户组。

  • sudo:Linux管理员组。

  • default:Linux默认用户组。

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

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

computer_name

String

桌面名,桌面名必须保证唯一。桌面名称只允许输入大写字母、小写字母、中文、数字、中划线,以字母或数字开头、不能以中划线结尾,长度范围为1~15(中文字符长度为2,数字及英文字符长度为1)。

os_host_name

String

系统计算机名。

desktop_name_prefix

String

桌面名称前缀,不指定"computer_name"时生效。

表11 ApplySharedVpcDedicatedParam

参数

是否必选

参数类型

描述

address

String

租户指定的共享Vpc专线地址。

port

Integer

租户指定共享Vpc专线地址端口。

availability_zone

Array of strings

开通服务资源使用的可用分区,默认随机使用2个可用区。

表12 Eip

参数

是否必选

参数类型

描述

id

String

桌面绑定的EIP的id,有值时优先绑定EIP。

type

String

EIP的类型,5_bgp(全动态BGP),5_sbgp(静态BGP)。

charge_mode

String

eip带宽计费模式

  • TRAFFIC:按流量计费。

  • BANDWIDTH:按带宽计费。

bandwidth_size

Integer

带宽大小。

表13 RebuildDesktopsReq

参数

是否必选

参数类型

描述

desktop_ids

Array of strings

计算机id列表。

image_type

String

镜像类型。

image_id

String

模板ID。

os_type

String

os类型。

delay_time

Integer

立即重建时给用户预留的保存数据的时间(单位:分钟)。

message

String

下发重建系统盘任务时,给用户发送的提示信息。

order_id

String

订单ID,包周期桌面重建系统盘,涉及收费镜像时需传。

enterprise_project_id

String

企业项目ID,默认"0。"

表14 AttachInstancesReq

参数

是否必选

参数类型

描述

desktops

Array of AttachInstancesDesktopInfo objects

桌面信息列表。

image_type

String

镜像类型,涉及变更镜像时需传(可选)。

image_id

String

模板ID,涉及变更镜像时需传(可选)。

desktop_name_policy_id

String

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

表15 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

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

表16 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:用户组。

表17 CreateExclusiveHostsReq

参数

是否必选

参数类型

描述

availability_zone

String

可用分区。

name

String

名称。

apply_desktop_quantity

Integer

追加桌面数量。

quantity

Integer

购买数量。

product_id

String

产品套餐ID。

image_volumes

Array of Volume objects

镜像盘列表。

enterprise_project_id

String

企业项目ID,默认"0。"

memory_volumes

Array of Volume objects

存储盘列表。

vpc_id

String

vpc id。

subnet_id

String

子网id。

resize_exclusive_lites

ResizeExclusiveLitesReq object

专享主机变更桌面桌面路数请求。

表18 ResizeExclusiveLitesReq

参数

是否必选

参数类型

描述

enterprise_project_id

String

企业项目ID,默认"0。"

product_id

String

产品套餐ID。

new_quantity

Integer

扩容后的桌面个数,单位为个/次。

表19 CreateDesktopPoolReq

参数

是否必选

参数类型

描述

name

String

桌面池名称,桌面池名称必须保证唯一。桌面名称只允许输入中文、大写字母、小写字母、数字、中划线,长度范围为1~255。

type

String

桌面池类型,DYNAMIC:动态池,STATIC:静态池。

size

Integer

桌面池大小:当前桌面池要创建多少台桌面。

description

String

桌面池描述。

availability_zone

String

可用分区。将桌面创建到指定的可用分区。如果不指定则使用系统随机的可用分区。

product_id

String

套餐ID。

image_type

String

镜像类型。默认值为private。

  • private:私有镜像。

  • gold:公共镜像。

image_id

String

镜像ID,用于私有镜像创建桌面场景,配合product_id使用。

root_volume

VolumeInfo object

系统盘。

data_volumes

Array of VolumeInfo objects

数据盘列表。

vpc_id

String

创建桌面时的VPC ID。

subnet_ids

Array of strings

创建桌面使用的子网ID。

security_groups

Array of SecurityGroup objects

桌面使用的安全组,如果不指定则默认使用桌面代理中指定的安全组。

authorized_objects

Array of AuthorizedObjects objects

要授权的用户/用户组列表。

ou_name

String

OU名称,在对接AD时使用,需提前在AD中创建OU。

tags

Array of Tag objects

标签列表。

enterprise_project_id

String

企业项目ID,默认"0。"

disconnected_retention_period

Integer

动态池桌面断连多少分钟内,保留用户与桌面的绑定关系,超时后自动解绑。

enable_autoscale

Boolean

桌面池是否开启弹性伸缩类型,为false则表示不开启弹性伸缩,为true则表示开启弹性伸缩。

autoscale_policy

AutoscalePolicy object

弹性伸缩策略。

desktop_name_policy_id

String

策略id,用于指定生成桌面名称策略。

表20 VolumeInfo

参数

是否必选

参数类型

描述

id

String

批量操作磁盘的磁盘集合id。

type

String

桌面数据盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。

  • SAS:高IO。

  • SSD:超高IO。

size

Integer

磁盘容量,单位GB。

resource_spec_code

String

规格。

表21 AuthorizedObjects

参数

是否必选

参数类型

描述

object_type

String

绑定对象类型枚举。

  • USER:用户

  • USER_GROUP:用户组

object_id

String

用户/用户组id。

object_name

String

用户/用户组名称。

user_group

String

桌面用户所属的用户权限组。

  • sudo:Linux管理员组。

  • default:Linux默认用户组。

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

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

created_at

String

创建时间。格式为:UTC格式,例如“2022-05-11T11:45:42.000Z”。

表22 Tag

参数

是否必选

参数类型

描述

key

String

标签的键,不能为空,最大长度128个unicode字符。大小写字母,数字,可以包含中划线“-”,下划线“_”,不能包含以下字符“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

value

String

标签的值,最大长度43个unicode字符。大小写字母,数字,可以包含中划线“-”,下划线“_”,不能包含以下字符“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

表23 AutoscalePolicy

参数

是否必选

参数类型

描述

autoscale_type

String

弹性伸缩类型,ACCESS_CREATED:接入时创建,AUTO_CREATED:弹性伸缩。

max_auto_created

Integer

自动创建桌面上限。

min_idle

Integer

空闲桌面低于多少时开始自动创建桌面。

once_auto_created

Integer

一次自动创建桌面的数量。

表24 ExpandDesktopPoolOrderReq

参数

是否必选

参数类型

描述

size

Integer

扩容桌面池的大小。

pool_id

String

要扩容的桌面池ID。

表25 ApplyDesktopsInternet

参数

是否必选

参数类型

描述

desktop_ids

Array of strings

需要开通上网功能的桌面id列表。

eip_type

String

支持的类型请参考EIP服务支持的类型。可通过调用如下链接的接口查询,https://support.huaweicloud.com/api-eip/ShowPublicIpType.html。

eip_charge_mode

String

eip带宽计费模式

  • TRAFFIC:按流量计费。

  • BANDWIDTH:按带宽计费。

bandwidth_size

Integer

带宽大小,单位Mbit/s。默认1Mbit/s~2000Mbit/s(具体范围以各区域配置为准,请参见控制台对应页面显示)。

count

Integer

需要购买EIP的数量,当desktop_ids为空时需要填,兼容单独购买EIP场景。

表26 ApplySubnetBandwidthReq

参数

是否必选

参数类型

描述

bandwidth_name

String

云办公带宽名称。

subnet_id

String

子网id。

charge_mode

String

计费模式

  • wks_bandwidth:按带宽计费,仅包周期支持。

  • free: 不计费,仅按需支持。

  • wks_traffic:按流量计费,仅按需支持。

bandwidth_size

Integer

云办公带宽大小。

enterprise_project_id

String

企业项目ID,默认"0。"

表27 SubscribeUserSharerReq

参数

是否必选

参数类型

描述

user_sharer_sku

String

用户协同资源SKU码。

users

Array of User objects

开通协同的的用户列表。

表28 User

参数

是否必选

参数类型

描述

user_id

String

用户id。

user_name

String

用户名称。

表29 OrderExtendParam

参数

是否必选

参数类型

描述

is_auto_pay

String

是否自动付款。true:自动支付; false:不自动支付;默认false。

响应参数

状态码: 200

表30 响应Body参数

参数

参数类型

描述

order_id

String

订单号,下单成功时返回订单ID。

状态码: 400

表31 响应Body参数

参数

参数类型

描述

error_code

String

错误码,失败时返回。

error_msg

String

错误描述。

encoded_authorization_message

String

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

状态码: 500

表32 响应Body参数

参数

参数类型

描述

error_code

String

错误码,失败时返回。

error_msg

String

错误描述。

encoded_authorization_message

String

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

请求示例

  • POST /v2/0bec5db98280d2d02fd6c00c2de791ce/periodic/subscribe/order
    
    {
      "type" : "addVolumes",
      "enterprise_project_id" : "0",
      "resources" : [ {
        "add_volumes" : {
          "desktop_id" : "8d049b4e-4f1e-4ed5-b3a9-a7f0f15658a7",
          "volumes" : [ {
            "type" : "SAS",
            "size" : 50
          } ]
        }
      } ]
    }
  • POST /v2/0bec5db98280d2d02fd6c00c2de791ce/periodic/subscribe/order
    
    {
      "type" : "createDesktops",
      "enterprise_project_id" : "0",
      "resources" : [ {
        "period_type" : 2,
        "period_num" : 1,
        "create_desktops" : {
          "desktops" : [ {
            "user_email" : "test@test.com",
            "user_name" : "test",
            "user_group" : "sudo"
          } ],
          "desktop_type" : "DEDICATED",
          "email_notification" : false,
          "product_id" : "workspace.k.xlarge2.uosv20pro",
          "share_resource_sku" : "workspace.collaborativedesktop.6party.standard",
          "image_type" : "private",
          "image_id" : "e1d65e11-861c-459d-a3a8-ab150d79befc",
          "root_volume" : {
            "type" : "SAS",
            "size" : 80
          },
          "nics" : [ {
            "subnet_id" : "197c1aa4-2611-48bd-a3af-ac4ce2c17c4c"
          } ],
          "tags" : [ {
            "key" : "aa",
            "value" : "bb"
          } ]
        }
      } ]
    }

响应示例

状态码: 200

CBC下订单响应体。

{
  "order_id" : "CS2108102036B2CAI"
}

状态码

状态码

描述

200

CBC下订单响应体。

400

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

500

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

错误码

请参见错误码

相关文档