全部产品
Search
文档中心

云服务器 ECS:CreateImagePipeline - 创建镜像构建模板

更新时间:Nov 14, 2024

调用CreateImagePipeline创建一个镜像模板。镜像模板可用于构建镜像。

接口说明

您可以通过镜像模版定制镜像内容,并支持跨地域跨账号构建镜像。创建镜像模板前,您需要注意:

  • 仅支持创建您自定义的镜像模版
  • 仅支持使用公共镜像、自定义镜像、共享镜像或者镜像族系作为源镜像进行构建。
  • 通过镜像模版构建镜像时,需要创建多台中转实例辅助构建镜像,中转实例为按量计费的 ECS 实例,将收取一定的费用。更多信息,请参见按量付费

关于构建模板内容BuildContent,您需要注意:

  • FROM命令已被弃用,不管参数BuildContent是否设置FROM命令,系统都会以源镜像类型BaseImageType和源镜像BaseImage为准进行源镜像的选取。
  • 一个镜像模板内容可以通过 Dockerfile 编辑,然后将内容传入BuildContent参数。内容大小不能超过 16 KB,最大支持 127 个命令。支持的命令说明详情,请参见镜像构建服务支持的命令说明

更多信息,请参见镜像构建概述

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ecs:CreateImagePipelinecreate
*ImagePipeline
acs:ecs:{#regionId}:{#accountId}:imagepipeline/*
  • ram:CreateServiceLinkedRole

请求参数

名称类型必填描述示例值
Tagarray<object>

标签列表。

object

标签列表。

Keystring

标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyunacs:开头,不能包含http://或者https://

TestKey
Valuestring

标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以acs:开头,不能包含http://或者https://

TestValue
RegionIdstring

所属的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
ResourceGroupIdstring

企业资源组 ID。

rg-bp67acfmxazb4p****
AddAccountarray

目标镜像共享的阿里云账号 ID。N 的取值范围:1~20。

long

目标镜像共享的阿里云账号 ID。N 的取值范围:1~20。

1234567890
ToRegionIdarray

目标镜像待分发的地域列表。N 的取值范围:1~20。

不设置参数值时,默认只在当前地域创建镜像。

string

目标镜像待分发的地域列表。N 的取值范围:1~20。

不设置参数值时,默认只在当前地域创建镜像。

cn-hangzhou
BaseImageTypestring

源镜像类型。取值范围:

  • IMAGE:镜像。
  • IMAGE_FAMILY:镜像族系。
IMAGE
BaseImagestring

源镜像。

  • BaseImageType=IMAGE时,该参数取值为镜像 ID。
  • BaseImageType=IMAGE_FAMILY时,该参数取值为镜像族系名称。
m-bp67acfmxazb4p****
Namestring

模板名称。长度为 2~128 个字符,必须以大小写字母或中文开头,不能以http://https://开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。

说明 不设置Name时,默认使用ImagePipelineId返回值。
testImagePipeline
Descriptionstring

描述信息。长度为 2~256 个英文或中文字符,不能以http://https://开头。

This is description.
ImageNamestring

目标镜像名称前缀。长度为 2~64 个字符,必须以大小写字母或中文开头,不能以http://https://开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。

最终完整的镜像名称由系统自动拼接名称前缀与构建任务 ID(ExecutionId),格式为{ImageName}_{ExecutionId}

testImageName
VSwitchIdstring

VPC 的交换机 ID。

不设置参数值时,默认创建新的 VPC 与交换机,请确保您账号下 VPC 资源配额充足,更多信息,请参见使用限制

vsw-bp67acfmxazb4p****
InstanceTypestring

实例规格。您可以调用 DescribeInstanceTypes 查询不同的实例规格。

不设置参数值时,默认按 vCPU 和内存最小的原则,自动设置实例规格,并受实例规格的库存影响。例如,默认选择 ecs.g6.large 实例规格,如果库存不足,将选择 ecs.g6.xlarge 实例规格。

ecs.g6.large
SystemDiskSizeinteger

中转实例的系统盘大小。单位:GiB。取值范围:20~500。

默认值:40。

40
InternetMaxBandwidthOutinteger

中转实例的公网出带宽大小。单位:Mbit/s。取值范围:0~100。

默认值:0。

0
DeleteInstanceOnFailureboolean

镜像构建失败后是否释放中转实例。取值范围:

  • true:释放。
  • false:不释放。

默认值:true。

说明 中转实例如果没有成功启动,则实例默认不保留。
true
BuildContentstring

镜像模板内容。内容大小不能超过 16 KB,最大支持 127 个命令。具体支持的命令请参见接口说明。

RUN echo hello world
ClientTokenstring

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性

123e4567-e89b-12d3-a456-426655440000
RepairModestring

镜像模版中的修复选项。

取值范围:

  • Standard:标准模式。

    当前 Linux 系统的检测项包含

    • GUESTOS.CloudInit
    • GUESTOS.Dhcp
    • GUESTOS.Virtio
    • GUESTOS.OnlineResizeFS
    • GUESTOS.Grub
    • GUESTOS.Fstab

    Windows 系统的检测项包含

    • GUESTOS.Virtio
    • GUESTOS.Updat
    • GUESTOS.Hotfix
    • GUESTOS.Server
说明 随着检测修复能力的不断提升,包含的修复项可能会增加。修复项具体含义,请参见镜像检测概述
Standard
ImageFamilystring

目标镜像族系。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 aliyun 和 acs:开头,不能包含 http://或者 https://。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。

family
TestContentstring

镜像测试模板内容。具体支持的命令请参见接口说明。

RUN echo hello world

返回参数

名称类型描述示例值
object
ImagePipelineIdstring

镜像模板 ID。

ip-2ze5tsl5bp6nf2b3****
RequestIdstring

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

示例

正常返回示例

JSON格式

{
  "ImagePipelineId": "ip-2ze5tsl5bp6nf2b3****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}

错误码

HTTP status code错误码错误信息描述
400InvalidSourceInstance.NotFoundThe specified source instance is not found.指定的源实例没有找到。
400InvalidName.Malformed%s-
400InvalidDescription.Malformed%s-
400InvalidImageName.Malformed%s-
400InvalidBaseImageType.NotSupportedValue%s-
400InvalidSystemDiskSize.NotSupportedValue%s-
400InvalidInternetMaxBandwidthOut.NotSupportedValue%s-
400InvalidAddAccountSize.ExceededMaxNumber%s-
400InvalidToRegionIdSize.ExceededMaxNumber%s-
400InvalidBuildContent.LengthExceeded%s-
400InvalidImageTemplateCommandSize.ExceededMaxNumber%s-
400DuplicatedCommand.FROM%s-
400InvalidCommandOrder.FROM%s-
400InvalidImageTemplateCommand.NotSupported%s-
400InvalidCommandContent.RUN%s-
400InvalidCommandContent.ENV%s-
400InvalidCommandContent.WORKDIR%s-
400InvalidCommandContent.COPY%s-
400InvalidCommandContent.USER%s-
400InvalidCommandContent.FROM%s-
400InvalidCommandContent.CMD%s-
400InvalidCommandContent.ENTRYPOINT%s-
400QuotaExceed.ImagePipeline%s.当前用户在此地域镜像模板额度也用完。
400NoPermission%s.此操作未被允许,请授权之后再行操作。
400EmptyCommandContent.LABEL%s.模版内容中,若有LABEL,则LABEL的值不能为空。
400EmptyCommandContent.ENV%s.模版内容中,若有ENV,则ENV的值不能为空。
400EmptyCommandContent.ENTRYPOINT%s.模版内容中,若有ENTRYPOINT,则ENTRYPOINT的值不能为空。
400EmptyCommandContent.CMD%s.模版内容中,若有CMD命令,则CMD的值不能为空。
400EmptyCommandContent.COPY%s.模版内容中,若有COPY命令,则COPY的值不能为空。
400EmptyCommandContent.WORKDIR%s.模版内容中,若有WORKDIR命令,则WORKDIR的值不能为空。
400NotEmptyCommandContent.RESTART%s.模版内容中,若有RESTART命令,则RESTART的值必须为空。
400EmptyCommandContent.USER%s.模版内容中,若有USER命令,则USER的值不能为空。
400EmptyCommandContent.RUN%s.模版内容中,若有RUN命令,则RUN的值不能为空。
400InvalidImage.OsTypeUnsupportedThe specified base image does not support image building.指定的基础镜像操作系统不支持进行镜像构建。
400InvalidParameter.BuildContent%s.构建模板内容无效。
400InvalidParameter.TestContent%s.测试模板的内容无效。
400InvalidImageComponent.NotSupported%s.指定的镜像组件不可用。
400InvalidParameterCombination%s.无效的参数组合。
400InvalidParameter.RepairModeThe specified parameter RepairMode is invalid.指定的修复模式无效。
400InvalidImageFamily.MalformedThe format of the specified image family is invalid.指定的镜像族系格式有误。
400InvalidImage.ImageOwnerAliasUnsupportedThe specified base image does not support distributing.指定的基础镜像不支持进行分发。
403ImagePipeline.NotSupportWindowsInstanceImage pipeline does not support windows instance at this time.-
404InvalidImage.NotFound%s-
404InvalidResourceGroup.NotFoundThe ResourceGroup provided does not exist in our records.资源组并不在记录中。
404ImageComponent.NotFound%s.指定的镜像组件ID未找到。
404InvalidInstanceType.NotFoundThe specified instance type does not exist.指定的参数“InstanceType”不存在。
404InvalidVSwitchId.NotFoundThe specified VSwitchId does not exist.指定的VSwitchId不存在
404InvalidRegionId.NotFound%s提供的地域 ID 不存在。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-10-10OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
2023-03-28OpenAPI 错误码发生变更查看变更详情