创建一个镜像模板。镜像模板可用于构建镜像。
接口说明
您可以通过镜像模板定制镜像内容,并支持跨地域跨账号构建镜像。创建镜像模板前,您需要注意:
- 仅支持创建您自定义的镜像模板。
- 仅支持使用公共镜像、自定义镜像、共享镜像或者镜像族系作为源镜像进行构建。
- 通过镜像模板构建镜像时,需要创建多台中转实例辅助构建镜像,中转实例为按量计费的 ECS 实例,将收取一定的费用。更多信息,请参见按量付费。
关于构建模板内容BuildContent
,您需要注意:
FROM
命令已被弃用,不管参数BuildContent
是否设置FROM
命令,系统都会以源镜像类型BaseImageType
和源镜像BaseImage
为准进行源镜像的选取。- 一个镜像模板内容大小不能超过 16 KB。支持的命令说明详情,请参见镜像构建服务支持的命令说明。
更多信息,请参见镜像构建概述。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ecs:CreateImagePipeline | create | *ImagePipeline acs:ecs:{#regionId}:{#accountId}:imagepipeline/* |
|
|
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Tag | array<object> | 否 | 标签列表。 | |
object | 否 | 标签列表。 | ||
Key | string | 否 | 标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 | TestKey |
Value | string | 否 | 标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以 | TestValue |
RegionId | string | 是 | 所属的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
ResourceGroupId | string | 否 | 企业资源组 ID。 | rg-bp67acfmxazb4p**** |
AddAccount | array | 否 | 目标镜像共享的阿里云账号 ID。N 的取值范围:1~20。 | |
long | 否 | 目标镜像共享的阿里云账号 ID。N 的取值范围:1~20。 | 1234567890 | |
ToRegionId | array | 否 | 目标镜像待分发的地域列表。N 的取值范围:1~20。 不设置参数值时,默认只在当前地域创建镜像。 | |
string | 否 | 目标镜像待分发的地域列表。N 的取值范围:1~20。 不设置参数值时,默认只在当前地域创建镜像。 | cn-hangzhou | |
BaseImageType | string | 是 | 源镜像类型。取值范围:
| IMAGE |
BaseImage | string | 否 | 源镜像。
| m-bp67acfmxazb4p**** |
Name | string | 否 | 模板名称。长度为 2~128 个字符,必须以大小写字母或中文开头,不能以
不设置 Name 时,默认使用ImagePipelineId 返回值。
| testImagePipeline |
Description | string | 否 | 描述信息。长度为 2~256 个英文或中文字符,不能以 | This is description. |
ImageNamedeprecated | string | 否 | 目标镜像名称前缀。
该参数已弃用。请使用 ImageOptions.ImageName。
| testImageName |
VSwitchId | string | 否 | VPC 的交换机 ID。 不设置参数值时,默认创建新的 VPC 与交换机,请确保您账号下 VPC 资源配额充足,更多信息,请参见使用限制。 | vsw-bp67acfmxazb4p**** |
InstanceType | string | 否 | 实例规格。您可以调用 DescribeInstanceTypes 查询不同的实例规格。 不设置参数值时,默认按 vCPU 和内存最小的原则,自动设置实例规格,并受实例规格的库存影响。例如,默认选择 ecs.g6.large 实例规格,如果库存不足,将选择 ecs.g6.xlarge 实例规格。 | ecs.g6.large |
SystemDiskSize | integer | 否 | 中转实例的系统盘大小。单位:GiB。取值范围:20~500。 默认值:40。 | 40 |
InternetMaxBandwidthOut | integer | 否 | 中转实例的公网出带宽大小。单位:Mbit/s。取值范围:0~100。 默认值:0。 | 0 |
DeleteInstanceOnFailure | boolean | 否 | 镜像构建失败后是否释放中转实例。取值范围:
默认值:true。
中转实例如果没有成功启动,则实例默认不保留。
| true |
BuildContent | string | 否 | 镜像构建模板内容。内容大小不能超过 16 KB,具体支持的命令请参见镜像构建服务支持的命令说明。 | COMPONENT ic-bp12dvdzvr9k9***** COMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.* |
ClientToken | string | 否 | 保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。 | 123e4567-e89b-12d3-a456-426655440000 |
RepairMode | string | 否 | 镜像模版中的修复选项。 取值范围:
随着检测修复能力的不断提升,包含的修复项可能会增加。修复项具体含义,请参见镜像检测概述。
| Standard |
ImageFamilydeprecated | string | 否 | 目标镜像族系。
该参数已弃用。请使用 ImageOptions.ImageFamily。
| family |
TestContent | string | 否 | 镜像测试模板内容。内容大小不能超过 16 KB,具体支持的命令请参见镜像构建服务支持的命令说明。 | COMPONENT ic-bp12dvdzvr9k9***** COMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.* |
ImportImageOptions | object | 否 | 导入镜像的属性和设置。当 | |
Architecture | string | 否 | 指定数据盘快照做镜像的系统盘后,需要通过 Architecture 确定系统盘的系统架构。取值范围:
默认值为 x86_64。 | x86_64 |
OSType | string | 否 | 操作系统类型。可能值:
默认值:linux。 | linux |
Platform | string | 否 | 操作系统版本。取值范围:
默认值:当操作系统类型为 Linux 时为 Others Linux,否则为 Other Windows。 | Aliyun |
BootMode | string | 否 | 修改镜像的启动模式。取值范围:
默认值:BIOS。如果
为了避免使用镜像不支持的启动模式导致实例无法正常启动,请您务必在选择该参数之前了解目标镜像支持的启动模式。镜像启动模式详情,请参见镜像启动模式。
| BIOS |
LicenseType | string | 否 | 导入镜像后,激活操作系统采用的许可证类型。取值范围:
默认值:Auto。 | Auto |
DiskDeviceMappings | array<object> | 否 | 创建的自定义镜像信息列表。
| |
object | 否 | |||
OSSBucket | string | 否 | 镜像文件所在的 OSS Bucket。 | ecsimageos |
OSSObject | string | 否 | 镜像上传至 OSS Bucket 后,保存在 Bucket 中的镜像文件的文件名(key)。 | CentOS_5.4_32.raw |
Format | string | 否 | 镜像格式。取值范围:
默认值:无,表示阿里云自动检测镜像格式,以检测格式为准。 | RAW |
DiskImageSize | integer | 否 | 导入镜像后,自定义镜像的空间大小。 该空间由系统盘和数据盘组成,您必须保证系统盘的空间大小大于等于导入的镜像文件大小。取值范围:
当您将源镜像文件上传至 OSS 后,可以在 OSS Bucket 中查看镜像文件的大小。 | 40 |
Features | object | 否 | 镜像特性相关属性。 | |
NvmeSupport | string | 否 | 导入的原始镜像是否支持 NVMe。可能值:
默认值:unsupported。 | supported |
RetainImportedImage | boolean | 否 |
该参数正在邀测中。
| false |
NvmeSupportdeprecated | string | 否 | 构建的目标镜像是否支持 NVMe。
该参数已弃用。请使用 ImageOptions. ImageFeatures.NvmeSupport。
| auto |
AdvancedOptions | object | 否 | 高级设置。 | |
RetainCloudAssistant | boolean | 否 | 是否保留云助手。构建过程中,系统会自动在中转实例中安装云助手以执行命令,您可以选择是否在构建的目标镜像中保留。可能值:
默认值:false。
该设置不会对您镜像中自带的云助手产生任何影响。
| true |
ImageNameSuffix | string | 否 | 是否禁用目标镜像名称自动增加后缀。可能值:
| disable |
ImageOptions | object | 否 | 目标镜像属性。 | |
ImageName | string | 否 | 目标镜像名称前缀。长度为 2~64 个字符,必须以大小写字母或中文开头,不能以 最终完整的镜像名称由系统自动拼接名称前缀与构建任务 ID( | testImageName |
ImageFamily | string | 否 | 目标镜像族系。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 aliyun 和 acs:开头,不能包含 http://或者 https://。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。 | family |
Description | string | 否 | 描述信息。长度为 2~256 个英文或中文字符,不能以 | This is description. |
ImageFeatures | object | 否 | 目标镜像特性相关属性。 | |
NvmeSupport | string | 否 | 构建的目标镜像是否支持 NVMe。可能值:
| auto |
ImageTags | array<object> | 否 | 目标镜像标签。 | |
object | 否 | |||
Key | string | 否 | 标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 | TestKey |
Value | string | 否 | 资源的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以 | TestValue |
返回参数
示例
正常返回示例
JSON
格式
{
"ImagePipelineId": "ip-2ze5tsl5bp6nf2b3****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidSourceInstance.NotFound | The specified source instance is not found. | 指定的源实例没有找到。 |
400 | InvalidName.Malformed | %s | - |
400 | InvalidDescription.Malformed | %s | - |
400 | InvalidImageName.Malformed | %s | - |
400 | InvalidBaseImageType.NotSupportedValue | %s | - |
400 | InvalidSystemDiskSize.NotSupportedValue | %s | - |
400 | InvalidInternetMaxBandwidthOut.NotSupportedValue | %s | - |
400 | InvalidAddAccountSize.ExceededMaxNumber | %s | - |
400 | InvalidToRegionIdSize.ExceededMaxNumber | %s | - |
400 | InvalidBuildContent.LengthExceeded | %s | - |
400 | InvalidImageTemplateCommandSize.ExceededMaxNumber | %s | - |
400 | DuplicatedCommand.FROM | %s | - |
400 | InvalidCommandOrder.FROM | %s | - |
400 | InvalidImageTemplateCommand.NotSupported | %s | - |
400 | InvalidCommandContent.RUN | %s | - |
400 | InvalidCommandContent.ENV | %s | - |
400 | InvalidCommandContent.WORKDIR | %s | - |
400 | InvalidCommandContent.COPY | %s | - |
400 | InvalidCommandContent.USER | %s | - |
400 | InvalidCommandContent.FROM | %s | - |
400 | InvalidCommandContent.CMD | %s | - |
400 | InvalidCommandContent.ENTRYPOINT | %s | - |
400 | QuotaExceed.ImagePipeline | %s. | 当前用户在此地域镜像模板额度也用完。 |
400 | NoPermission | %s. | 此操作未被允许,请授权之后再行操作。 |
400 | EmptyCommandContent.LABEL | %s. | 模版内容中,若有LABEL,则LABEL的值不能为空。 |
400 | EmptyCommandContent.ENV | %s. | 模版内容中,若有ENV,则ENV的值不能为空。 |
400 | EmptyCommandContent.ENTRYPOINT | %s. | 模版内容中,若有ENTRYPOINT,则ENTRYPOINT的值不能为空。 |
400 | EmptyCommandContent.CMD | %s. | 模版内容中,若有CMD命令,则CMD的值不能为空。 |
400 | EmptyCommandContent.COPY | %s. | 模版内容中,若有COPY命令,则COPY的值不能为空。 |
400 | EmptyCommandContent.WORKDIR | %s. | 模版内容中,若有WORKDIR命令,则WORKDIR的值不能为空。 |
400 | NotEmptyCommandContent.RESTART | %s. | 模版内容中,若有RESTART命令,则RESTART的值必须为空。 |
400 | EmptyCommandContent.USER | %s. | 模版内容中,若有USER命令,则USER的值不能为空。 |
400 | EmptyCommandContent.RUN | %s. | 模版内容中,若有RUN命令,则RUN的值不能为空。 |
400 | InvalidImage.OsTypeUnsupported | The specified base image does not support image building. | 指定的基础镜像操作系统不支持进行镜像构建。 |
400 | InvalidParameter.BuildContent | %s. | 构建模板内容无效。 |
400 | InvalidParameter.TestContent | %s. | 测试模板的内容无效。 |
400 | InvalidImageComponent.NotSupported | %s. | 指定的镜像组件不可用。 |
400 | InvalidParameterCombination | %s. | 无效的参数组合。 |
400 | InvalidParameter.RepairMode | The specified parameter RepairMode is invalid. | 指定的修复模式无效。 |
400 | InvalidImageFamily.Malformed | The format of the specified image family is invalid. | 指定的镜像族系格式有误。 |
400 | InvalidImage.ImageOwnerAliasUnsupported | The specified base image does not support distributing. | 指定的基础镜像不支持进行分发。 |
400 | InvalidParameter.ImportImageOptionsArchitecture | The specified parameter ImportImageOptions.Architecture is invalid. The correct value should be in [%s]. | 指定的参数ImportImageOptionsArchitecture无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidParameter.ImportImageOptionsOSType | The specified parameter ImportImageOptions.OSType is invalid. The correct value should be in [%s]. | 指定的参数ImportImageOptions.OSType无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidParameter.ImportImageOptionsBootMode | The specified parameter ImportImageOptions.BootMode is invalid. The correct value should be in [%s]. | 指定的参数ImportImageOptions.BootMode无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidImportImageOptionsDiskDeviceMappings.LengthLimitExceeded | The length of the specified parameter ImportImageOptions.DiskDeviceMappings exceeds the limit(17). | 指定的参数ImportImageOptions.DiskDeviceMappings长度超过了限制,最大长度为17。 |
400 | InvalidParameter.ImportImageOptionsDiskDeviceMappingsOSSObject | The specified parameter ImportImageOptions.DiskDeviceMappings.OSSObject is invalid. OSSObject supports up to 1023 characters, and cannot start with http:// or https://. | 指定的参数ImportImageOptions.DiskDeviceMappings.OSSObject不正确。最多支持1023个字符,且不能以"http://"或者"https://"开头。 |
400 | InvalidParameter.ImportImageOptionsDiskDeviceMappingsOSSBucket | The specified parameter ImportImageOptions.DiskDeviceMappings.OSSBucket is invalid. OSSBucket supports up to 63 characters, only lowercase letters, numbers, and dashes are allowed, and cannot start or end with a dash. | 指定的参数ImportImageOptionsDiskDeviceMappingsOSSBucket格式不正确。最多支持63个字符,只允许小写字母、数字或者短横线,并且不能以短横线开头或结尾。 |
400 | InvalidParameter.ImportImageOptionsPlatform | The specified parameter ImportImageOptions.Platform is invalid. The correct value should be in [%s]. | 指定的参数ImportImageOptions.Platform无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidParameter.ImportImageOptionsLicenseType | The specified parameter ImportImageOptions.LicenseType is invalid. The correct value should be in [%s]. | 指定的参数ImportImageOptions.LicenseType无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidParameter.ImportImageOptionsFeaturesNvmeSupport | The specified parameter ImportImageOptions.Features.NvmeSupport is invalid. The correct value should be in [%s]. | 指定的参数ImportImageOptions.Features.NvmeSupport无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidParameter.NvmeSupport | The specified parameter NvmeSupport is invalid. The correct value should be in [%s]. | 指定的参数NvmeSupport无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidParameter.ImportImageOptionsDiskDeviceMappingsFormat | The specified parameter ImportImageOptions.DiskDeviceMappings.Format is invalid. The correct value should be in [%s]. | 指定的参数ImportImageOptions.DiskDeviceMappings.Format无效。正确的值可以参考错误信息或者文档填写。 |
400 | InvalidOperation.DiskImageSizeExceeded | The disk size exceeds the limit. Please check the specified parameter ImportImageOptions.DiskDeviceMappings.DiskImageSize and ImportImageOptions.DiskDeviceMappings.OSSObject. Ensure that each of them is between 1 and 2048 in size. | 磁盘大小超过限制。请检查参数ImportImageOptions.DiskDeviceMappings.DiskImageSize和ImportImageOptions.DiskDeviceMappings.OSSObject, 确保他们的大小都处于1到2048G之间。 |
400 | InvalidImageOptions.Description | The specified parameter ImageOptions.Description is invalid. The length should be between 2 to 256 characters, and cannot start with http:// or https://. | 指定的参数ImageOptions.Description不合法。参数长度需要在2到256个字符,且不能以http://或https://开头。 |
400 | InvalidImageName.Duplicated | The specified image name is already in use in the target region. Please try a different one. | 指定的镜像名称已在目标地域使用。请尝试另一个。 |
400 | InvalidImage.NotSupportRepair | The specified base image does not support repair. | 指定的基础镜像不支持修复。 |
400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key. | 标签中存在重复的键,请保持键的唯一性。 |
400 | InvalidTagKey.Malformed | The specified Tag.N.Key is not valid. Tag keys cannot be empty or null, support up to 128 characters, cannot start with "aliyun" or "acs:", and cannot contain "http://" or "https://". | 指定的标签键无效。标签键不能为空或 null,最多支持 128 个字符,不能以“aliyun”或“acs:”开头,不能包含“http://”或“https://”。 |
400 | InvalidTagValue.Malformed | The specified Tag.N.Value is not valid. Tag values support up to 128 characters, and cannot contain "http://" or "https://". | 指定的标签值无效。标签值最多支持 128 个字符,并且不能包含“http://”或“https://”。 |
400 | InvalidAdvancedOptions.ImageNameSuffix | The specified parameter AdvancedOptions.ImageNameSuffix is invalid. The correct value should be in [%s]. | 指定的参数AdvancedOptions.ImageNameSuffix不合法。正确的枚举值可以参考错误信息获取。 |
403 | ImagePipeline.NotSupportWindowsInstance | Image pipeline does not support windows instance at this time. | - |
403 | InvalidOSSObject.NotAuthorized | The specified ImportImageOptions.DiskDeviceMappings.OSSObject is not allowed to be accessed. | 指定的ImportImageOptions.DiskDeviceMappings.OSSObject不允许被访问。 |
403 | InvalidOperation.NoPermissionCreateServiceLinkedRole | You are not authorized to create Service-linked role. The system will automatically create it when the API is called for the first time. Check your RAM policies, and ensure that you are using the correct credentials. | 你没有权限创建服务关联角色,系统会在该接口第一次被调用时自动创建服务关联角色。请检查你的RAM权限策略,确保使用了正确的访问凭据。 |
403 | InvalidOSSObject.NeedRestore | The specified ImportImageOptions.DiskDeviceMappings.OSSObject is an archived object and needs to be restored first. | 指定的 ImportImageOptions.DiskDeviceMappings.OSSObject 是一个已归档对象,需要先进行恢复。 |
403 | InvalidOperation.NoRightAccessOSS | ECS service is not authorized to access your OSS. Check your RAM roles and policies, and ensure that ecs.aliyuncs.com is authorized to assume AliyunECSImageImportDefaultRole. | ECS服务没有权限访问您的OSS。请检查你的RAM角色和策略,确保"ecs.aliyuncs.com"被授予了扮演"AliyunECSImageImportDefaultRole"的权限。 |
403 | InvalidOperation.OSSObjectIsImporting | The specified ImportImageOptions.DiskDeviceMappings.OSSObject is importing. | 指定的ImportImageOptions.DiskDeviceMappings.OSSObject正在导入。 |
404 | InvalidImage.NotFound | %s | - |
404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | 资源组并不在记录中。 |
404 | ImageComponent.NotFound | %s. | 指定的镜像组件ID未找到。 |
404 | InvalidInstanceType.NotFound | The specified instance type does not exist. | 指定的参数“InstanceType”不存在。 |
404 | InvalidVSwitchId.NotFound | The specified VSwitchId does not exist. | 指定的VSwitchId不存在 |
404 | InvalidRegionId.NotFound | %s | 提供的地域 ID 不存在。 |
404 | InvalidImportImageOptionsDiskDeviceMappingsOSSObject.NotFound | The specified ImportImageOptions.DiskDeviceMappings.OSSObject is not found in this region. | 指定的ImportImageOptions.DiskDeviceMappings.OSSObject在当前地域没有查询到。 |
404 | MissingParameter.RepairMode | The specified parameter RepairMode is missing. | 指定的参数RepairMode缺失。 |
404 | MissingParameter.ImportImageOptions | The specified parameter ImportImageOptions is missing. | 指定的参数ImportImageOptions缺失。 |
404 | MissingParameter.ImportImageOptionsDiskDeviceMappingsOSSObject | The specified parameter ImportImageOptions.DiskDeviceMappings.OSSObject is missing. | 指定的参数ImportImageOptions.DiskDeviceMappings.OSSObject缺失。 |
404 | MissingParameter.ImportImageOptionsDiskDeviceMappingsOSSBucket | The specified parameter ImportImageOptions.DiskDeviceMappings.OSSBucket is missing. | 指定的参数ImportImageOptions.DiskDeviceMappings.OSSBucket缺失。 |
404 | MissingParameter.ImageOptionsDiskDeviceMappings | The specified parameter ImportImageOptions.DiskDeviceMappings is missing. | 没有传入ImportImageOptions.DiskDeviceMappings参数。 |
访问错误中心查看更多错误码。