文档

CreateImagePipeline - 创建镜像构建模板

更新时间:

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

接口说明

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

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

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

  • 如果参数BuildContent设置了FROM命令,则源镜像类型BaseImageType和源镜像BaseImage设置的值会被FROM命令覆盖。
  • 如果参数BuildContent没有设置FROM命令,则系统会自动将源镜像类型BaseImageType和源镜像BaseImage构成的FROM命令添加到模板内容的首行,格式为<BaseImageType>:<BaseImage>
  • 一个镜像模板内容可以通过 Dockerfile 编辑,然后将内容传入BuildContent参数。内容大小不能超过 16 KB,最大支持 127 个命令。支持的命令说明详情,请参见镜像构建服务支持的命令说明

不支持通过 API 使用镜像组件快速完成镜像模板的创建,仅控制台操作支持该功能。更多信息,请参见镜像构建概述

调试

您可以在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 个命令。具体支持的命令请参见接口说明。

FROM IMAGE:m-bp67acfmxazb4p****
ClientTokenstring

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

123e4567-e89b-12d3-a456-426655440000

返回参数

名称类型描述示例值
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的值不能为空。
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未找到。

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

变更历史

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