阅读420 返回首页    go 阿里云


创建自定义镜像__镜像相关接口_API 参考_云服务器 ECS-阿里云

描述

创建的自定义镜像,只有等待状态变为可用才能使用,可以使用镜像进行创建新的ECS实例或者对已有实例进行更换系统盘。创建自定义镜像,可以通过三种方式来创建,来满足您不同业务场景。

1.如果您只需要对实例的系统盘创建自定义镜像,那么只需要指定一个快照Id进行创建自定义镜像。

  • 只有系统盘的快照可以用于创建自定义镜像。
  • 只有达到完成状态(进度为100%)的快照可以用于创建自定义镜像。
  • 被安全控制在实例的OperationLocks中标记了”LockReason”: “security”的锁定状态时,不能创建自定义镜像。
  • 2013年7月15日(含)之前创建的快照,不能创建自定义镜像。当Request因此原因被拒绝时,Response中的code为InvalidSnapshot.TooOld

2.如果您需要对整个ECS实例做个模板,那么可以指定实例Id进行创建自定义镜像。

  • 指定的实例的状态只能使运行中或者已停止
  • 会给该实例的每块磁盘新增一个快照
  • 需要等待快照创建完成后,镜像的状态才能变成可用状态,需要您等待一段时间。

3.如果您需要对多个快照进行组合成一个镜像模板,那么可以指定DiskDeviceMappings进行创建自定义镜像。

  • 只能指定一个系统盘快照,指定系统盘快照的device必须为:/dev/xvda
  • 可以不指定快照的Id,那么会创建一个指定大小的没有任何数据的空盘。
  • 只有达到完成状态(进度为100%)的快照可以用于创建自定义镜像。
  • 被安全控制在实例的OperationLocks中标记了”LockReason”: “security”的锁定状态时,不能创建自定义镜像。
  • 2013年7月15日(含)之前创建的快照,不能创建自定义镜像。当Request因此原因被拒绝时,Response中的code为InvalidSnapshot.TooOld

请求参数

名称 类型 是否必须 描述
Action String 系统规定参数,取值:CreateImage
RegionId String 镜像所在的Region ID
SnapshotId String 快照ID。从指定的快照创建自定义镜像。
InstanceId String 实例Id
DiskDeviceMapping.N.Device String 磁盘设备名称:
取值/dev/xvda 开始到 /dev/xvdz , /dev/xvda 默认是系统盘快照
/dev/xvdb-z 只能使数据盘快照
Device参数不能重复。
DiskDeviceMapping.N.SnapshotId String 快照Id
DiskDeviceMapping.N.Size String 磁盘的大小,取值范围:[5-2000GB]
如果不指定,默认快照的大小
如果没有指定快照Id,默认5GB,
如果指定了大小,不能小于快照的大小
ImageName String 镜像名称,[2,128]英文或中文字符,必须以大小字母或中文开头,可包含数字,”_”或”-”。不能以https://和https://开头。
ImageVersion String 镜像版本号,长度限制在1~40个英文字符
Description String 镜像的描述信息,长度限制在0~256 个字符,不填则为空,默认为空。不能以https://和https://开头。
ClientToken String 用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大不值过64个ASCII字符。
具体参见附录:如何保证幂等性。

返回参数

名称 类型 描述
ImageId String 镜像ID

错误码

错误代码 描述 Http 状态码 语义
MissingParameter The input parameter “RegionId” that is mandatory for processing this request is not supplied. 400 缺少RegionId字段
MissingParameter The input parameter “SnapshotId” or “InstanceId” or “DiskDeviceMapping” that is mandatory for processing this request is not supplied. 400 缺少SnapshotId or InstanceId or DiskDeviceMapping字段
InvalidRegionId.NotFound The specified region does not exist. 404 指定的regionId不存在
InvalidSnapshotId.NotFound The specified snapshot by “DiskDeviceMapping.n.SnapshotId” or “SnapshotId” does not exist. 404 无效的SnapshotId取值
InvalidImageName.Malformed The specified Image name is wrongly formed. 400 无效的ImageName取值(字符不支持或者超出长度)
InvalidDescription.Malformed The specified description is wrongly formed. 400 无效的Description取值
InvalidImageVersion.Malformed The specified ImageVersion is wrongly formed. 400 无效的ImageVersion取值(实际情况也可能是该用户无权使用此Snapshot)
InvalidSnapshotId.NotReady The specified snapshot by “DiskDeviceMapping.n.SnapshotId” or “SnapshotId” creation is not completed yet. 403 快照没有完成
InvalidSnapshot.TooOld This operation is denied because the specified snapshot by “DiskDeviceMapping.n.SnapshotId” or “SnapshotId” is created before 2013-07-15. 403 2013年7月15日前的快照不能创建镜像
OperationDenied The specified snapshot is not allowed to create image. 403 特定磁盘的快照不能创建镜像
QuotaExceed.Image The Image Quota exceeds. 403 自定义镜像额度已用完
OperationDenied The specified snapshot is not from system disk. 403 只有系统盘快照才能创建镜像
InvalidParamter.Conflict The specified same token is trying to make requests with different parameters. 403 token和参数不一致
InvalidInstanceId.NotFound The InstanceId provided does not exist in our records. 403 指定实例不存在
IncorrectInstanceStatus The current status of the instance does not support this operation. 403 指定的实例状态不正确
InstanceLockedForSecurity The specified operation is denied as your instance is locked for security reasons. 403 指定的实例被安全锁定
InvalidDevice.Malformed The specified parameter “DiskDeviceMapping.n.Device” is not valid. 400 指定的参数DiskDeviceMapping.n.Device 不合法
InvalidDevice.InUse The specified parameter “DiskDeviceMapping.n.Device” has been occupied. 400 指定的参数DiskDeviceMapping.n.Device已经被占用了
InvalidSize.malformed The specified parameter “DiskDeviceMapping.n.Size” is not valid. 403 指定的参数DiskDeviceMapping.n.Size 不合法
InvalidSize.ValueNotSupported The specified parameter “DiskDeviceMapping.n.Size” beyond the permitted range. 403 指定DiskDeviceMapping.n.Size的值超出范围
OperationDenied The specified parameter “DiskDeviceMapping.n.SnapshotId” Contains two or more system disk snapshots. 403 指定的参数DiskDeviceMapping.n.SnapshotId中包含多块系统盘快照

示例

请求示例

  1. https://ecs.aliyuncs.com/?Action=CreateImage
  2. &RegionId=cn-hangzhou
  3. &SnapshotId=s-snapshot1
  4. &ImageName=demo_image
  5. &<公共请求参数>

返回示例

XML格式

  1. <CreateImageResponse>
  2. <RequestId>C8B26B44-0189-443E-9816-D951F59623A9</RequestId>
  3. <ImageId>m-63DFD5FB2</ImageId>
  4. </CreateImageResponse>

JSON格式

  1. {
  2. "RequestId": "C8B26B44-0189-443E-9816-D951F59623A9",
  3. "ImageId": "m-63DFD5FB2"
  4. }

最后更新:2016-11-23 16:03:50

  上一篇:go 查询可用镜像__镜像相关接口_API 参考_云服务器 ECS-阿里云
  下一篇:go 修改镜像属性__镜像相关接口_API 参考_云服务器 ECS-阿里云