更新时间:2024-10-16 GMT+08:00

根据组件ID修改组件信息

功能介绍

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

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目ID。获取方法,请参考获取项目ID

application_id

String

应用ID。获取方法,请参考获取所有应用

component_id

String

组件ID。获取方法,请参考获取应用所有组件

请求消息

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

消息体的类型(格式),默认取值为“application/json;charset=utf8”。

X-Auth-Token

String

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

应用组件名称。

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

description

String

描述。

最大长度为128个字符。

source

Object

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

build

Object

构建工程,请参考表8

表4 source

参数

是否必选

参数类型

描述

kind

String

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

spec

Object

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

表5 code spec

参数

是否必选

参数类型

描述

repo_type

String

代码仓类型,支持GitHub、BitBucket、GitLab。

repo_url

String

代码仓url,如:https://github.com/example/demo.git。

repo_ref

String

代码分支或者Tag,默认是master。

repo_auth

String

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

表6 artifact spec

参数

是否必选

参数类型

描述

storage

String

存储方式,支持软件仓库swr、镜像仓库swr、对象存储obs、软件发布库codearts。

type

String

类别。

  • 虚拟机部署支持软件包package。
  • 容器部署支持软件包package、镜像包image。

url

String

软件包/源码地址。

auth

String

认证方式:支持iam、none。默认是iam。

properties

Object

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

webUrl

String

软件仓库地址。

表7 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。

表8 build

参数

是否必选

参数类型

描述

parameters

Map<String, Object>

请参考表9。只在没有ID,新创建构建时提供。

表9 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是标签的值。

cluster_name

String

指定构建集群的名称。

use_public_cluster

Boolean

是否使用公共集群:

  • true:是
  • false:否

cluster_type

String

指定构建集群的类型。

响应消息

表10 响应参数

参数

参数类型

描述

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、Spring Cloud。

Common的子类型可以为空。

description

String

描述。

project_id

String

项目ID。

application_id

String

应用ID。

source

Object

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

build

Object

构建工程,请参考表15

create_time

Integer

创建时间。

update_time

Integer

修改时间。

creator

String

创建者。

表11 source

参数

参数类型

描述

kind

String

类型。

spec

Object

对应code请参考表12;对应artifact请参考表13

表12 code spec

参数

参数类型

描述

repo_type

String

代码仓类型,支持、github、bitbucket、gitlab。

repo_url

String

代码仓url,如:https://github.com/example/demo.git。

repo_ref

String

代码分支或者Tag,默认是master。

repo_auth

String

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

表13 spec

参数

参数类型

描述

storage

String

存储方式。

type

String

类别。

url

String

软件包/源码地址。

auth

String

认证方式。

properties

Object

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

表14 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。

表15 build

参数

参数类型

描述

id

String

类型。

parameters

Map<String, Object>

请参考表16

表16 parameters

参数

参数类型

描述

build_cmd

String

编译命令。

dockerfile_path

String

dockerfile地址。

artifact_namespace

String

构建归档组织。

cluster_id

String

指定构建集群的id。

node_label_selector

Map<String, String>

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

请求示例

修改指定组件ID对应的组件信息,修改组件名称为test-micro,设置组件软件包来源为存储在obs下test-soft桶中的fusionweather-1.0.0.jar包,指定cce-test集群为组件构建集群。

{
	"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"
		}
	},
}

响应示例

{
	"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",
			"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",
			"cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2"
		}
	},
		"status": 0,

	"creator": "ss-test",
	"create_time": 1610331760105,
	"update_time": 1610519881943
}

状态码

状态码

描述

200

操作成功。

400

错误的请求。

404

请求对象不存在。

500

内部错误。

错误码

错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考ServiceStage错误码