应用中创建组件 - CreateApplicationComponent
功能介绍
此API用于在应用中创建组件。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
servicestage:app:createComponent
write
app *
servicestage:app:create
- aom:discoveryRule:list
- aom:discoveryRule:set
- as:scalingConfig:create
- as:scalingConfig:get
- as:scalingConfig:list
- as:scalingPolicy:create
- as:scalingPolicy:get
- as:scalingPolicy:list
- cce:cluster:get
- dcs:instance:get
- dns:recordset:create
- dns:recordset:get
- ecs:cloudServers:get
- elb:l7policies:create
- elb:l7policies:get
- elb:l7policies:list
- elb:listeners:create
- elb:listeners:get
- elb:listeners:list
- elb:members:create
- elb:members:get
- elb:members:list
- ims:dataImages:create
- ims:images:create
- ims:images:get
- ims:images:list
- ims:wholeImages:create
- rds:instance:get
- servicestage:assembling:create
- servicestage:assembling:getInfo
- vpc:addressGroups:get
- vpc:networks:get
- vpc:routeTables:get
- vpc:securityGroupRules:get
- vpc:securityGroups:get
- vpc:subnets:get
- vpc:subnets:get
- vpc:vpcs:get
URI
POST /v3/{project_id}/cas/applications/{application_id}/components
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 参数解释: 租户项目ID。获取方法,请参考获取项目ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
application_id | 是 | String | 参数解释: 应用ID。获取方法,请参考获取所有应用 - ObtainAllApplications。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求消息
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Content-Type | 是 | String | 参数解释: 消息体的类型(格式)。 约束限制: 不涉及 取值范围: application/json;charset=utf8 默认取值: 不涉及 |
X-Auth-Token | 是 | String | 参数解释: 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释: 组件名称。 取值范围: 由英文字母、数字、中划线(-)或下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,长度为2~64个字符。 默认取值: 不涉及 |
workload_name | 否 | String | 参数解释: 工作负载名称。 取值范围: 不涉及 默认取值: 不涉及 |
labels | 否 | Array of objects | 参数解释: 标签。 容器部署方式部署的组件,可通过标签查询对应工作负载;虚机部署方式部署的组件可配置对应的微服务名称的标签来使用优雅上下线功能。请参考表4。 |
create_mode | 否 | String | 参数解释: 组件创建方式。 取值范围:
默认取值: 不涉及 |
runtime_stack | 是 | Object | 参数解释: 运行时,请参考表30,可通过查询查询技术栈 - QueryTechnologyStack接口返回的信息获取。 |
environment_id | 否 | String | 参数解释: 环境ID,可通过获取所有环境 - ObtainAllEnvironments接口返回的信息获取。 取值范围: 不涉及 默认取值: 不涉及 |
description | 否 | String | 参数解释: 组件描述。 取值范围: 最大长度为128个字符。 默认取值: 不涉及 |
source | 是 | Object | 参数解释: 代码/软件包来源,请参考表31。 “create_mode”为“drafts”,本参数非必选。 |
build | 否 | Object | 参数解释: 组件构建,容器部署并没有使用镜像时必传,请参考表32。 |
limit_cpu | 否 | Number | 参数解释: 最大CPU限制,单位为Core。 取值范围: 不涉及 默认取值: 不涉及 |
limit_memory | 否 | Number | 参数解释: 最大内存限制,单位为GiB。 取值范围: 不涉及 默认取值: 不涉及 |
request_cpu | 否 | Number | 参数解释: 申请CPU资源,单位为Core。 取值范围: 不涉及 默认取值: 不涉及 |
request_memory | 否 | Number | 参数解释: 申请内存资源,单位为GiB。 取值范围: 不涉及 默认取值: 不涉及 |
version | 是 | String | 参数解释: 组件版本号。 “create_mode”为“drafts”,本参数非必选。 取值范围: 最大长度32,规则为: ^([0-9]+)(\.[0-9]+){2,3}$ 默认取值: 不涉及 |
envs | 否 | Array of objects | 参数解释: 环境变量列表,请参考表28。 |
replica | 是 | Integer | 参数解释: 实例数。 “create_mode”为“drafts”,本参数非必选。 取值范围: 不涉及 默认取值: 不涉及 |
storages | 否 | Array of objects | 参数解释: 存储,请参考表5。 |
deploy_strategy | 否 | Object | 参数解释: 组件部署,请参考表8。 |
command | 否 | Object | 参数解释: 启动命令,请参考表12。 |
post_start | 否 | Object | 参数解释: 启动后处理,请参考表13。 |
pre_stop | 否 | Object | 参数解释: 停止前处理,请参考表13。 |
mesher | 否 | Object | 参数解释: 多语言接入服务网格,当技术栈选择Node.js且绑定微服务引擎时为必选,请参考表14。 |
timezone | 否 | String | 参数解释: 指定组件运行的时区。 取值范围: 不涉及 默认取值: 不涉及 |
jvm_opts | 否 | String | 参数解释: jvm参数,例如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则使用默认值。 取值范围: 不涉及 默认取值: 不涉及 |
tomcat_opts | 否 | Object | 参数解释: tomcat参数,技术栈选择tomcat时生效,请参考表15。 |
host_aliases | 否 | Array of objects | 参数解释: 主机别名,请参考表16。 |
dns_policy | 否 | String | 参数解释: DNS策略。 取值范围:
默认取值: 不涉及 |
dns_config | 否 | Object | 参数解释: DNS配置,请参考表17。 |
workload_kind | 否 | String | 参数解释: 工作负载类型。 取值范围:
默认取值: 不涉及 |
security_context | 否 | Object | 参数解释: 安全策略,请参考表19。 |
logs | 否 | Array of objects | 参数解释: 日志采集,请参考表21。 |
custom_metric | 否 | Object | 参数解释: 自定义指标监控,请参考表22。 |
affinity | 否 | Array of objects | 参数解释: 亲和性,请参考表23。 |
anti_affinity | 否 | Array of objects | 参数解释: 反亲和性,请参考表23。 |
liveness_probe | 否 | Object | 参数解释: 组件存活探针,请参考表25。 |
readiness_probe | 否 | Object | 参数解释: 组件业务探针,请参考表25。 |
refer_resources | 是 | Array of objects | 参数解释: 关联资源,请参考表26。 |
external_accesses | 否 | Array of objects | 参数解释: 外部访问,请参考表34。 |
tolerations | 否 | Array of objects | 参数解释: 容忍度策略,请参考表35。 |
container_name | 否 | String | 参数解释: 容器名称。 取值范围: 不涉及 默认取值: 不涉及 |
update_strategy | 否 | Object | 参数解释: 组件升级策略,请参考表38。 |
multi_containers | 否 | Array of objects | 参数解释: 多容器配置,请参考表36。 |
service_name | 否 | String | 参数解释: 有状态负载的实例间发现服务配置Service名称。 取值范围: 不涉及 默认取值: 不涉及 |
ports | 否 | Array of objects | 参数解释: 有状态负载的实例间发现服务配置端口配置,请参考表37。 |
workload_content | 否 | String | 参数解释: 工作负载内容。 取值范围: 不涉及 默认取值: 不涉及 |
configs | 否 | Array of objects | 参数解释: 组件统一配置,请参考表39。 |
config_mode | 否 | String | 参数解释: 工作负载配置模式。 取值范围:
默认取值: 不涉及 |
enable_sermant_injection | 否 | Boolean | 参数解释: 是否开启Sermant。 取值范围:
默认取值: 不涉及 |
enable_sermant_spring_register | 否 | Boolean | 参数解释: Spring Cloud Huawei框架的微服务是否需要Sermant帮助注册到注册中心。 取值范围:
默认取值: 不涉及 |
enable_sermant_dubbo_register | 否 | Boolean | 参数解释: Dubbo框架的微服务是否需要Sermant帮助注册到注册中心。 取值范围:
默认取值: 不涉及 |
enable_sermant_config | 否 | Boolean | 参数解释: 是否开启Sermant动态配置插件能力。 取值范围:
默认取值: 不涉及 |
enable_sermant_mq_gray | 否 | Boolean | 参数解释: 是否开启Sermant消息灰度能力。 取值范围:
默认取值: 不涉及 |
cell_id | 否 | String | 参数解释: 部署单元ID。 取值范围: 不涉及 默认取值: 不涉及 |
swimlane_id | 否 | String | 参数解释: 泳道ID。 取值范围: 不涉及 默认取值: 不涉及 |
base_lane_instance_id | 否 | String | 参数解释: 关联基线泳道的基线组件ID,用于标识基线组件和灰度组件的关联关系。 取值范围: 不涉及 默认取值: 不涉及 |
sermantAgentInjectActionFlag | 否 | Boolean | 参数解释: JDK17以及JDK21是否自动添加以下JVM环境变量。 JDK17: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED JDK21: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED -Dnet.bytebuddy.experimental=true 取值范围: 不涉及 默认取值: 不涉及 |
sys_config | 否 | Map<String, String> | 参数解释: 使用压缩包在虚拟机环境下部署组件配置项。 |
image_pull_secrets | 否 | Array of strings | 参数解释: 镜像拉取密钥列表。 取值范围: 不涉及 默认取值: 不涉及 |
auto_lts_config | 否 | Object | 参数解释: LTS自动配置,请参考表40。 |
config_encryption | 否 | Object | 参数解释: 单容器组件配置加密密钥时需设置,请参考表41。 |
task_setting | 否 | Object | 参数解释: job类型工作负载的任务设置,请参考表42。 |
vmapp_config_mode | 否 | String | 参数解释: 虚拟机部署方式部署组件的目录类型。 取值范围:
默认取值: 不涉及 |
vmapp_config | 否 | Object | 参数解释: 虚拟机部署方式部署组件的目录配置,请参考表43。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
key | 是 | String | 参数解释: 标签名称。 取值范围: 1到36个字符,只能包含数字、英文字母、下划线(_)、中划线(-)或中文。 说明: Key的取值不能是系统内置的app、casid或version,否则会导致创建并部署组件时报错。 默认取值: 不涉及 |
value | 是 | String | 参数解释: 标签值。 取值范围: 0到43个字符,只能包含数字、英文字母、下划线(_)、点(.)、中划线(-)或中文。 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
type | 是 | String | 参数解释: 数据存储类型。 取值范围:
默认取值: 不涉及 |
name | 是 | String | 参数解释: 存储盘名称。 取值范围: 不涉及 默认取值: 不涉及 |
parameters | 是 | Object | 参数解释: 对应各种数据存储类型的信息参数,请参考表6。 |
mounts | 是 | Array of objects | 参数解释: 数据存储挂载路径,请参考表7。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
path | 否 | String | 参数解释: 主机路径, 适用于HostPath的存储类型。当数据存储类型为HostPath时为必选参数。 取值范围: 不涉及 默认取值: 不涉及 |
name | 否 | String | 参数解释: 配置项、密钥或者PVC的名字, 适用于ConfigMap、Secret和PersistentVolumeClaim的存储类型。当数据存储类型为ConfigMap、Secret和PersistentVolumeClaim时为必选参数。 取值范围: 不涉及 默认取值: 不涉及 |
default_mode | 否 | Integer | 参数解释: 挂载的权限,十进制格式,例如:384。适用于ConfigMap和Secret的存储类型。 取值范围: 不涉及 默认取值: 不涉及 |
medium | 否 | String | 参数解释: 适用于EmptyDir类型的存储。 取值范围:
默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
path | 是 | String | 参数解释: 挂载路径,数据存储挂载到应用上的路径。例如,/tmp。 取值范围: 不涉及 默认取值: 不涉及 |
sub_path | 是 | String | 参数解释: 挂载路径的子路径。 取值范围: 不涉及 默认取值: 不涉及 |
read_only | 是 | Boolean | 参数解释: 是否只读。 取值范围:
默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
type | 是 | String | 参数解释: 部署类型。 取值范围:
默认取值: 不涉及 |
rolling_release | 否 | Object | 参数解释: 滚动部署参数,部署类型为RollingRelease时为必选,请参考表9。 |
gray_release | 否 | Object | 参数解释: 灰度发布升级,部署类型为GrayRelease时为必选,请参考表10。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
type | 是 | String | 参数解释: 灰度策略。 取值范围:
默认取值: 不涉及 |
first_batch_weight | 是 | Integer | 参数解释: 首批灰度流量比例,灰度策略为WEIGHT时为必选。 取值范围: 不涉及 默认取值: 不涉及 |
first_batch_replica | 是 | Integer | 参数解释: 首批灰度实例数量,灰度策略为WEIGHT时为必选。 取值范围: 不涉及 默认取值: 不涉及 |
remaining_batch | 是 | Integer | 参数解释: 剩余实例部署批次,首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。 例如:剩余实例数是5,剩余部署批次是3,那么升级剩余实例会按照2:2:1个实例分批升级。 灰度类型为WEIGHT时为必选。 取值范围: 不涉及 默认取值: 不涉及 |
deployment_mode | 否 | Integer | 参数解释: 部署模型。 取值范围:
默认取值: 不涉及 |
replica_surge_mode | 否 | String | 参数解释: 灰度实例新增模式,灰度策略为CONTENT时为必选。 取值范围:
默认取值: 不涉及 |
rule_match_mode | 否 | String | 参数解释: 灰度规则生效方式,灰度策略为CONTENT时为必选。 取值范围:
默认取值: 不涉及 |
rules | 否 | Object | 参数解释: 灰度规则,参数表11,灰度策略为CONTENT时为必选。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
type | 是 | String | 参数解释: 匹配类型。 取值范围: HEADER:请求头 默认取值: 不涉及 |
key | 是 | String | 参数解释: 参数名称。 取值范围: 不涉及 默认取值: 不涉及 |
value | 是 | String | 参数解释: 条件值。 取值范围: 不涉及 默认取值: 不涉及 |
condition | 是 | String | 参数解释: 条件类型。 取值范围:
默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
command | 否 | Array of strings | 参数解释: 运行命令,控制容器运行的输入命令。 取值范围: 不涉及 默认取值: 不涉及 |
args | 否 | Array of strings | 参数解释: 运行参数,控制容器运行命令的输入参数。例如:-port=8080,多条参数以换行分隔。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
type | 是 | String | 参数解释: 处理方式。 取值范围:
默认取值: 不涉及 |
scheme | 否 | String | 参数解释: http请求类型。 type为http类型时生效。 取值范围:
默认取值: 不涉及 |
host | 否 | String | 参数解释: 指定自定义的IP。 type为http类型时生效。 取值范围: 不涉及 默认取值: 默认为POD的IP。 |
port | 否 | Integer | 参数解释: 端口号,type为http类型时生效。 取值范围: 不涉及 默认取值: 不涉及 |
path | 否 | String | 参数解释: 请求路径,type为http类型时生效。 取值范围: 不涉及 默认取值: 不涉及 |
command | 否 | Array of strings | 参数解释: 命令列表,type为command类型时生效。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
server_xml | 是 | String | 参数解释:
取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
ip | 是 | String | 参数解释: IP地址。 取值范围: 不涉及 默认取值: 不涉及 |
hostnames | 是 | Array of strings | 参数解释: 主机别名。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
nameservers | 否 | Array of strings | 参数解释: Pod的DNS服务器的IP地址列表。 取值范围: 不涉及 默认取值: 不涉及 |
searches | 否 | Array of strings | 参数解释: 用于在Pod中查找主机名的DNS搜索域的列表。 取值范围: 不涉及 默认取值: 不涉及 |
options | 否 | Array of objects | 参数解释: 对象列表。其中每个对象可能具有name属性(必需)和value属性(可选)。 此属性中的内容将合并到从指定的DNS策略生成的选项,重复的条目将被删除,请参考表18。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
run_as_user | 否 | Integer | 参数解释: 运行用户,容器以当前用户权限运行,如以root权限运行则填写root用户ID:0。 取值范围: 不涉及 默认取值: 不涉及 |
run_as_group | 否 | Integer | 参数解释: 运行属组,指定所有容器中的进程都以属组运行。 取值范围: 不涉及 默认取值: 不涉及 |
capabilities | 否 | Object | 参数解释: 能力集,请参考表20。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
add | 否 | Array of strings | 参数解释: 为运行用户添加Linux权限。 取值范围: 不涉及 默认取值: 不涉及 |
drop | 否 | Array of strings | 参数解释: 移除运行用户Linux权限。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
log_path | 是 | String | 参数解释: 容器中日志路径。 取值范围: 不涉及 默认取值: 不涉及 |
rotate | 是 | String | 参数解释: 日志转储周期。 取值范围: 不涉及 默认取值: 不涉及 |
host_path | 是 | String | 参数解释: 挂载的主机路径。 取值范围: 不涉及 默认取值: 不涉及 |
host_extend_path | 是 | String | 参数解释: 主机扩展路径,通过扩展主机路径,实现同一个主机路径下区分来自不同容器的挂载。 取值范围:
默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
path | 是 | String | 参数解释: 采集路径,例如:/metrics。 取值范围: 不涉及 默认取值: 不涉及 |
port | 是 | Integer | 参数解释: 采集端口,例如:9090。 取值范围: 不涉及 默认取值: 不涉及 |
dimensions | 是 | String | 参数解释: 监控维度,例如:"cpu_usage,mem_usage"。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
kind | 否 | String | 参数解释: 对象类型。 取值范围:
默认取值: 不涉及 |
condition | 否 | String | 参数解释: 策略满足类型。 取值范围:
默认取值: 不涉及 |
match_expressions | 否 | Array of objects | 参数解释: 调度策略规则,请参考表24。 |
weight | 否 | String | 参数解释: 权重。 取值范围:
默认取值: 不涉及 |
topology_key | 否 | String | 参数解释: 拓扑域。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
key | 是 | String | 参数解释: 匹配标签key值。 取值范围: 不涉及 默认取值: 不涉及 |
operation | 是 | String | 参数解释: 匹配条件。 取值范围: 不涉及 默认取值: 不涉及 |
value | 是 | String | 参数解释: 匹配标签value值。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
type | 是 | String | 参数解释: 类型。 取值范围:
默认取值: 不涉及 |
delay | 是 | Integer | 参数解释: 启动后多久开始探测。 取值范围: 不涉及 默认取值: 不涉及 |
timeout | 是 | Integer | 参数解释: 探测超时时间。 取值范围: 不涉及 默认取值: 不涉及 |
scheme | 否 | String | 参数解释: 请求类型。type为http类型时生效。 取值范围:
默认取值: 不涉及 |
host | 否 | String | 参数解释: 指定自定义的IP。type为http类型时生效。 取值范围: 不涉及 默认取值: 默认为POD的IP。 |
port | 否 | Integer | 参数解释: 端口号,type为http和tcp类型时生效。 取值范围: 不涉及 默认取值: 不涉及 |
path | 否 | String | 参数解释: 请求路径,type为http类型时生效。 取值范围: 不涉及 默认取值: 不涉及 |
command | 否 | Array of strings | 参数解释: 命令列表,type为command类型时生效。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
id | 是 | String | 参数解释: 资源ID。 取值范围: 不涉及 默认取值: 不涉及 |
type | 是 | String | 参数解释: 资源类型。 取值范围:
默认取值: 不涉及 |
parameters | 否 | Object | 参数解释: 资源参数,请参考表27。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
namespace | 否 | String | 参数解释: 命名空间。 取值范围: 不涉及 默认取值: 不涉及 |
name | 否 | String | 参数解释: 资源名。 取值范围: 不涉及 默认取值: 不涉及 |
capacity | 否 | Integer | 参数解释: 存储容量,单位GiB。 取值范围: 不涉及 默认取值: 不涉及 |
type | 否 | String | 参数解释: 存储卷声明类型。 取值范围:
默认取值: 不涉及 |
class | 否 | String | 参数解释: 存储卷声明子类型。 取值范围:
默认取值: 不涉及 |
obs_volume_type | 否 | String | 参数解释: OBS存储卷类型。 取值范围:
默认取值: 默认为STANDARD标准存储类型。 |
access_mode | 否 | String | 参数解释: 存储卷访问模式。 取值范围:
默认取值: 不涉及 |
availableZone | 否 | String | 参数解释: 可用区。 取值范围: 不涉及 默认取值: 不涉及 |
volume_type | 否 | String | 参数解释: 存储卷类型。 取值范围:
默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释: 变量名。 取值范围: 不涉及 默认取值: 不涉及 |
value | 否 | String | 参数解释: 变量值。 取值范围: 不涉及 默认取值: 不涉及 |
value_from | 否 | Object | 参数解释: 变量引用,请参考表29。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
reference_type | 是 | String | 参数解释: 引用类型。 取值范围:
默认取值: 不涉及 |
name | 是 | String | 参数解释: 配置项或密钥的名称。 取值范围: 不涉及 默认取值: 不涉及 |
key | 否 | String | 参数解释: 配置项或密钥的键值。 取值范围: 不涉及 默认取值: 不涉及 |
optional | 否 | Boolean | 参数解释: 配置项或密钥的key是否必须存在。 取值范围:
默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释: 技术栈名称。 取值范围: 不涉及 默认取值: 不涉及 |
type | 是 | String | 参数解释: 技术栈类型。 取值范围:
默认取值: 不涉及 |
version | 是 | String | 参数解释: 技术栈版本。 取值范围: 不涉及 默认取值: 不涉及 |
deploy_mode | 是 | String | 参数解释: 部署模式。 取值范围:
默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
kind | 是 | String | 参数解释: 组件来源类型。 取值范围:
默认取值: 不涉及 |
version | 否 | String | 参数解释: 版本号。 取值范围: 不涉及 默认取值: 不涉及 |
url | 否 | String | 参数解释: 包地址,类型为package和image时需要添加。 取值范围: 不涉及 默认取值: 不涉及 |
storage | 否 | String | 参数解释: 存储方式。组件来源包类型为package和image时需要添加。 取值范围:
默认取值: 不涉及 |
http_username | 否 | String | 参数解释: 在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写用户名。 取值范围: 不涉及 默认取值: 不涉及 |
http_password | 否 | String | 参数解释: 在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写密码。 取值范围: 不涉及 默认取值: 不涉及 |
http_command | 否 | String | 参数解释: 在“storage”为“http”时需要填写,这里是用户定义软件包的地址。 取值范围: 不涉及 默认取值: 不涉及 |
http_headers | 否 | Map<String, String> | 参数解释: 在“storage”为“http”时需要填写,支持用户自定义请求头,支持填写一个key,value,例如{"key":"xx","value":"xx""},其中的key和value关键字固定。 |
auth | 否 | String | 参数解释: 认证方式。 取值范围:
默认取值: iam |
repo_auth | 否 | String | 参数解释: 授权名称,在授权列表获取,请参考获取仓库授权列表 - ObtainGitRepositoryAuthorizationList。 取值范围: 不涉及 默认取值: 不涉及 |
repo_namespace | 否 | String | 参数解释: 代码仓库命名空间。 取值范围: 不涉及 默认取值: 不涉及 |
repo_ref | 否 | String | 参数解释: 代码分支或者Tag。 取值范围: 不涉及 默认取值: 默认是master |
repo_type | 否 | String | 参数解释: 代码仓类型。 取值范围:
默认取值: 不涉及 |
web_url | 否 | String | 参数解释: 代码跳转链接,例如:https://github.com/example/demo.git。 取值范围: 不涉及 默认取值: 不涉及 |
repo_url | 否 | String | 参数解释: 代码仓url,例如:https://github.com/example/demo.git。 取值范围: 不涉及 默认取值: 不涉及 |
commit_id | 否 | String | 参数解释: 代码仓库中,commit id是每次提交的唯一标识符,用于识别和引用特定的提交。 取值范围: 长度为8到40个字符,以小写字母或数字开头。 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
build_cmd | 否 | String | 参数解释: 编译命令。 取值范围: 不涉及 默认取值:
|
dockerfile_path | 否 | String | 参数解释: dockerfile地址。 取值范围: 不涉及 默认取值: 默认是根目录./。 |
artifact_namespace | 否 | String | 参数解释: 构建归档组织。 取值范围: 不涉及 默认取值: 默认cas_{project_id} |
cluster_id | 是 | String | 参数解释: 指定构建集群的ID。 取值范围: 不涉及 默认取值: 不涉及 |
node_label_selector | 否 | Map<String, String> | 参数解释: key是标签的键,value是标签的值。 |
environment_id | 否 | String | 参数解释: 环境ID。获取方法,请参考获取所有环境 - ObtainAllEnvironments。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
protocol | 否 | String | 参数解释: 外部访问类型。 取值范围:
默认取值: 不涉及 |
address | 否 | String | 参数解释: 外部访问地址。 取值范围: 不涉及 默认取值: 不涉及 |
forward_port | 否 | Integer | 参数解释: 外部访问端口。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
key | 否 | String | 参数解释: 污点键。 取值范围: 不涉及 默认取值: 不涉及 |
operator | 否 | String | 参数解释: 操作符。 取值范围:
默认取值: 不涉及 |
value | 否 | String | 参数解释: 污点值。“operator”为“Equal”时,需要填写污点值。 取值范围: 不涉及 默认取值: 不涉及 |
effect | 否 | String | 参数解释: 污点策略。 取值范围:
默认取值: 不涉及 |
toleration_seconds | 否 | Integer | 参数解释: 容忍时间窗。 当“effect”为“NoExecute”时支持配置。在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
container_name | 是 | String | 参数解释: 容器名称。 取值范围: 不涉及 默认取值: 不涉及 |
source | 是 | Object | 参数解释: 代码/软件包来源,请参考表31。 约束限制: 多容器模式下仅支持镜像。 |
limit_cpu | 否 | Number | 参数解释: 最大CPU限制,单位为Core。 取值范围: 不涉及 默认取值: 不涉及 |
limit_memory | 否 | Number | 参数解释: 最大内存限制,单位为GiB。 取值范围: 不涉及 默认取值: 不涉及 |
request_cpu | 否 | Number | 参数解释: 申请CPU资源,单位为Core。 取值范围: 不涉及 默认取值: 不涉及 |
request_memory | 否 | Number | 参数解释: 申请内存资源,单位为GiB。 取值范围: 不涉及 默认取值: 不涉及 |
envs | 否 | Array of objects | 参数解释: 环境变量列表,请参考表28。 |
liveness_probe | 否 | Object | 参数解释: 容器存活探针,请参考表25。 |
readiness_probe | 否 | Object | 参数解释: 容器业务探针,请参考表25。 |
startup_probe | 否 | Object | 参数解释: 容器启动探针,请参考表25。 |
command | 否 | Object | 参数解释: 启动命令,请参考表12。 |
post_start | 否 | Object | 参数解释: 启动后处理,请参考表13。 |
pre_stop | 否 | Object | 参数解释: 停止前处理,请参考表13。 |
logs | 否 | Array of objects | 参数解释: 日志采集,请参考表21。 |
storages | 否 | Array of objects | 参数解释: 存储,请参考表5。 |
security_context | 否 | Object | 参数解释: 安全策略,请参考表19。 |
config_encryption | 否 | Object | 参数解释: 加密配置,多容器组件配置加密密钥时需设置,请参考表41。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释: 端口名称。 取值范围: 不涉及 默认取值: 不涉及 |
port | 是 | String | 参数解释: 访问端口。 取值范围: 不涉及 默认取值: 不涉及 |
target_port | 是 | String | 参数解释: 容器端口。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
type | 否 | String | 参数解释: 组件升级类型。 取值范围:
默认取值: RollingUpdate |
max_unavailable | 否 |
| 参数解释: 最大无效实例数。与replica相比,可以有多少个实例失效,也就是删除的比例。
约束限制: 仅workload_kind为deployment时支持设置。 取值范围: 不涉及 默认取值: 默认值是25% |
max_surge | 否 |
| 参数解释: 最大浪涌。与replica相比,可以有多少个实例存在。
约束限制: 仅workload_kind为deployment时支持设置。 取值范围: 不涉及 默认取值: 默认值是25% |
termination_period_seconds | 否 | Integer | 参数解释: 缩容时间窗。工作负载停止前命令的执行时间窗。 取值范围: 不涉及 默认取值: 默认值为30秒。 |
min_ready_seconds | 否 | Integer | 参数解释: 实例可用最短时间。指定新创建的实例在没有任意容器崩溃情况下的最小就绪时间,只有超出这个时间实例才被视为可用。 取值范围: 不涉及 默认取值: 默认值为0。 |
progress_deadline_seconds | 否 | Integer | 参数解释: 升级最大时长。指定系统在报告组件升级失败之前等待组件取得进展的秒数。 约束限制: 如果指定,则此字段值需要大于min_ready_seconds取值。 取值范围: 不涉及 默认取值: 不涉及 |
revision_history_limit | 否 | Integer | 参数解释: 最大保留版本数。用来设定出于回滚目的所要保留的旧实例数量。 取值范围: 不涉及 默认取值: 默认情况下,系统保留10个旧实例。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
config_id | 是 | String | 参数解释: 统一配置ID。 取值范围: 不涉及 默认取值: 不涉及 |
mount_path | 是 | String | 参数解释: 挂载路径。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
enable | 是 | Boolean | 参数解释: 是否开启LTS自动配置。 取值范围:
默认取值: 不涉及 |
lts_log_path | 否 | Array of strings | 参数解释: 接入配置日志路径。 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
parallelism | 是 | Integer | 参数解释: 并行数。 取值范围: 不涉及 默认取值: 不涉及 |
active_deadline_seconds | 否 | Integer | 参数解释: 超时时间(秒)。 取值范围: 不涉及 默认取值: 不涉及 |
completion_mode | 是 | String | 参数解释: 完成模式。 取值范围:
默认取值: 不涉及 |
suspend | 是 | Boolean | 参数解释: 是否挂起任务。 选择挂起任务后,任务创建后处于挂起状态;将其关闭后,任务继续执行。 取值范围:
默认取值: false,默认任务创建后被立即执行。 |
响应消息
参数 | 参数类型 | 描述 |
|---|---|---|
job_id | String | 参数解释: 任务ID。 取值范围: 不涉及 |
component_id | String | 参数解释: 应用组件ID。 取值范围: 不涉及 |
请求示例
- 场景一:CCE容器环境下创建组件 创建名为mycomponent的组件。组件部署使用1.2.0版本的Java技术栈,组件来源选择存储在OBS下bucket00001桶里的weather-1.0.0.jar包,部署使用的资源为id为fd92bfab-73b3-11ee-90f0-0255ac1001b3的云容器引擎。
{ "name": "mycomponent", "description": "", "labels": [ { "key": "com-key", "value": "com-value" } ], "version": "2023.1102.17105", "environment_id": "b489f7b4-2539-45a1-ba71-4728961434ca", "runtime_stack": { "name": "OpenJDK8", "version": "1.2.0", "type": "Java", "deploy_mode": "container" }, "source": { "kind": "package", "url": "obs://bucket0001/weather-1.0.0.jar", "version": "", "storage": "obs" }, "tomcat_opts": { "server_xml": "" }, "refer_resources": [ { "id": "fd92bfab-73b3-11ee-90f0-0255ac1001b3", "type": "cce", } ], "replica": 1, "limit_cpu": 0.25, "limit_memory": 0.5, "request_cpu": 0.25, "request_memory": 0.5 } - 场景二:ECS虚拟机环境下创建组件
创建名为mycomponent的组件。组件部署使用1.2.0版本的Java技术栈,组件来源选择存储在OBS下bucket00001桶里的weather-1.0.0.jar包,部署使用的资源为id为67835bb3-1235-4cc9-be71-becbb2b4ca0d的弹性云服务器。
{ "name": "mycomponent", "description": "", "labels": [ { "key": "com-key", "value": "com-value" } ], "version": "2023.1102.17540", "environment_id": "9a075df5-104f-4e21-9dbf-ffc3572effdf", "runtime_stack": { "name": "OpenJDK8", "version": "1.2.0", "type": "Java", "deploy_mode": "virtualmachine" }, "source": { "kind": "package", "url": "obs://bucket0001/weather-1.0.0.jar", "version": "", "storage": "obs" }, "tomcat_opts": { "server_xml": "" }, "refer_resources": [ { "id": "23598aa9-7a6b-43c7-a53a-39ca5e7290fb", "type": "ecs" } ], "replica": 1, "external_accesses": [ { "protocol": "http", "address": "192.168.0.169", "forward_port": 80 } ] }
响应示例
{
"job_id": "JOB8be53b2a-af9a-4e2b-8505-096688a52237",
"component_id": "b8702b0f-94d3-4822-98a1-56815632a0a0"
} 状态码
状态码 | 描述 |
|---|---|
200 | 操作成功 |
400 | 错误的请求 |
404 | 请求对象不存在 |
500 | 内部错误 |
错误码
请参考ServiceStage错误码。

