更新时间:2023-12-27 GMT+08:00
分享

更新组件

功能介绍

更新组件。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

PUT /v1/{project_id}/cae/applications/{application_id}/components/{component_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取项目ID请参见获取项目ID

application_id

String

应用ID。

component_id

String

组件ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

  • 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。

  • 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

最大长度:16384

X-Enterprise-Project-ID

String

企业项目ID。

  • 创建环境时,环境会绑定企业项目ID。

  • 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。

  • 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。

说明:

关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。

X-Environment-ID

String

环境ID。

  • 获取环境ID,通过《云应用引擎API参考》的“获取环境列表”章节获取环境信息。

  • 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。

表3 请求Body参数

参数

是否必选

参数类型

描述

api_version

String

API版本,固定值“v1”,该值不可修改。

枚举值:

  • v1

kind

String

API类型,固定值“Component”,该值不可修改。

枚举值:

  • Component

metadata

UpdateComponentRequestMetadata object

请求数据。

spec

UpdateComponentRequestSpec object

组件规格。

表4 UpdateComponentRequestMetadata

参数

是否必选

参数类型

描述

name

String

组件名称。

annotations

Map<String,String>

更新组件请求体附加参数,当前只支持version参数,此参数必填。

表5 UpdateComponentRequestSpec

参数

是否必选

参数类型

描述

runtime

String

语言/运行时。

枚举值:

  • Docker

  • Java8

  • Java11

  • Java17

  • Tomcat8

  • Tomcat9

  • Python3

  • Nodejs8

  • Nodejs14

  • Nodejs16

  • Php7

source

Source object

源信息。

build

Build object

构建信息。

resource_limit

ResourceLimit object

实例规格。

replica

Integer

实例个数。

表6 Source

参数

是否必选

参数类型

描述

code

Repo object

源码仓库信息。

type

String

源类型。

枚举值:

  • image

  • code

  • softwarePackage

sub_type

String

源子类型。

  • 源类型为code时,子类型表示不同的代码仓库,如DevCloud(CodeArts)、GitLab、GitHub、Gitee、Bitbucket。

  • 源类型为softwarePackage时,子类型表示不同的软件包仓库,如BinObs、BinDevCloud(CodeArts软件发布库)。

枚举值:

  • BinObs

  • BinDevCloud

  • GitLab

  • GitHub

  • DevCloud

  • Gitee

  • Bitbucket

url

String

url地址。

  • 源类型为image时,url地址为镜像地址。

  • 源类型为code时,url地址为git地址。

  • 源类型为softwarePackage时,url地址为软件包地址。

表7 Repo

参数

是否必选

参数类型

描述

auth_name

String

授权名称。

branch

String

分支。

namespace

String

命名空间,需填写命名空间的Base64编码。

表8 Build

参数

是否必选

参数类型

描述

archive

Archive object

构建产物纳管。

parameters

map<string, object>

构建附加参数。

  • base_image:基础镜像地址。

  • build_cmd:自定义构建命令。

  • dockerfile_path:自定义dockerfile文件路径

  • dockerfile_content:自定义dockerfile内容

  • artifact_name: 针对java多模块构建,指定构建后运行的产物,以".jar"结尾。

表9 Archive

参数

是否必选

参数类型

描述

artifact_namespace

String

产物纳管SWR组织。

表10 ResourceLimit

参数

是否必选

参数类型

描述

cpu_limit

String

cpu限额。

枚举值:

  • 500m

  • 1000m

  • 2000m

memory_limit

String

内存限额。

枚举值:

  • 1Gi

  • 2Gi

  • 4Gi

响应参数

请求示例

  • 更新组件代码源为源码仓库,组件名称“demo”,版本“1.0.0”,选择GitLab源码仓库,运行时为Java8。

    PUT https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}
    
    {
      "api_version" : "v1",
      "kind" : "Component",
      "metadata" : {
        "name" : "demo",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "runtime" : "Java8",
        "build" : {
          "archive" : {
            "artifact_namespace" : "xxx"
          },
          "parameters" : {
            "base_image" : "xxx",
            "dockerfile_path" : "xxx"
          }
        },
        "source" : {
          "type" : "code",
          "sub_type" : "GitLab",
          "url" : "https://xxx:8090/xxx/cae-frontend.git",
          "code" : {
            "branch" : "master",
            "auth_name" : "gitlab-xxx",
            "namespace" : "em1n"
          }
        },
        "resource_limit" : {
          "cpu_limit" : "500m",
          "memory_limit" : "1Gi"
        },
        "replica" : 1
      }
    }
  • 更新组件代码源为镜像,组件名称“demo”,版本“1.0.0”,选择名称为“cae-demo”的镜像,运行时为Docker。

    PUT https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}
    
    {
      "api_version" : "v1",
      "kind" : "Component",
      "metadata" : {
        "name" : "demo",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "runtime" : "Docker",
        "build" : {
          "archive" : {
            "artifact_namespace" : "xxx"
          },
          "parameters" : {
            "base_image" : "xxx"
          }
        },
        "source" : {
          "type" : "image",
          "url" : "xxx/cae-demo:v1"
        },
        "resource_limit" : {
          "cpu_limit" : "500m",
          "memory_limit" : "1Gi"
        },
        "replica" : 1
      }
    }
  • 更新组件代码源为软件包,组件名称“demo”,版本“1.0.0”,在OBS对象存储中选择名称为“forecast-1.0.0.jar”的软件包,运行时为Java8。

    PUT https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}
    
    {
      "api_version" : "v1",
      "kind" : "Component",
      "metadata" : {
        "name" : "demo",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "runtime" : "Java8",
        "build" : {
          "archive" : {
            "artifact_namespace" : "xxx"
          },
          "parameters" : {
            "base_image" : "openjdk:8u181-jdk-alpine",
            "dockerfile_content" : "xxx"
          }
        },
        "source" : {
          "type" : "softwarePackage",
          "sub_type" : "BinObs",
          "url" : "https://xxx.obs.region.xxx.huawei.com/xxx/forecast-1.0.0.jar"
        },
        "resource_limit" : {
          "cpu_limit" : "500m",
          "memory_limit" : "1Gi"
        },
        "replica" : 1
      }
    }

响应示例

状态码

状态码

描述

200

请求成功。

错误码

请参见错误码

分享:

    相关文档

    相关产品