创建组件
功能介绍
创建组件。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/{project_id}/cae/applications/{application_id}/components
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取项目ID请参见获取项目ID。 |
application_id |
是 |
String |
应用ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。
|
X-Enterprise-Project-ID |
否 |
String |
企业项目ID。
说明:
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 |
X-Environment-ID |
是 |
String |
环境ID。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
api_version |
是 |
String |
API版本,固定值“v1”,该值不可修改。 |
kind |
是 |
String |
API类型,固定值“Component”,该值不可修改。 |
metadata |
是 |
metadata object |
请求数据。 |
spec |
是 |
spec object |
组件规格信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
组件名称。 |
annotations |
是 |
Map<String,String> |
创建组件请求体附加参数,当前只支持version参数,此参数必填。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
runtime |
是 |
String |
语言/运行时。 |
replica |
是 |
Integer |
实例个数。 |
build |
否 |
Build object |
构建信息。 |
source |
是 |
Source object |
源信息。 |
resource_limit |
是 |
ResourceLimit object |
实例规格。 |
image_url |
否 |
String |
镜像地址。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
archive |
是 |
Archive object |
构建产物纳管。 |
parameters |
是 |
map<string, object> |
构建附加参数。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
code |
否 |
Repo object |
源码仓库信息。 |
type |
是 |
String |
源类型。 |
sub_type |
否 |
String |
源子类型。
|
url |
是 |
String |
url地址。
|
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
api_version |
String |
API版本,固定值“v1”,该值不可修改。 |
kind |
String |
API类型,固定值“Component”,该值不可修改。 |
metadata |
MetadataResponse object |
响应数据。 |
spec |
CreateComponentSpec object |
组件规格。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
组件ID。 |
name |
String |
组件名称。 |
annotations |
Map<String,String> |
组件附加属性。
|
created_at |
String |
创建时间。 |
updated_at |
String |
更新时间。 |
参数 |
参数类型 |
描述 |
---|---|---|
runtime |
String |
语言/运行时。 |
env_id |
String |
环境ID。 |
replica |
Integer |
实例个数。 |
source |
Source object |
源信息。 |
build |
Build object |
构建信息。 |
resource_limit |
ResourceLimit object |
实例规格。 |
available_replica |
Integer |
可用实例个数。 |
status |
String |
组件状态。 |
参数 |
参数类型 |
描述 |
---|---|---|
code |
Repo object |
源码仓库信息。 |
type |
String |
源类型。 |
sub_type |
String |
源子类型。
|
url |
String |
url地址。
|
参数 |
参数类型 |
描述 |
---|---|---|
auth_name |
String |
授权名称。 |
branch |
String |
分支。 |
namespace |
String |
命名空间,需填写命名空间的Base64编码。 |
参数 |
参数类型 |
描述 |
---|---|---|
archive |
Archive object |
构建产物纳管。 |
parameters |
map<string, object> |
构建附加参数。
|
请求示例
-
使用源码仓库创建组件,组件名称“test-code”,版本“1.0.0”,选择GitLab源码仓库,运行时为Java8。
POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components { "api_version" : "v1", "kind" : "Component", "metadata" : { "name" : "test-code", "annotations" : { "version" : "1.0.0" } }, "spec" : { "runtime" : "Java8", "build" : { "archive" : { "artifact_namespace" : "xxx" }, "parameters" : { "base_image" : "openjdk:8u181-jdk-alpine", "dockerfile_path" : "./Dockerfile" } }, "source" : { "type" : "code", "sub_type" : "GitLab", "url" : "https://xxx:8090/xxx/cae-frontend.git", "code" : { "branch" : "master", "auth_name" : "gitlab-xxx", "namespace" : "em1n" } }, "resource_limit" : { "cpu_limit" : "500m", "memory_limit" : "1Gi" }, "replica" : 1 } }
-
使用镜像创建组件,组件名称“test-image”,版本“1.0.0”,选择nginx镜像,运行时为Docker。
POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components { "api_version" : "v1", "kind" : "Component", "metadata" : { "name" : "test-image", "annotations" : { "version" : "1.0.0" } }, "spec" : { "runtime" : "Docker", "source" : { "type" : "image", "url" : "nginx:stable-alpine-perl" }, "resource_limit" : { "cpu_limit" : "500m", "memory_limit" : "1Gi" }, "replica" : 1 } }
-
使用软件包创建组件,组件名称“test-jar”,版本“1.0.0”,在OBS对象存储中选择名称为“forecast-1.0.0.jar”的软件包,运行时为Java8。
POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components { "api_version" : "v1", "kind" : "Component", "metadata" : { "name" : "test-jar", "annotations" : { "version" : "1.0.0" } }, "spec" : { "runtime" : "Java8", "build" : { "archive" : { "artifact_namespace" : "xxx" }, "parameters" : { "base_image" : "openjdk:8u181-jdk-alpine", "dockerfile_content" : "FROM java:8 \\nADD forecast-1.0.0.jar \\nEXPOSE 8080 \\nENTRYPOINT [\"java\",\"-jar\",\"forecast-1.0.0.jar\"]" } }, "source" : { "type" : "softwarePackage", "sub_type" : "BinObs", "url" : "https://xxx.obs.region.xxx.huawei.com/xxx/forecast-1.0.0.jar" }, "resource_limit" : { "cpu_limit" : "500m", "memory_limit" : "1Gi" }, "replica" : 1 } }
响应示例
状态码: 200
请求成功。
{ "api_version": "v1", "kind": "Component", "metadata": { "id": "cac09548-047f-46c4-abbd-a6a652305565", "name": "test-code", "annotations": { "log_group_id": "5b13213a-84f8-4b72-8ca5-530e15cc1402", "log_stream_id": "6ddf6c71-4767-46db-98a2-fe5fb301b366", "version": "1.0.0" }, "created_at": "2023-02-13T02:38:22.689607114Z", "updated_at": "2023-02-13T02:38:22.689607114Z" }, "spec": { "runtime": "Java8", "env_id": "9819b3f5-dd08-44ff-ba88-eb38e435594c", "replica": 1, "source": { "type": "code", "sub_type": "GitLab", "url": "http://xxx@cpe.gitlab.com:8090/xxx/cae-backend.git", "code": { "branch": "master", "auth_name": "gitlab-xxx", "namespace": "em1n" } }, "build": { "archive": { "artifact_namespace": "xxx" }, "parameters": { "base_image": "openjdk:8u181-jdk-alpine" "dockerfile_path": "./Dockerfile" } }, "resource_limit": { "cpu_limit": "500m", "memory_limit": "1Gi" }, "available_replica": 0, "status": "created" } }
状态码
状态码 |
描述 |
---|---|
200 |
请求成功。 |
错误码
请参见错误码。