全部产品
Search
文档中心

云服务器 ECS:CreateImageComponent - 创建一个镜像组件

更新时间:Nov 14, 2024

调用CreateImageComponent创建一个镜像组件。镜像组件用于存储您在构建镜像时,常用的构建模板命令。

接口说明

创建镜像组件前,您需要注意:

  • 仅支持创建您自定义的镜像组件。
  • 仅支持 Linux 系统,即SystemType=Linux
  • 仅支持设置为镜像构建组件类型,即ComponentType=Build
  • 镜像组件的内容可以通过 Dockerfile 编辑,然后将内容传入Content参数。内容大小不能超过 16 KB,不支持FROM命令,一个镜像组件最大支持 127 个命令。支持的命令详情,请参见镜像构建服务支持的命令说明

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

调试

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

授权信息

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

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

请求参数

名称类型必填描述示例值
RegionIdstring

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

cn-hangzhou
ResourceGroupIdstring

企业资源组 ID。

rg-bp67acfmxazb4p****
Tagarray<object>

标签列表。

object
Keystring

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

TestKey
Valuestring

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

TestValue
Namestring

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

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

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

This is description.
SystemTypestring

组件支持的操作系统。

取值范围:

  • Linux
  • Windows

默认值:Linux。

Linux
ComponentTypestring

组件类型。支持镜像构建组件和测试组件。

取值范围:

  • Build
  • Test

默认值:Build。

说明 构建组件只能在构建模板中使用,测试组件只能在测试模板中使用。
Build
Contentstring

组件内容。由多条命令组成,命令最大条数不能超过 127 条。

RUN yum update -y
ClientTokenstring

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

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

组件版本号,与组件名称配合使用,格式为 major.minor.patch,均为非负整数。

默认值:(x+1).0.0,x 为当前组件最大的 major 版本号。

1.0.0

返回参数

名称类型描述示例值
object
ImageComponentIdstring

镜像组件 ID。

ic-bp67acfmxazb4p****
RequestIdstring

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

示例

正常返回示例

JSON格式

{
  "ImageComponentId": "ic-bp67acfmxazb4p****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}

错误码

HTTP status code错误码错误信息描述
400InvalidCommand.ComponentImage component does not support component command.-
400InvalidName.Malformed%s-
400InvalidDescription.Malformed%s-
400InvalidSystemType.NotSupportedValue%s-
400InvalidComponentType.NotSupportedValue%s-
400InvalidContent.LengthExceeded%s-
400InvalidImageTemplateCommandSize.ExceededMaxNumber%s-
400InvalidImageTemplateCommand.NotSupported%s-
400InvalidCommandContent.RUN%s-
400InvalidCommandContent.ENV%s-
400InvalidCommandContent.WORKDIR%s-
400InvalidCommandContent.COPY%s-
400InvalidCommandContent.USER%s-
400InvalidCommandContent.CMD%s-
400InvalidCommandContent.ENTRYPOINT%s-
400MissingParameter.Content%s-
400EmptyCommandContent.RUN%s.模版内容中,若有RUN命令,则RUN的值不能为空。
400EmptyCommandContent.ENV%s.模版内容中,若有ENV,则ENV的值不能为空。
400EmptyCommandContent.LABEL%s.模版内容中,若有LABEL,则LABEL的值不能为空。
400EmptyCommandContent.COPY%s.模版内容中,若有COPY命令,则COPY的值不能为空。
400EmptyCommandContent.ENTRYPOINT%s.模版内容中,若有ENTRYPOINT,则ENTRYPOINT的值不能为空。
400EmptyCommandContent.CMD%s.模版内容中,若有CMD命令,则CMD的值不能为空。
400NotEmptyCommandContent.RESTART%s.模版内容中,若有RESTART命令,则RESTART的值必须为空。
400EmptyCommandContent.WORKDIR%s.模版内容中,若有WORKDIR命令,则WORKDIR的值不能为空。
400EmptyCommandContent.USER%s.模版内容中,若有USER命令,则USER的值不能为空。
400QuotaExceed.ImageComponent%s.当前地域的镜像组件额度已用完。
400InvalidParameter.Content%s.镜像组件内容不合法。
400InvalidImage.OsTypeUnsupportedThe specified base image does not support image building.指定的基础镜像操作系统不支持进行镜像构建。
400InvalidParameter.ComponentVersionThe specified ComponentVersion is invalid.指定的组件版本无效。
403InvalidComponentVersion.ExistThe specified ComponentVersion does exist with the specified Name.该组件指定的版本号已经存在。
404InvalidResourceGroup.NotFoundThe ResourceGroup provided does not exist in our records.资源组并不在记录中。
404NotSupportedCommand.FROM%s-

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

变更历史

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