克隆云主机
接口功能介绍
使用已创建成功的云主机,克隆一台新的云主机。新云主机的规格、镜像、数据盘、系统盘及数据等均与备份一致。
准备工作:
构造请求:在调用前需要了解如何构造请求,详情查看构造请求
认证鉴权:openapi请求需要进行加密调用,详细查看认证鉴权
计费模式:确认开通云主机的计费模式,详细查看计费模式
网络规划:规划云主机的网络环境,详细查看弹性云主机-网络
注意事项:
成本估算:了解云主机的计费项
用户配额:确认个人在不同资源池下资源配额,可以通过用户配额查询接口进行查询
异步接口:该接口为异步接口,下单过后会拿到主订单ID(masterOrderID),后续可以调用根据masterOrderID查询云主机ID,使用主订单ID来对订单情况与开通成功后的资源ID进行查询
企业项目:保证资源隔离,需确保所有资源与云主机处于相同企业项目下才可进行挂载操作,如网络资源:VPC、安全组、弹性IP、子网
标签绑定:云主机绑定标签时,标签键和值存在的情况下,绑定对应标签;不存在的情况下,创建新的标签并绑定云主机。主机创建完成后,云主机变为运行状态,此时标签仍可能未绑定,需等待一段时间(0~10分钟)。新的云主机不会克隆原云主机的标签,如需标签请重新添加。
接口约束
1. 被克隆云主机存在 2. 目前不支持预付费账户创建按需付费类型云主机
3. 计费模式选择包年包月计费方式时,需要填写订购周期类型与订购时长
4. 自动分配弹性IP(extIP="1")时,需要填写弹性IP版本(ipVersion)与带宽大小(bandwidth);使用已有的弹性IP(extIP="2")时,需要填写弹性IP的版本(ipVersion),和对应弹性IP的ID(eipID或ipv6AddressID)
5. 挂载网卡时,子网与虚拟私有云存在对应关系,确保子网属于当前虚拟私有云
6. 云主机绑定多个标签时,标签键(参数labelKey)不可重复,单台云主机最多可绑定10个标签
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 |
请求示例
请求头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
}
状态码
状态码 | 描述 |
---|---|
200 | 表示请求成功 |
错误码
errorCode | 描述 |
---|---|
Openapi.PatternCheck.NotValid | 请求参数无效 |
Ecs.Parameter.Error | 请求参数无效 |
Ecs.Instance.ParameterInvalid | 请求参数无效 |
Ecs.Instance.NameNotValid | 云主机名称无效 |
Ecs.Instance.NameRepeat | 云主机名称不可重复 |
Ecs.Instance.NotFound | 未找到对应云主机,请确认云主机ID是否正确 |
Ecs.Instance.VmGroupNoPermission | 用户无该云主机组所属企业项目权限,请确认输入的云主机组是否有效 |
Ecs.RegionInfo.Empty | 资源池信息为空 |
Ecs.Parameter.RegionID | 可见资源池信息为空,请确认regionID是否正确 |
Ecs.RegionInfo.AccessFailed | 查询资源池失败,请重试。如果多次尝试失败,请提交工单 |
Openapi.CustomerAdmin.AccessFailed | 查询用户信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.CustomerAdmin.FormatError | 查询用户信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.UserQuota.AccessFailed | 查询用户配额信息失败,请重试。如果多次尝试失败,请提交工单 |
Ecs.UserQuota.Empty | 查询用户配额信息为空,请重试。如果多次尝试失败,请提交工单 |
Ecs.UserQuota.DataDamaged | 查询用户配额信息不符预期,请重试。如果多次尝试失败,请提交工单 |
Openapi.PermissionpatternCheck.NotValid | 请求参数无效 |
Openapi.PermissionAdmin.AccessFailed | 查询用户许可信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.PermissionAdmin.FormatError | 查询用户资源池许可信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.PermissionCheck.UnknowError | 查询用户许可信息失败,请重试。如果多次尝试失败,请提交工单 |
Openapi.ResourcespatternCheck.NotValid | 获取用户已有资源请求参数无效 |
Openapi.ResourcesWorkorder.AccessFailed | 查询用户已有资源错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.ResourcesAdmin.FormatError | 查询用户已有资源格式错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.ResourcesCheck.UnknowError | 查询用户已有资源失败,请重试。如果多次尝试失败,请提交工单 |
Openapi.QuotaCheck.UnknowError | 配额检查失败,请重试。如果多次尝试失败,请提交工单 |
Openapi.QuotaCheck.QuotaExceed | 用户限额信息超出系统限额 |
Openapi.FlavorAdmin.AccessFailed | 查询云主机规格失败,请重试。如果多次尝试失败,请提交工单 |
Openapi.FlavorAdmin.FormatError | 查询云主机规格信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.ResourcesFormat.FormatError | 查询用户已有资源格式错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.Instance.FlavorNotFound | 未找到对应的云主机规格,请确认输入的云主机规格信息是否有效 |
Ecs.Instance.FlavorSoldOut | 该规格云主机已售罄,请提交工单 |
Openapi.EbsCheck.NotSupported | 数据盘类型不支持 |
Openapi.EbsCheck.QuotaExceed | 单笔订单磁盘合计超出系统限额 |
Openapi.KmsCheck.NotSupported | 磁盘加密不支持 |
Openapi.EbsCheck.NotFound | 密钥信息不存在 |
Openapi.Kmsformat.FormatError | 查询密钥信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.Kmsyacos.AccessFailed | 查询密钥信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.KmsCheck.UnknowError | 查询密钥信息失败,请重试。如果多次尝试失败,请提交工单 |
Ecs.Instance.EbsSoldOut | 该规格磁盘已售罄 |
Ecs.Instance.NetcardInvalid | 必须且只能配置一个主网卡,请确认输入的主网卡信息是否有效 |
Openapi.VpcWorkorder.AccessFailed | 查询VPC信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.VpcFormat.FormatError | 查询VPC信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.VpcCheck.NotFound | 未找到对应的VPC信息,请确认输入的VPC信息是否有效 |
Openapi.SubnetCheck.NotFound | 未找到对应的子网信息,请确认输入的子网信息是否有效 |
Openapi.NetcardCheck.QuotaExceed | 网卡超出系统限额 |
Openapi.Subnetworkorder.AccessFailed | 查询vpc ip信息错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.Instance.FixedIPRepeat | 内网ip不可重复 |
Openapi.Subnetformat.FormatError | 查询vpc ip信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.FixedIP.NotValid | 内网ip地址已被使用或不属于所选子网网段 |
Ecs.Instance.PublicIpInvalid | 自动分配公网ip参数错误 |
Ecs.PublicIpWorkorder.AccessFailed | 查询公网ip信息错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.PublicIpFormat.FormatError | 查询公网ip信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.PublicIpCheck.NotFound | 未找到对应的公网ip地址,请确认输入的ip信息是否有效 |
Ecs.PublicIpCheck.SoldOut | 该公网ip已售罄,请提交工单 |
Openapi.KeypairWorkorder.AccessFailed | 查询密钥对信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.KeypairFormat.FormatError | 查询密钥对信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.KeypairCheck.NotFound | 未找到对应的密钥对,请确认输入的密钥对信息是否有效 |
Openapi.KeypairCheck.UnknowError | 密钥对检查失败,请重试。如果多次尝试失败,请提交工单 |
Ecs.Instance.VmGroupNoPermission | 用户无该云主机组所属企业项目权限,请确认输入的云主机组是否有效 |
Openapi.VmgroupWorkorder.AccessFailed | 查询云主机组信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.VmgroupFormat.FormatError | 查询云主机组信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.VmgroupCheck.NotFound | 未找到对应的云主机组,请确认输入的云主机组信息是否有效 |
Openapi.VmgroupCheck.UnknowError | 云主机组检查失败,请重试。如果多次尝试失败,请提交工单 |
Openapi.SecGroupsWorkorder.AccessFailed | 查询安全组组信息错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.SecGroupsFormat.FormatError | 查询安全组信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Openapi.SecGroupsCheck.NotFound | 未找到对应的安全组,请确认输入的安全组组信息是否有效 |
Openapi.SecGroupsCheck.UnknowError | 安全组检查失败,请重试。如果多次尝试失败,请提交工单 |
Ecs.SecGroups.NotFound | 未找到默认安全组,请指定安全组后重试 |
Image.ImageWorkorder.AccessFailed | 查询镜像信息错误,请重试。如果多次尝试失败,请提交工单 |
Image.ImageFormat.FormatError | 查询镜像信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Image.ImageCheck.NotFound | 镜像不存在或不符合要求,请确认镜像信息是否正确 |
Image.ImageCheck.UnknowError | 查询镜像信息失败,请重试。如果多次尝试失败,请提交工单 |
Ecs.Saleyacos.AccessFailed | 查询售罄信息错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.SaleCheck.UnknowError | 查询售罄信息失败,请重试。如果多次尝试失败,请提交工单 |
Ecs.SaleFormat.FormatError | 查询售罄信息格式错误,请重试。如果多次尝试失败,请提交工单 |
Ecs.Order.ProcFailed | 订单处理失败 |
Ecs.OrderCheck.UserForbiddenOnDemand | 用户不允许订购按需类订单 |
Ecs.OrderCheck.InvalidProjectID | 企业项目ID不存在,请确认企业项目ID是否有效 |
Ecs.Instance.QuotaExceed | 用户限额信息超出系统限额 |
Ecs.LabelKey.Repeat | 标签键不可重复 |
Ecs.Parameter.InvalidCycleCount | 请求参数错误: [cycleCount]参数错误,请重新输入 |
Ecs.Parameter.InvalidCycleType | 请求参数错误: [cycleType]参数错误,请重新输入 |