添加自定义镜像版本 - AddV2TenantImageVersion
功能介绍
为已注册的镜像添加新的版本信息。此接口为同步接口,与注册自定义镜像接口配合完成镜像版本管理。
调用方法
请参见如何调用API。
URI
POST /v2/images/{image_id}/versions
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| image_id | 是 | String | 参数解释:镜像ID。可通过查询自定义镜像列表获取镜像ID。 约束限制:不涉及。 取值范围:长度为32~36的英文字符、数字和中划线的组合。 默认取值:不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释:用户Token,通过调用获取IAM用户Token接口获取。 约束限制:不涉及。 取值范围:只能由英文字母、数字及特殊字符组成,长度不超过65534个字符。Token格式由IAM服务定义,具体字符集参见IAM服务相关文档。 默认取值:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| image_url | 是 | String | 参数解释:自定义镜像的URL地址,由镜像仓库地址、镜像命名空间、镜像名称和镜像版本组成。 约束限制:不涉及。 取值范围:由大小写英文字母、数字、小数点(.)、斜杠(/)、冒号(:)、下划线(_)和连字符(-)组成的容器镜像地址。长度为1~2000个字符。 默认取值:不涉及。 |
| category | 是 | String | 参数解释:自定义镜像的分类。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
| architectures | 否 | Array of strings | 参数解释:镜像支持的架构列表,取值包括:x86_64(x86架构)、aarch64(ARM架构),未传入该参数时默认为x86_64。 约束限制:不涉及。 |
| type | 是 | String | 参数解释:版本类型。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
| container_softwares | 否 | Array of ContainerSoftware objects | 参数解释:自定义镜像包含的软件列表,每个元素为一个ContainerSoftware对象,包含软件名称和版本信息。 约束限制:软件列表最小个数为0,最大个数为100。 |
| description | 否 | String | 参数解释:自定义镜像的描述。 约束限制:不涉及。 取值范围:不允许输入感叹号、小于号、大于号、等号、与号、双引号、单引号、艾特符、井号、百分号、分号、左括号、右括号、竖线、星号、反斜杠。长度为0~2000个字符。 默认取值:不涉及。 |
| base_image_id | 否 | String | 参数解释:基础镜像ID,可通过查询自定义镜像列表获取镜像ID。 约束限制:Spark类型镜像必填。 取值范围:支持英文字母、数字及中划线,长度0~64个字符。 默认取值:不涉及。 |
| base_image_version_id | 否 | String | 参数解释:基础镜像版本ID,可通过查询自定义镜像版本列表获取镜像版本ID。 约束限制:当镜像分类为Spark类型时此字段必填,其余情况可选。 取值范围:支持英文字母、数字及中划线,长度0~64个字符。 默认取值:不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| version_id | String | 参数解释:镜像版本ID。 取值范围:长度为32~36的英文字符、数字和中划线的组合。 |
| image_version | String | 参数解释:镜像版本。 取值范围:支持英文字母、数字、小数点、斜杠、冒号、下划线和连字符,长度2~32个字符。 |
| category | String | 参数解释:镜像分类。 取值范围: |
| image_registry | String | 参数解释:镜像域名。 取值范围:支持英文字母、数字、小数点及连字符,长度0~255个字符。 |
| image_namespace | String | 参数解释:镜像命名空间。 取值范围:由英文字母、数字、中划线和下划线组成,长度0~64个字符。 |
| image_name | String | 参数解释:镜像名。 取值范围:由中文字符、英文字母、数字、中划线和下划线组成,长度0~128个字符。 |
| architectures | Array of strings | 参数解释:镜像支持的架构列表,取值包括:x86_64(x86架构)、aarch64(ARM架构)。 |
| container_softwares | Array of ContainerSoftware objects | 参数解释:镜像软件列表,每个元素为一个ContainerSoftware对象,包含软件名称和版本信息。 |
| status | String | 参数解释:镜像版本状态。 取值范围: |
| type | String | 参数解释:镜像版本类型。 取值范围: |
| visibility | String | 参数解释:镜像版本可见性。 取值范围: |
| create_time | String | 参数解释:自定义镜像版本创建时间,使用UTC时间,ISO 8601格式,yyyy-MM-dd'T'HH:mm:ss.SSSXXX,例如:2025-01-10T03:37:12.000+00:00。 取值范围:不涉及。 |
| update_time | String | 参数解释:自定义镜像版本更新时间,使用UTC时间,ISO 8601格式,yyyy-MM-dd'T'HH:mm:ss.SSSXXX,例如:2025-01-10T03:37:12.000+00:00。 取值范围:不涉及。 |
| description | String | 参数解释:镜像版本描述。 取值范围:支持中文字符、英文字母、数字及常用符号(不允许输入感叹号、小于号、大于号、等号、与号、双引号、单引号),长度0~2000个字符。 |
| base_image_id | String | 参数解释:关联的预置基础镜像ID。 取值范围:支持英文字母、数字及中划线,长度0~64个字符。 |
| base_image_version_id | String | 参数解释:关联的预置基础镜像版本ID。 取值范围:支持英文字母、数字及中划线,长度0~64个字符。 |
| image_snapshot | V2ImageSnapshotInfo object | 参数解释:匹配到的镜像快照信息,无快照时为null。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:软件名称。 取值范围:支持英文字母、数字、小数点、下划线和连字符,2~32个字符。 |
| version | String | 参数解释:软件版本。 取值范围:支持英文字母、数字、小数点、下划线和连字符,2~32个字符。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释:镜像快照记录ID。 取值范围:长度为32~36的英文字符、数字和中划线的组合。 |
| image_id | String | 参数解释:镜像ID。 取值范围:长度为32~36的英文字符、数字和中划线的组合。 |
| image_version_id | String | 参数解释:镜像版本ID。 取值范围:长度为32~36的英文字符、数字和中划线的组合。 |
| name | String | 参数解释:镜像快照名称(用户指定)。 取值范围:以小写字母开头,小写字母、数字、中划线(-)组成,小写字母或数字结尾的1到190字符的字符串。 |
| image_address | String | 参数解释:镜像完整地址(含registry/namespace/name:version)。 取值范围:支持英文字母、数字、小数点、冒号、斜杠及连字符,长度为0~1024个字符。 |
| image_name | String | 参数解释:镜像名称。 取值范围:支持英文字母、数字、小数点、斜杠、冒号、下划线和连字符,长度为0~128个字符。 |
| image_version | String | 参数解释:镜像版本。 取值范围:支持英文字母、数字、小数点、冒号、下划线和连字符,长度为0~1024个字符。 |
| status | String | 参数解释:镜像快照状态。 取值范围: |
| image_snapshot_size | Integer | 参数解释:快照大小,单位GiB。 取值范围:20~400。 |
| creation_mode | String | 参数解释:创建方式。 取值范围: |
| reserved_days | Integer | 参数解释:镜像快照保留天数。超过保留天数自动失效,0表示永久保留。 取值范围:0~65536。 |
| expire_time | String | 参数解释:镜像快照超期时间,null表示永久有效。使用UTC时间,ISO 8601格式,yyyy-MM-dd'T'HH:mm:ss.SSSXXX,例如:2025-01-10T03:37:12.000+00:00。 取值范围:不涉及。 |
| failed_message | String | 参数解释:镜像快照失效的提示信息。 取值范围:支持中文字符、英文字母、数字及常用符号,长度为0~65535个字符。 |
| create_time | String | 参数解释:创建时间,使用UTC时间,ISO 8601格式,yyyy-MM-dd'T'HH:mm:ss.SSSXXX,例如:2025-01-10T03:37:12.000+00:00。 取值范围:不涉及。 |
| update_time | String | 参数解释:更新时间,使用UTC时间,ISO 8601格式,yyyy-MM-dd'T'HH:mm:ss.SSSXXX,例如:2025-01-10T03:37:12.000+00:00。 取值范围:不涉及。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码。 取值范围:长度为8~36个字符。 |
| error_msg | String | 参数解释:错误描述。 取值范围:长度为2~512个字符。 |
| solution_msg | String | 参数解释:解决方案。 取值范围:长度为0~4096个字符。 |
请求示例
为已有镜像添加新版本。
POST /v2/images/{image_id}/versions
{
"image_url" : "swr.cn-north-4.myhuaweicloud.com/test-image/spark_job:v1",
"category" : "SPARK_JOB",
"type" : "STABLE",
"architectures" : [ "x86_64" ],
"container_softwares" : [ {
"name" : "jdk",
"version" : "21"
} ],
"description" : "test image",
"base_image_id" : "2b5633ba2b904511ad514346f4d23d4b",
"base_image_version_id" : "3c6744cb3c015622be65457a5e34de5c"
} 响应示例
状态码:200
{
"version_id" : "c2533937-101d-4a5b-9c8d-03c2ee815f1d",
"image_version" : "v1",
"category" : "SPARK_JOB",
"image_registry" : "swr.cn-north-4.myhuaweicloud.com",
"image_namespace" : "test-image",
"image_name" : "spark_job",
"architectures" : [ "x86_64" ],
"container_softwares" : [ {
"name" : "jdk",
"version" : "21"
} ],
"status" : "AVAILABLE",
"type" : "STABLE",
"visibility" : "PRIVATE",
"create_time" : "2025-01-10T03:37:12.000+00:00",
"update_time" : "2025-01-10T03:37:12.000+00:00",
"description" : "test image"
} 状态码:400
{
"error_code" : "AIDataLake.00010151",
"error_msg" : "Parameter value is invalid.",
"solution_msg" : "Please input valid parameter value."
} 状态码:401
{
"error_code" : "APIGW.0301",
"error_msg" : "Incorrect IAM authentication information: decrypt token fail.",
"solution_msg" : "Check whether the IAM authentication information is correct."
} 状态码:403
{
"error_code" : "AIDataLake.00010150",
"error_msg" : "The operation is not allowed.",
"solution_msg" : "Check whether the operation is allowed in the current status."
} 状态码:404
{
"error_code" : "AIDataLake.00010009",
"error_msg" : "No resources found.",
"solution_msg" : "Ensure the requested resource exists and the parameters are correct."
} 状态码:500
{
"error_code" : "AIDataLake.00011001",
"error_msg" : "Internal error.",
"solution_msg" : "Contact technical support or try again later."
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 请求成功。 |
| 400 | 请求参数错误。 |
| 401 | 未授权。 |
| 403 | 禁止访问。 |
| 404 | 资源未找到。 |
| 500 | 内部服务器错误。 |