{"base_path":null,"components":null,"consumes":"","definitions":{"ApiVersionObj":{"description":"API版本,固定值“v1”,该值不可修改。","enum":["v1"],"type":"string"},"Archive":{"description":"构建产物纳管。","properties":{"artifact_namespace":{"description":"产物纳管SWR组织。","type":"string"}},"type":"object"},"Build":{"description":"构建信息。","properties":{"archive":{"$ref":"#/definitions/Archive"},"parameters":{"$ref":"#/definitions/Parameters"}},"required":["archive","parameters"],"type":"object"},"ComponentKindObj":{"description":"API类型,固定值“Component”,该值不可修改。","enum":["Component"],"type":"string"},"CreateComponentRequestBody":{"example":{"api_version":"v1","kind":"Component","metadata":{"annotations":{"version":"1.0.0"},"name":"demo-src"},"spec":{"build":{"archive":{"artifact_namespace":"xxx"},"parameters":{"base_image":"openjdk:8u181-jdk-alpine"}},"replica":2,"resource_limit":{"cpu_limit":"500m","memory_limit":"1Gi"},"runtime":"Java8","source":{"code":{"auth_name":"gitlab-xxx","branch":"master","namespace":"em1n"},"sub_type":"GitLab","type":"code","url":"https://xxx:8090/xxx/cae-frontend.git"}}},"properties":{"api_version":{"$ref":"#/definitions/ApiVersionObj"},"kind":{"$ref":"#/definitions/ComponentKindObj"},"metadata":{"description":"请求数据。","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"创建组件请求体附加参数,当前只支持version参数,此参数必填。","example":{"version":"1.0.0"},"type":"object","x-api-inputuntrust-envparam":"Env"},"name":{"description":"组件名称。","type":"string","x-api-inputuntrust-envparam":"Env"}},"required":["name","annotations"],"type":"object"},"spec":{"description":"组件规格信息。","properties":{"build":{"$ref":"#/definitions/Build"},"image_url":{"description":"镜像地址。","type":"string","x-api-inputuntrust-envparam":"Env"},"replica":{"description":"实例个数。","type":"integer"},"resource_limit":{"$ref":"#/definitions/ResourceLimit"},"runtime":{"description":"语言/运行时。","enum":["Docker","Java8","Java11","Java17","Java21","Tomcat8","Tomcat9","Python3","Nodejs8","Nodejs14","Nodejs16","Php7","Php8","Dotnet6","Dotnet7","Dotnet8"],"type":"string"},"source":{"$ref":"#/definitions/Source"}},"required":["runtime","replica","resource_limit","source"],"type":"object"}},"required":["api_version","kind","metadata","spec"],"type":"object"},"CreateComponentResponseBody":{"example":{"api_version":"v1","kind":"Component","metadata":{"annotations":{"log_group_id":"862d70a3-e8d7-4d97-943d-fd9851799f46","log_stream_id":"e938cda5-6b09-487b-9cca-8d712d2ac15f","version":"1.0.0"},"created_at":"2022-06-24T07:01:14.960324Z","id":"xxx","name":"xxx","updated_at":"2022-06-24T07:01:14.960324Z"},"spec":{"available_replica":1,"build":{"archive":{"artifact_namespace":"xxx"},"parameters":{"base_image":"openjdk:8u181-jdk-alpine"}},"image_url":"xxx/demo:1.0","replica":2,"runtime":"Java8","source":{"sub_type":"BinObs","type":"softwarePackage","url":"xxx"}}},"properties":{"api_version":{"$ref":"#/definitions/ApiVersionObj"},"kind":{"$ref":"#/definitions/ComponentKindObj"},"metadata":{"$ref":"#/definitions/MetadataResponse"},"spec":{"$ref":"#/definitions/CreateComponentSpec"}},"type":"object"},"CreateComponentSpec":{"description":"组件规格。","properties":{"available_replica":{"description":"可用实例个数。","format":"int32","type":"integer"},"build":{"$ref":"#/definitions/Build"},"env_id":{"description":"环境ID。","type":"string"},"replica":{"description":"实例个数。","format":"int32","type":"integer"},"resource_limit":{"$ref":"#/definitions/ResourceLimit"},"runtime":{"description":"语言/运行时。","enum":["Docker","Java8","Java11","Java17","Java21","Tomcat8","Tomcat9","Python3","Nodejs8","Nodejs14","Nodejs16","Php7","Php8","Dotnet6","Dotnet7","Dotnet8"],"type":"string"},"source":{"$ref":"#/definitions/Source"},"status":{"description":"组件状态。","type":"string"}},"type":"object"},"MetadataResponse":{"description":"响应数据。","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"组件附加属性。\n- log_group_id:LTS日志组的ID。\n- log_stream_id:LTS日志流的ID。\n- version:组件版本。","type":"object"},"created_at":{"description":"创建时间。","format":"date-time","type":"string"},"id":{"description":"组件ID。","type":"string"},"name":{"description":"组件名称。","type":"string"},"updated_at":{"description":"更新时间。","format":"date-time","type":"string"}},"type":"object"},"Parameters":{"additionalProperties":{"type":"string"},"description":"构建附加参数。\n- base_image:基础镜像地址。\n- build_cmd:自定义构建命令。\n- dockerfile_path:自定义dockerfile文件路径\n- dockerfile_content:自定义dockerfile内容\n- artifact_name: 针对java多模块构建,指定构建后运行的产物,以\".jar\"结尾。","example":{"base_image":"openjdk:8u181-jdk-alpine","build_cmd":"mvn clean package"},"type":"object"},"Repo":{"description":"源码仓库信息。","properties":{"auth_name":{"description":"授权名称。","type":"string"},"branch":{"description":"分支。","type":"string"},"namespace":{"description":"命名空间,需填写命名空间的Base64编码。","type":"string"}},"type":"object"},"ResourceLimit":{"description":"实例规格。","properties":{"cpu_limit":{"description":"cpu限额。","enum":["500m","1000m","2000m"],"type":"string"},"memory_limit":{"description":"内存限额。","enum":["1Gi","2Gi","4Gi"],"type":"string"}},"required":["cpu_limit","memory_limit"],"type":"object"},"Source":{"description":"源信息。","properties":{"code":{"$ref":"#/definitions/Repo"},"sub_type":{"description":"源子类型。\n- 源类型为code时,子类型表示不同的代码仓库,如DevCloud(CodeArts)、GitLab、GitHub、Gitee、Bitbucket。\n- 源类型为softwarePackage时,子类型表示不同的软件包仓库,如BinObs、BinDevCloud(CodeArts软件发布库)。","enum":["BinObs","BinDevCloud","GitLab","GitHub","DevCloud","Gitee","Bitbucket"],"type":"string"},"type":{"description":"源类型。","enum":["image","code","softwarePackage"],"type":"string"},"url":{"description":"url地址。\n- 源类型为image时,url地址为镜像地址。\n- 源类型为code时,url地址为git地址。\n- 源类型为softwarePackage时,url地址为软件包地址。","type":"string"}},"required":["type","url"],"type":"object"}},"description":null,"group_id":"233de030b8054c65a90cfefe2e0b09aa","host":"cae.cn-north-4.myhuaweicloud.com","id":"45914270dd3544bfb971edf8994a7ea6","info_version":"v1","method":"post","name":"CreateComponent","parameters":{"param_header_x_auth_token":{"description":"用户Token。 \n- 获取Token,请参考《[统一身份认证服务API参考](https://support.huaweicloud.com/api-iam/iam_30_0001.html)》的“获取用户Token”章节。 \n- 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。","in":"header","maxLength":16384,"name":"X-Auth-Token","required":true,"type":"string","x-order":52},"param_header_x_enterprise_project_id":{"description":"企业项目ID。 \n- 创建环境时,环境会绑定企业项目ID。 \n- 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 \n- 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。\n\n> 关于企业项目ID的获取及企业项目特性的详细信息,请参见《[企业管理服务用户指南](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)》。","in":"header","name":"X-Enterprise-Project-ID","pattern":"^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$|^0$","required":false,"type":"string","x-order":53},"param_header_x_environment_id":{"description":"环境ID。 \n- 获取环境ID,通过《[云应用引擎API参考](https://support.huaweicloud.com/api-cae/ListEnvironments.html)》的“获取环境列表”章节获取环境信息。 \n- 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。","in":"header","name":"X-Environment-ID","pattern":"^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$","required":true,"type":"string","x-order":54},"param_path_project_id":{"description":"项目ID,获取项目ID请参见[获取项目ID](https://support.huaweicloud.com/api-cae/cae_06_0021.html)。","in":"path","name":"project_id","required":true,"type":"string","x-order":1,"x-sec-authority-parameter":"Y"}},"paths":{"/v1/{project_id}/cae/applications/{application_id}/components":{"post":{"consumes":["application/json"],"description":"创建组件。","operationId":"CreateComponent","parameters":[{"$ref":"#/parameters/param_path_project_id"},{"description":"应用ID。","in":"path","name":"application_id","required":true,"type":"string","x-sec-authority-parameter":"Y"},{"$ref":"#/parameters/param_header_x_auth_token"},{"$ref":"#/parameters/param_header_x_enterprise_project_id"},{"$ref":"#/parameters/param_header_x_environment_id"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/CreateComponentRequestBody"}}],"produces":["application/json"],"responses":{"200":{"description":"请求成功。","examples":{"application/json":"{\n \"api_version\": \"v1\",\n \"kind\": \"Component\",\n \"metadata\": {\n \"id\": \"cac09548-047f-46c4-abbd-a6a652305565\",\n \"name\": \"test-code\",\n \"annotations\": {\n \"log_group_id\": \"5b13213a-84f8-4b72-8ca5-530e15cc1402\",\n \"log_stream_id\": \"6ddf6c71-4767-46db-98a2-fe5fb301b366\",\n \"version\": \"1.0.0\"\n },\n \"created_at\": \"2023-02-13T02:38:22.689607114Z\",\n \"updated_at\": \"2023-02-13T02:38:22.689607114Z\"\n },\n \"spec\": {\n \"runtime\": \"Java8\",\n \"env_id\": \"9819b3f5-dd08-44ff-ba88-eb38e435594c\",\n \"replica\": 1,\n \"source\": {\n \"type\": \"code\",\n \"sub_type\": \"GitLab\",\n \"url\": \"http://xxx@cpe.gitlab.com:8090/xxx/cae-backend.git\",\n \"code\": {\n \"branch\": \"master\",\n \"auth_name\": \"gitlab-xxx\",\n \"namespace\": \"em1n\"\n }\n },\n \"build\": {\n \"archive\": {\n \"artifact_namespace\": \"xxx\"\n },\n \"parameters\": {\n \"base_image\": \"openjdk:8u181-jdk-alpine\"\n \"dockerfile_path\": \"./Dockerfile\"\n }\n },\n \"resource_limit\": {\n \"cpu_limit\": \"500m\",\n \"memory_limit\": \"1Gi\"\n },\n \"available_replica\": 0,\n \"status\": \"created\"\n }\n}"},"schema":{"$ref":"#/definitions/CreateComponentResponseBody"}}},"summary":"创建组件","tags":["Component"],"x-api-framework":"RestfulAPI","x-api-position":"Region_ZONE","x-api-type":"open-api","x-api-user":"IAM_User","x-api-userinput-untrust":{"EnvParam":"name,annotations,image_url"},"x-apiexplorer-hide":"false","x-authority-parameter-url":"project_id, application_id","x-is-registered":"Y","x-open-region-cloud":"hws,hws_eu,hws_hk","x-request-examples-1":{"api_version":"v1","kind":"Component","metadata":{"annotations":{"version":"1.0.0"},"name":"test-code"},"spec":{"build":{"archive":{"artifact_namespace":"xxx"},"parameters":{"base_image":"openjdk:8u181-jdk-alpine","dockerfile_path":"./Dockerfile"}},"replica":1,"resource_limit":{"cpu_limit":"500m","memory_limit":"1Gi"},"runtime":"Java8","source":{"code":{"auth_name":"gitlab-xxx","branch":"master","namespace":"em1n"},"sub_type":"GitLab","type":"code","url":"https://xxx:8090/xxx/cae-frontend.git"}}},"x-request-examples-2":{"api_version":"v1","kind":"Component","metadata":{"annotations":{"version":"1.0.0"},"name":"test-image"},"spec":{"replica":1,"resource_limit":{"cpu_limit":"500m","memory_limit":"1Gi"},"runtime":"Docker","source":{"type":"image","url":"nginx:stable-alpine-perl"}}},"x-request-examples-3":{"api_version":"v1","kind":"Component","metadata":{"annotations":{"version":"1.0.0"},"name":"test-jar"},"spec":{"build":{"archive":{"artifact_namespace":"xxx"},"parameters":{"base_image":"openjdk:8u181-jdk-alpine","dockerfile_content":"FROM java:8 \\nADD forecast-1.0.0.jar \\nEXPOSE 8080 \\nENTRYPOINT [\"java\",\"-jar\",\"forecast-1.0.0.jar\"]"}},"replica":1,"resource_limit":{"cpu_limit":"500m","memory_limit":"1Gi"},"runtime":"Java8","source":{"sub_type":"BinObs","type":"softwarePackage","url":"https://xxx.obs.region.xxx.huawei.com/xxx/forecast-1.0.0.jar"}}},"x-request-examples-description-1":"使用源码仓库创建组件,组件名称“test-code”,版本“1.0.0”,选择GitLab源码仓库,运行时为Java8。","x-request-examples-description-2":"使用镜像创建组件,组件名称“test-image”,版本“1.0.0”,选择nginx镜像,运行时为Docker。","x-request-examples-description-3":"使用软件包创建组件,组件名称“test-jar”,版本“1.0.0”,在OBS对象存储中选择名称为“forecast-1.0.0.jar”的软件包,运行时为Java8。","x-request-examples-url-1":"POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components","x-request-examples-url-2":"POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components","x-request-examples-url-3":"POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components","x-sec-auditlog":"Y","x-sec-privacy-datalevel":"L3","x-sec-upload-download":"N","x-support-sdk":"Y"}}},"product_short":"CAE","region_id":"cn-north-4","schemes":["HTTPS"],"security_definitions":null,"summary":"创建组件","tags":"组件","uri":null,"version":"2.0"}