应用中创建组件
功能介绍
此API用于在应用中创建组件。
URI
POST /v3/{project_id}/cas/applications/{application_id}/components
请求消息
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        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  | 
      |
| 
        environment_id  | 
      
        否  | 
      
        String  | 
      
        环境ID,可通过获取所有环境接口返回的信息获取。  | 
     
| 
        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  | 
      
        组件版本号,最大长度32,规则为: ^([0-9]+)(.[0-9]+){2,3}$ “create_mode”为“drafts”,本参数非必选。  | 
     
| 
        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。  | 
     
| 
        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  | 
      
        有状态负载的实例间发现服务配置端口配置。  | 
     
| 
        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 String  | 
      
        镜像拉取密钥列表。  | 
     
| 
        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类型的存储。不传参数为默认的磁盘介质,传参为memory则开启内存存储。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        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 String  | 
      
        运行命令,控制容器运行的输入命令。  | 
     
| 
        args  | 
      
        否  | 
      
        Array of String  | 
      
        运行参数,控制容器运行命令的输入参数。例如:-port=8080,多条参数以换行分隔。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        type  | 
      
        是  | 
      
        String  | 
      
        处理方式。 
  | 
     
| 
        scheme  | 
      
        否  | 
      
        String  | 
      
        http请求类型参数:HTTP、HTTPS。 type为http类型时生效。  | 
     
| 
        host  | 
      
        否  | 
      
        String  | 
      
        默认为POD的IP,可以指定自定义的IP。 type为http类型时生效。  | 
     
| 
        port  | 
      
        否  | 
      
        Integer  | 
      
        端口号,type为http类型时生效。  | 
     
| 
        path  | 
      
        否  | 
      
        String  | 
      
        请求路径,type为http类型时生效。  | 
     
| 
        command  | 
      
        否  | 
      
        Array of String  | 
      
        命令列表,type为command类型时生效。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        server_xml  | 
      
        是  | 
      
        String  | 
      
       
  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        nameservers  | 
      
        否  | 
      
        Array of String  | 
      
        Pod的DNS服务器的IP地址列表。  | 
     
| 
        searches  | 
      
        否  | 
      
        Array of String  | 
      
        可选,用于在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 String  | 
      
        为运行用户添加Linux权限。  | 
     
| 
        drop  | 
      
        否  | 
      
        Array of String  | 
      
        移除运行用户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  | 
      
        类型:http、tcp、command。  | 
     
| 
        delay  | 
      
        是  | 
      
        Integer  | 
      
        启动后多久开始探测。  | 
     
| 
        timeout  | 
      
        是  | 
      
        Integer  | 
      
        探测超时时间。  | 
     
| 
        scheme  | 
      
        否  | 
      
        String  | 
      
        请求类型:HTTP、HTTPS,type为http类型时生效。  | 
     
| 
        host  | 
      
        否  | 
      
        String  | 
      
        默认为POD的IP,可以指定自定义的IP。type为http类型时生效。  | 
     
| 
        port  | 
      
        否  | 
      
        Integer  | 
      
        端口号,type为http和tcp类型时生效。  | 
     
| 
        path  | 
      
        否  | 
      
        String  | 
      
        请求路径,type为http类型时生效。  | 
     
| 
        command  | 
      
        否  | 
      
        Array of String  | 
      
        命令列表,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  | 
      
        存储卷类型。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        reference_type  | 
      
        是  | 
      
        String  | 
      
        引用类型。 
  | 
     
| 
        name  | 
      
        是  | 
      
        String  | 
      
        配置项或密钥的名称。  | 
     
| 
        key  | 
      
        否  | 
      
        String  | 
      
        配置项或密钥的键值。  | 
     
| 
        optional  | 
      
        否  | 
      
        Boolean  | 
      
        配置项或密钥的key是否必须存在。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        name  | 
      
        是  | 
      
        String  | 
      
        技术栈名称。  | 
     
| 
        type  | 
      
        是  | 
      
        String  | 
      
        技术栈类型,支持Java、Tomcat、Nodejs、Php、Docker、Python。 当部署模式为虚机部署时,仅支持Java、Tomcat、Nodejs;容器部署上述类型都支持。  | 
     
| 
        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、none,默认是iam。  | 
     
| 
        repo_auth  | 
      
        否  | 
      
        String  | 
      
        授权名称,在授权列表获取,请参考获取仓库授权列表。  | 
     
| 
        repo_namespace  | 
      
        否  | 
      
        String  | 
      
        代码仓库命名空间。  | 
     
| 
        repo_ref  | 
      
        否  | 
      
        String  | 
      
        代码分支或者Tag,默认是master。  | 
     
| 
        repo_type  | 
      
        否  | 
      
        String  | 
      
        代码仓类型,支持GitHub、BitBucket、GitLab。  | 
     
| 
        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。获取方法,请参考获取所有环境。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        protocol  | 
      
        否  | 
      
        String  | 
      
        外部访问类型,取值范围为:http、https。  | 
     
| 
        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  | 
      
        组件升级类型: 
  | 
     
| 
        max_unavailable  | 
      
        否  | 
      
       
  | 
      
        最大无效实例数。与replica相比,可以有多少个实例失效,也就是删除的比例,默认值是25%。workload_kind为deployment时支持设置。 
  | 
     
| 
        max_surge  | 
      
        否  | 
      
       
  | 
      
        最大浪涌。与replica相比,可以有多少个实例存在,默认值是25%。仅workload_kind为deployment时支持设置。 
  | 
     
| 
        termination_period_seconds  | 
      
        否  | 
      
        Integer  | 
      
        缩容时间窗。工作负载停止前命令的执行时间窗,默认值为30秒。  | 
     
| 
        min_ready_seconds  | 
      
        否  | 
      
        Integer  | 
      
        实例可用最短时间。指定新创建的实例在没有任意容器崩溃情况下的最小就绪时间,只有超出这个时间实例才被视为可用。 默认值为 0。  | 
     
| 
        progress_deadline_seconds  | 
      
        否  | 
      
        Integer  | 
      
        升级最大时长。指定系统在报告组件升级失败之前等待组件取得进展的秒数。 如果指定,则此字段值需要大于min_ready_seconds取值。  | 
     
| 
        revision_history_limit  | 
      
        否  | 
      
        Integer  | 
      
        最大保留版本数。用来设定出于回滚目的所要保留的旧实例数量。默认情况下,系统保留10个旧实例。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        enable  | 
      
        是  | 
      
        Boolean  | 
      
        是否开启LTS自动配置。  | 
     
| 
        lts_log_path  | 
      
        否  | 
      
        Array of String  | 
      
        接入配置日志路径。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        parallelism  | 
      
        是  | 
      
        Integer  | 
      
        并行数。  | 
     
| 
        active_deadline_seconds  | 
      
        否  | 
      
        Integer  | 
      
        超时时间(秒)。  | 
     
| 
        completion_mode  | 
      
        是  | 
      
        String  | 
      
        完成模式 
  | 
     
| 
        suspend  | 
      
        是  | 
      
        Boolean  | 
      
        是否挂起任务。 默认任务创建后被立即执行。 选择挂起任务后,任务创建后处于挂起状态;将其关闭后,任务继续执行。  | 
     
响应消息
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        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错误码。