应用中创建组件
功能介绍
应用组件是组成应用的某个业务特性实现,以代码或者软件包为载体,可独立部署运行。
此API用来在应用中创建组件。
URI
POST /v2/{project_id}/cas/applications/{application_id}/components
|
参数 |
参数类型 |
必选 |
描述 |
|---|---|---|---|
|
project_id |
String |
是 |
租户项目ID |
|
application_id |
String |
是 |
应用ID |
请求消息
|
参数 |
参数类型 |
必选 |
描述 |
|---|---|---|---|
|
name |
String |
是 |
应用组件名称。 由大小写英文字母、数字、中划线(-)、下划线(_)组成,并以大小写英文字母开头,大小写英文字母或者数字结尾,长度为2~64个字符。 |
|
runtime |
String |
是 |
运行时,可查询获取所有支持的应用组件运行时类型接口返回的type_name获取。 |
|
category |
String |
是 |
应用组件类型如:Webapp、MicroService、Common。 |
|
sub_category |
String |
否 |
应用组件子类型。 Webapp的子类型有Web。 MicroService的子类型有Java Chassis、Go Chassis、Mesher、Spring Cloud、Dubbo。 Common的子类型可以为空。 |
|
description |
String |
否 |
描述。 最大长度为128个字符。 |
|
source |
Object |
否 |
代码/软件包来源,参考表3。 |
|
build |
Object |
否 |
组件构建,参考表7。 |
|
参数 |
参数类型 |
必选 |
描述 |
|---|---|---|---|
|
repo_type |
String |
是 |
代码仓类型,支持GitHub、GitLab、Gitee、Bitbucket。 |
|
repo_url |
String |
是 |
代码仓url,如:https://github.com/example/demo.git。 |
|
repo_ref |
String |
否 |
代码分支或者Tag,默认是master。 |
|
repo_auth |
String |
是 |
授权名称,在授权列表获取。 |
|
参数 |
参数类型 |
必选 |
描述 |
|---|---|---|---|
|
storage |
String |
是 |
存储方式,支持对象存储obs。 |
|
type |
String |
是 |
类别,支持package。 |
|
url |
String |
是 |
软件包地址。 |
|
auth |
String |
否 |
认证方式,支持iam,none,默认是iam。 |
|
properties |
Object |
否 |
软件包的其他属性,只有在选择对象存储obs的时候才需要添加。参考表6。 |
|
参数 |
参数类型 |
必选 |
描述 |
|---|---|---|---|
|
endpoint |
String |
否 |
obs的终端地址,如:https://obs.region_id.external_domain_name.com。 |
|
bucket |
String |
否 |
软件包在obs的桶名。 |
|
key |
String |
否 |
obs桶中的对象,一般是软件包名,有文件夹的话要加上文件夹的路径。比如test.jar或者demo/test.jar。 |
响应消息
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
应用组件ID。 |
|
name |
String |
应用组件名称。 |
|
status |
Integer |
取值0或1。 0:表示正常状态。 1:表示正在删除。 |
|
runtime |
String |
运行时。 |
|
category |
String |
应用组件类型如:Webapp、MicroService、Common。 |
|
sub_category |
String |
应用组件子类型。 Webapp的子类型有Web。 MicroService的子类型有Java Chassis、Go Chassis、Mesher、Spring Cloud、Dubbo。 Common的子类型可以为空。 |
|
description |
String |
描述。 |
|
project_id |
String |
项目ID。 |
|
application_id |
String |
应用ID。 |
|
source |
Object |
代码/软件包来源,请参考表10。 |
|
build |
Object |
构建工程,请参考表14。 |
|
pipeline_ids |
id list |
流水线Id列表,最多10个。 |
|
create_time |
Integer |
创建时间。 |
|
update_time |
Integer |
修改时间。 |
|
creator |
String |
创建者。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
repo_type |
String |
代码仓类型,支持GitHub、GitLab、Gitee、Bitbucket。 |
|
repo_url |
String |
代码仓url,如:https://github.com/example/demo.git。 |
|
repo_ref |
String |
代码分支或者Tag,默认是master。 |
|
repo_auth |
String |
授权名称,在授权列表获取。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
storage |
String |
存储方式。 |
|
type |
String |
类别。 |
|
url |
String |
软件包/源码地址。 |
|
auth |
String |
认证方式。 |
|
properties |
Object |
软件包的其他属性,只有在选择对象存储obs的时候才需要添加。参考表13。 |
示例
请求示例
{
"name": "mycomponent",
"runtime": "Java8",
"category": "MicroService",
"sub_category": "Java Chassis",
"description": "",
"build": {
"parameters": {
"artifact_namespace": "ns"
}
},
"source": {
"kind": "artifact",
"spec": {
"storage": "obs",
"type": "package",
"url": "obs://myapp/demo.jar",
"properties": {
"bucket": "myapp",
"key": "demo.jar",
"endpoint": "https://obs.region_id.external_domain_name.com"
}
}
}
}
响应示例
{
"id": "384eb8d4-c193-4d84-9558-6fda2366b536",
"name": "mycomponent",
"runtime": "Java8",
"category": "MicroService",
"sub_category": "Java Chassis",
"description": "",
"project_id": "384eb8d4-c193-4d84-9558-6fda23698536",
"application_id": "a8f7eed5-0aa0-4251-9723-c9119a6bf56d",
"source": {
"kind": "artifact",
"spec": {
"storage": "obs",
"type": "package",
"url": "obs://myapp/demo.jar",
"properties": {
"bucket": "myapp",
"key": "demo.jar",
"endpoint": "https://obs.region_id.external_domain_name.com"
}
}
},
"build": {
"id": "w3dpv7p0t1vpxvey5hjb22iuwxway1vupwx0nae1",
"parameters": {
"artifact_namespace": "ns",
"use_public_cluster": true
}
},
"pipeline_ids": null,
"status": 0,
"creator": "xxx",
"create_time": 1610333934288,
"update_time": 1610333934288
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
操作成功 |
|
400 |
错误的请求 |
|
404 |
请求对象不存在 |
|
500 |
内部错误 |
错误码
错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考应用管理API错误码。