接口功能介绍
使用已创建成功的云主机,克隆一台新的云主机。新云主机的规格、镜像、数据盘、系统盘及数据等均与备份一致。
准备工作:
构造请求:在调用前需要了解如何构造请求,详情查看构造请求
认证鉴权:openapi请求需要进行加密调用,详细查看认证鉴权
计费模式:确认开通云主机的计费模式,详细查看计费模式
网络规划:规划云主机的网络环境,详细查看弹性云主机-网络
注意事项:
成本估算:了解云主机的计费项
用户配额:确认个人在不同资源池下资源配额,可以通过用户配额查询接口进行查询
异步接口:该接口为异步接口,下单过后会拿到主订单ID(masterOrderID),后续可以调用根据masterOrderID查询云主机ID,使用主订单ID来对订单情况与开通成功后的资源ID进行查询
企业项目:保证资源隔离,需确保所有资源与云主机处于相同企业项目下才可进行挂载操作,如网络资源:VPC、安全组、弹性IP、子网
标签绑定:云主机绑定标签时,标签键和值存在的情况下,绑定对应标签;不存在的情况下,创建新的标签并绑定云主机。主机创建完成后,云主机变为运行状态,此时标签仍可能未绑定,需等待一段时间(0~10分钟)。新的云主机不会克隆原云主机的标签,如需标签请重新添加。
监控安装:在云服务器创建成功后,3-5分钟内将完成详细监控Agent安装,即开启云服务器CPU,内存,网络,磁盘,进程等指标详细监控,若不开启,则无任何监控数据。
接口约束
1. 被克隆云主机存在,且云主机处于运行中(running)或关机(stopped)状态
2. 目前不支持预付费账户创建按需付费类型云主机
3. 计费模式选择包年包月计费方式时,需要填写订购周期类型与订购时长
4. 自动分配弹性IP(extIP="1")时,需要填写弹性IP版本(ipVersion)与带宽大小(bandwidth);使用已有的弹性IP(extIP="2")时,需要填写弹性IP的版本(ipVersion),和对应弹性IP的ID(eipID或ipv6AddressID)
5. 挂载网卡时,子网与虚拟私有云存在对应关系,确保子网属于当前虚拟私有云
6. 云主机绑定多个标签时,标签键(参数labelKey)不可重复,单台云主机最多可绑定10个标签
7. 云主机已挂载的云硬盘状态不能处于“镜像制作中”
URI
POST /v4/ecs/clone-instance
路径参数
无
Query参数
无
请求参数
请求头header参数
无
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
clientToken | 是 | String | 客户端存根,用于保证订单幂等性。要求单个云平台账户内唯一,使用同一个ClientToken值,其他请求参数相同时,则代表为同一个请求。保留时间为24小时 | 4cf2962d-e92c-4c00-9181-cfbb2218636c | |
regionID | 是 | String | 资源池ID,您可以查看地域和可用区来了解资源池 获取: 查 资源池列表查询 |
bb9fdb42056f11eda1610242ac110002 | |
instanceID | 是 | String | 被克隆云主机ID,获取: 查 查询云主机列表 创 创建一台按量付费或包年包月的云主机 创 批量创建按量付费或包年包月云主机 |
||
instanceName | 是 | String | 云主机名称。不同操作系统下,云主机名称规则有差异。 Windows:长度为2-15个字符,允许使用大小写字母、数字或连字符(-)。不能以连字符(-)开头或结尾,不能连续使用连字符(-),也不能仅使用数字; 其他操作系统:长度为2-64字符,允许使用点(.)分隔字符成多段,每段允许使用大小写字母、数字或连字符(-),但不能连续使用点号(.)或连字符(-),不能以点号(.)或连字符(-)开头或结尾,也不能仅使用数字 |
ecm-3300 | |
displayName | 是 | String | 云主机显示名称,长度为2-63字符 | ecm-3300 | |
vpcID | 是 | String | 虚拟私有云ID,您可以查看产品定义-虚拟私有云来了解虚拟私有云 获取: 查 查询VPC列表 创 创建VPC 注:在多可用区类型资源池下,vpcID通常为“vpc-”开头,非多可用区类型资源池vpcID为uuid格式 |
4797e8a1-722d-4996-9362-458001813e41 | |
onDemand | 是 | Boolean | 购买方式,取值范围: false(按周期), true(按需) 您可以查看计费模式了解云主机的计费模式 注:按周期(false)创建云主机需要同时指定cycleCount和cycleType参数 |
false | |
secGroupList | 否 | Array of Strings | 安全组ID列表,您可以查看安全组概述了解安全组相关信息 获取: 查 查询用户安全组列表 创 创建安全组 注:在多可用区类型资源池下,安全组ID通常以“sg-”开头,非多可用区类型资源池安全组ID为uuid格式;默认使用默认安全组,无默认安全组情况下请填写该参数 |
["202ca2d2-273a-5995-873b-03731212c8e4"] | |
networkCardList | 是 | Array of Objects | 网卡信息列表,您可以查看弹性网卡概述了解弹性网卡相关信息 | networkCardList | |
extIP | 是 | String | 是否使用弹性公网IP,取值范围: 0(不使用), 1(自动分配), 2(使用已有)。 注:自动分配弹性公网,默认分配IPv4弹性公网,需填写带宽大小,如需ipv6请填写弹性IP版本(即参数extIP="1"时,需填写参数bandwidth、ipVersion,ipVersion含默认值ipv4); 使用已有弹性公网,请填写弹性公网IP的ID,默认为ipv4版本,如使用已有ipv6,请填写弹性ip版本(即参数extIP="2"时,需填写eipID或ipv6AddressID,同时ipv6情况下请填写ipVersion) |
2 | |
ipVersion | 否 | String | 弹性IP版本,取值范围: ipv4(v4地址), ipv6(v6地址), 不指定默认为ipv4。注:请先确认该资源池是否支持ipv6 |
ipv4 | |
bandwidth | 否 | Integer | 带宽大小,单位为Mbit/s,取值范围:[1, 2000] 注:extIP取值1时,bandwidth生效且必填 |
100 | |
ipv6AddressID | 否 | String | 弹性公网IPv6的ID,注:多可用区类资源池暂不支持;填写该参数时请填写ipVersion为ipv6 | eip-5sdasd2gfh | |
eipID | 否 | String | 弹性公网IP的ID,您可以查看2-63产品定义-弹性IP来了解弹性公网IP 获取: 查 查询指定地域已创建的弹性 IP 创 创建弹性IP |
eip-9jpeyl0frh | |
affinityGroupID | 否 | String | 云主机组ID,获取: 查 查询云主机组列表或者详情 创 创建云主机组 |
259b0c37-1044-41d8-989e | |
keyPairID | 否 | String | 密钥对ID,您可以查看密钥对来了解密钥对相关内容 获取: 查 查询一个或多个密钥对 创 创建一对SSH密钥对 |
c57d0626-8a82-407b-a910-b454907778c3 | |
userPassword | 否 | String | 用户密码,满足以下规则: 长度在8~30个字符; 必须包含大写字母、小写字母、数字以及特殊符号中的三项; 特殊符号可选:()`-!@#$%^&*_-+=|{}[]:;'<>,.?/且不能以斜线号 / 开头; 不能包含3个及以上连续字符; Linux镜像不能包含镜像用户名(root)、用户名的倒序(toor)、用户名大小写变化(如RoOt、rOot等); Windows镜像不能包含镜像用户名(Administrator)、用户名大小写变化(adminiSTrator等) |
1qaz@WSX | |
cycleCount | 否 | Integer | 订购时长,该参数需要与cycleType一同使用 注:最长订购周期为60个月(5年);cycleType与cycleCount一起填写;按量付费(即onDemand为true)时,无需填写该参数(填写无效) |
6 | |
cycleType | 否 | String | 订购周期类型,取值范围: MONTH:按月, YEAR:按年。注:cycleType与cycleCount一起填写;按量付费(即onDemand为true)时,无需填写该参数(填写无效) |
MONTH | |
autoRenewStatus | 否 | Integer | 是否自动续订,取值范围: 0(不续费), 1(自动续费), 注:按月购买,自动续订周期为1个月;按年购买,自动续订周期为1年 |
1 | |
userData | 否 | String | 用户自定义数据,需要以Base64方式编码,Base64编码后的长度限制为1-16384字符。 注:非多可用区类型资源池暂不支持该参数 |
ZWNobyBoZWxsbyBnb3N0YWNrIQ== | |
projectID | 否 | String | 企业项目ID,企业项目管理服务提供统一的云资源按企业项目管理,以及企业项目内的资源管理,成员管理。您可以通过查看创建企业项目了解如何创建企业项目 注:默认值为"0" |
6732237e53bc4591b0e67d750030ebe3 | |
labelList | 否 | Array of Objects | 标签信息列表,注:单台云主机最多可绑定10个标签;云主机创建完成后,云主机变为运行状态,此时标签仍可能未绑定,需等待一段时间(0-10分钟)。 | labelList | |
monitorService | 否 | Boolean | 监控参数,支持通过该参数指定云主机在创建后是否开启详细监控,取值范围: false(不开启), true(开启) 若指定该参数为true或不指定该参数,云主机内默认开启最新详细监控服务。 若指定该参数为false,默认不开启最新监控服务,而使用与原云主机相同的监控服务。 说明:仅部分资源池支持monitorService参数,详细请参考监控Agent概览。 |
true |
表 networkCardList
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
nicName | 否 | String | 长度2-32,支持拉丁字母、中文、数字、下划线、连字符,中文或英文字母开头,不能以http:或https:开头 | net.name | |
fixedIP | 否 | String | 内网IPv4地址,注:不可使用已占用IP | 192.168.3.20 | |
isMaster | 是 | Boolean | 是否主网卡,取值范围: true(表示主网卡), false(表示扩展网卡) 注:只能含有一个主网卡 |
true | |
subnetID | 是 | String | 子网ID,您可以查看基本概念来查找子网的相关定义 获取: 查 查询子网列表 创 创建子网 注:在多可用区类型资源池下,subnetID通常以“subnet-”开头,非多可用区类型资源池subnetID为uuid格式 |
a90eebf0-d798-5017-b9f0-9468bb2301c2 |
表 labelList
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
labelKey | 是 | String | 标签键,长度限制1-32字符,注:同一台云主机绑定多个标签时,标签键不可重复 | test-key | |
labelValue | 是 | String | 标签值,长度限制1-32字符 | test-value |
响应参数
参数 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|
statusCode | Integer | 返回状态码(800为成功,900为失败) | 800 | |
errorCode | String | 业务细分码,为product.module.code三段式码,详见错误码说明 | Openapi.PatternCheck.NotValid | |
error | String | 错误码,为product.module.code三段式码,详见错误码说明 | Openapi.PatternCheck.NotValid | |
message | String | 失败时的错误信息 | ||
description | String | 失败时的错误描述 | ||
returnObj | Object | 成功时返回的数据 | returnObj |
表 returnObj
参数 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|
masterOrderID | String | 主订单ID。调用方在拿到masterOrderID之后,可以使用materOrderID进一步确认订单状态及资源状态 查询订单状态及资源UUID: 查 根据masterOrderID查询云主机ID |
235145e4489811eda8330242ac110002 | |
masterOrderNO | String | 订单号 | 20221010142913884246 | |
masterResourceID | String | 主资源ID | 3cda4bf48cac42b8b7db3b279d2fc6fb | |
regionID | String | 资源池ID | 81f7728662dd11ec810800155d307d5b |
枚举参数
无
请求示例
请求url
无
请求头header
无
请求体body
示例1:克隆一台云主机,按需计费(不使用密钥对、云主机组、弹性公网、自定义数据等内容,不挂载副网卡)
在华东1克隆一台云主机,并按需计费
{
"regionID": "bb9fdb42056f11eda1610242ac110002",
"extIP":"0",
"instanceName":"Api-clone01",
"displayName":"CloneTest01",
"clientToken":"please_create_your_own_clientToken_here_not_use_clone_example_01",
"networkCardList": [
{
"subnetID": "subnet-2bqqmpxt96",
"isMaster": true
}
],
"onDemand": true,
"vpcID":"vpc-4f0sye7nn3",
"instanceID": "df9974de-6d63-58d0-d895-ffe3af9c5716"
}
示例2:克隆一台云主机,并个性化配置网络(弹性公网、副网卡等)及其他信息(密钥对、云主机组等)
在华东1克隆一台云主机,包周期付费,购买六个月。增加副网卡,并指定内网IP与名称
自动分配公网IP、带宽为2,加入云主机组,绑定密钥对,使用自定义数据,指定项目ID。
后续自动续订
{
"regionID": "bb9fdb42056f11eda1610242ac110002",
"extIP":"1",
"ipVersion": "ipv4",
"bandwidth": 2,
"instanceName":"Api-clone01",
"displayName":"CloneTest01",
"clientToken":"please_create_your_own_clientToken_here_not_use_clone_example_02",
"vpcID":"vpc-4f0sye7nn3",
"networkCardList": [
{
"subnetID": "subnet-2bqqmpxt96",
"isMaster": true
},
{
"subnetID": "subnet-3lrbkaj66a",
"isMaster": false,
"fixedIP": "192.168.0.17",
"nicName": "nic-02"
}
],
"onDemand": false,
"cycleType": "MONTH",
"cycleCount": 6,
"instanceID": "df9974de-6d63-58d0-d895-ffe3af9c5716",
"keyPairID": "48edb5e9-c66a-3f74-907d-a45e771a8cef",
"affinityGroupID": "924b95c4-68d9-3fbe-835d-fee46397feda",
"projectID": "95e17b31e41e4d509687398baf91c260",
"autoRenewStatus": 1,
"userData": "b3BlbmFwaV91c2VyRGF0YV90ZXN0"
}
示例3:克隆一台云主机,指定使用已有公网IP
在华东1克隆一台云主机,指定使用已有公网IP,包周期付费,购买六个月。
{
"regionID": "bb9fdb42056f11eda1610242ac110002",
"extIP":"2",
"ipVersion": "ipv4",
"eipID": "eip-9jpeyl0frh",
"instanceName":"Api-clone01",
"displayName":"CloneTest01",
"clientToken":"please_create_your_own_clientToken_here_not_use_clone_example_02",
"vpcID":"vpc-4f0sye7nn3",
"networkCardList": [
{
"subnetID": "subnet-2bqqmpxt96",
"isMaster": true
}
],
"onDemand": false,
"cycleType": "MONTH",
"cycleCount": 6,
"instanceID": "df9974de-6d63-58d0-d895-ffe3af9c5716"
}
响应示例
{
"returnObj": {
"regionID": "81f7728662dd11ec810800155d307d5b",
"masterOrderID": "107e901c449611ed8b6a0242ac110002",
"masterResourceID": "34c7cc05a52b48eda0a84e34a82b346b",
"masterOrderNO": "20221009163836430197"
},
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}
状态码
请参考 状态码
错误码
请参考 错误码