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

操作组件

功能介绍

对组件执行指定操作,如部署、升级、重启、停止、启动、伸缩、配置、回滚。

调试

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

URI

POST /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action

表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类型,固定值“Action”,该值不可修改。

枚举值:

  • Action

metadata

metadata object

请求数据。

spec

ActionOnComponentSpec object

action规格信息。

表4 metadata

参数

是否必选

参数类型

描述

annotations

map<string, object>

资源信息。

name

String

action名称。

枚举值:

  • deploy

  • upgrade

  • configure

  • scale

  • restart

  • start

  • stop

  • rollback

表5 ActionOnComponentSpec

参数

是否必选

参数类型

描述

snapshot_index

Integer

快照序号。

replica

Integer

实例个数。

source

ActionOnComponentSource object

源数据。

resource_limit

ResourceLimitForUpgrade object

实例规格。

build

ActionOnComponentBuild object

构建数据。

表6 ActionOnComponentSource

参数

是否必选

参数类型

描述

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 ResourceLimitForUpgrade

参数

是否必选

参数类型

描述

cpu_limit

String

cpu限额。

枚举值:

  • 500m

  • 1000m

  • 2000m

memory_limit

String

内存限额。

枚举值:

  • 1Gi

  • 2Gi

  • 4Gi

表9 ActionOnComponentBuild

参数

是否必选

参数类型

描述

archive

Archive object

构建产物纳管。

parameters

map<string, object>

构建附加参数。

  • base_image:基础镜像地址。

  • build_cmd:自定义构建命令。

  • dockerfile_path:自定义dockerfile文件路径

  • dockerfile_content:自定义dockerfile内容

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

表10 Archive

参数

是否必选

参数类型

描述

artifact_namespace

String

产物纳管SWR组织。

响应参数

状态码: 200

表11 响应Body参数

参数

参数类型

描述

job_id

String

任务ID。

请求示例

  • 对组件执行指定操作,如部署、重启、停止、启动、生效配置。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "deploy/restart/stop/start/configure",
        "annotations" : {
          "version" : "1.0.0"
        }
      }
    }
  • 对组件执行升级操作,升级后版本号为“1.0.1”。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "upgrade",
        "annotations" : {
          "version" : "1.0.1"
        }
      },
      "spec" : {
        "source" : {
          "type" : "image",
          "url" : "nginx:stable-alpine-perl"
        }
      }
    }
  • 对组件执行伸缩操作,将实例数扩容到2。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "scale",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "replica" : 2
      }
    }
  • 对组件执行回滚操作。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "rollback",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "snapshot_index" : 1
      }
    }

响应示例

状态码: 200

请求成功。

{
  "job_id" : "xxx"
}

状态码

状态码

描述

200

请求成功。

错误码

请参见错误码

相关文档