更新时间:2022-12-05 GMT+08:00

根据组件ID修改组件信息

功能介绍

此API通过组件ID修改组件信息。

URI

PUT /v2/{project_id}/cas/applications/{application_id}/components/{component_id}

表1 路径参数

参数

参数类型

必选

描述

project_id

String

租户项目ID

application_id

String

应用ID

component_id

String

组件ID

请求消息

表2 请求参数

参数

参数类型

必选

描述

name

String

应用组件名称。

由大小写英文字母、数字、中划线(-)、下划线(_)组成,并以大小写英文字母开头,大小写英文字母或者数字结尾,长度为2~64个字符。

description

String

描述。

最大长度为128个字符。

source

Object

代码/软件包来源,请参考表3

build

Object

构建工程,请参考表7

表3 source参数

参数

参数类型

必选

描述

kind

String

类型,支持源码code和artifact软件包。

spec

Object

对应code请参考表4;对应artifact请参考表5

表4 code spec参数

参数

参数类型

必选

描述

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

授权名称,在授权列表获取

表5 artifact spec参数

参数

参数类型

必选

描述

storage

String

存储方式,支持对象存储obs

type

String

类别,支持package

url

String

软件包/源码地址

auth

String

认证方式,支持iam,none,默认是iam

properties

Object

软件包的其他属性,只有在选择对象存储obs的时候才需要添加。表6

表6 artifact spec properties参数

参数

参数类型

必选

描述

endpoint

String

obs的终端地址,比如:https://obs.region_id.external_domain_name.com

bucket

String

软件包在obs的桶名

key

String

obs桶中的对象,一般是软件包名,有文件夹的话要加上文件夹的路径。比如test.jar或者demo/test.jar

表7 build参数

参数

参数类型

必选

描述

parameters

Map<String, Object>

请参考表8

表8 parameters参数

参数

参数类型

必选

描述

build_cmd

String

编译命令。默认:

  1. 根目录存在build.sh:./build.sh
  2. 根据运行系统,示例如下:
    • Java和Tomcat:mvn clean package
    • Nodejs: npm build

dockerfile_path

String

dockerfile地址。默认是根目录./

artifact_namespace

String

构建归档组织。默认cas_{project_id}

cluster_id

String

指定构建集群的id。

node_label_selector

Map<String, String>

key是标签的键,value是标签的值。

响应消息

表9 响应参数

参数

参数类型

描述

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

描述。

pipeline_ids

Array<String>

流水线Id列表,最多10个。

project_id

String

项目ID。

application_id

String

应用ID。

source

Object

代码/软件包来源,请参考表10

build

Object

构建工程,请参考表13

create_time

Integer

创建时间。

update_time

Integer

修改时间。

creator

String

创建者。

表10 source参数

参数

参数类型

描述

kind

String

类型。

spec

Object

请参考表11

表11 spec参数

参数

参数类型

描述

storage

String

存储方式

type

String

类别

url

String

软件包/源码地址

auth

String

认证方式

properties

Object

软件包的其他属性,只有在选择对象存储obs的时候才需要添加,请参考表12

表12 artifact spec properties参数

参数

参数类型

描述

endpoint

String

obs的终端地址,比如:https://obs.region_id.external_domain_name.com

bucket

String

软件包在obs的桶名

key

String

obs桶中的对象,一般是软件包名,有文件夹的话要加上文件夹的路径。比如test.jar或者demo/test.jar

表13 build参数

参数

参数类型

描述

ID

String

类型

parameters

Map<String, Object>

请参考表14

表14 parameters参数

参数

参数类型

描述

build_cmd

String

编译命令。

dockerfile_path

String

dockerfile地址。

artifact_namespace

String

构建归档组织。

cluster_id

String

指定构建集群的id。

node_label_selector

Map<String, String>

key是标签的键,value是标签的值。

示例

请求示例

{
	"name": "test-micro",
	"description": "",
	"source": {
		"kind": "artifact",
		"spec": {
			"storage": "obs",
			"type": "package",
			"url": "obs://test-soft/fusionweather-1.0.0.jar",
			"auth": "iam",
			"webUrl": "",
			"properties": {
				"bucket": "test-soft",
				"endpoint": "https://obs.region_id.development.com:443",
				"key": "fusionweather-1.0.0.jar"
			}
		}
	},
	"build": {
		"parameters": {
			"artifact_namespace": "ns",
			"use_public_cluster": false,
			"cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2",
			"cluster_name": "cce-test",
			"cluster_type": "VirtualMachine"
		}
	},
	"pipeline_ids": null
}

响应示例

{
	"id": "1cfdda6f-84cd-4ead-8e09-628fabf662e2",
	"name": "test-micro",
	"runtime": "Java8",
	"category": "MicroService",
	"sub_category": "Java Chassis",
	"description": "",
	"project_id": "e7d2e9c589e5445e808a8ff0d1235aca",
	"application_id": "4d92833a-fa05-4fc0-a761-e67620022310",
	"source": {
		"kind": "artifact",
		"spec": {
			"storage": "obs",
			"type": "package",
			"url": "obs://test-soft/fusionweather-1.0.0.jar",
			"auth": "iam",
			"webUrl": "",
			"properties": {
				"bucket": "test-soft",
				"endpoint": "https://obs.region_id.development.com:443",
				"key": "fusionweather-1.0.0.jar"
			}
		}
	},
	"build": {
		"id": "zpdkj42b3rnko8bmyojzt1ng828ubychw13j8flv",
		"parameters": {
			"artifact_namespace": "ns",
			"use_public_cluster": false,
			"cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2",
			"cluster_name": "cce-test",
			"cluster_type": "VirtualMachine"
		}
	},
	"pipeline_ids": null,
	"status": 0,
	"creator": "ss-test",
	"create_time": 1610331760105,
	"update_time": 1610519881943
}

状态码

表15 状态码说明

状态码

描述

200

操作成功。

400

错误的请求。

404

请求对象不存在。

500

内部错误。

错误码

错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考应用管理API错误码