更新时间:2024-12-16 GMT+08:00

获取所有组件

功能介绍

此API用于获取所有应用组件。

URI

GET /v3/{project_id}/cas/components

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目ID。获取方法,请参考获取项目ID

表2 查询参数

参数

是否必选

参数类型

描述

limit

integer

查询个数,取值[0, 100]。

offset

integer

查询偏移量,表示查询第n条数据后的结果。

order_by

String

排序字段。

排序字段支持以下枚举值:

  • create_time,组件创建时间,默认排序字段。
  • name,组件名称。
  • update_time,组件修改时间。

传值不在支持的枚举值范围内的话按默认排序字段排序。

order

String

排序方式。

  • desc,降序排序,默认排序方式。
  • asc,升序排序。

application_name

String

应用名称。

component_name

String

组件名称。

请求消息

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

消息体的类型(格式),默认取值为“application/json;charset=utf8”。

X-Auth-Token

String

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token

响应消息

表4 响应参数

参数

参数类型

描述

count

Integer

组件总数。

components

Array of objects

组件参数,请参考表5

表5 components

参数

参数类型

描述

id

String

组件ID。

name

String

组件名称。

labels

Array of objects

标签。容器部署可通过标签查询对应工作负载,虚机部署可配置对应的微服务名称的标签来使用优雅上下线功能,请参考表10

status

Object

组件状态,请参考表8

runtime_stack

Object

技术栈,请参考表7

application_name

String

应用名称。

application_id

String

应用ID。

environment_name

String

环境名称。

environment_id

String

环境ID。

version

String

版本号。

source

Object

代码/软件包来源,请参考表6

creator

String

创建人。

platform_type

String

部署类型。

external_accesses

Array of Objects

外部访问,请参考表11

表6 source

参数

参数类型

描述

kind

String

组件来源类型。

  • code,源码。
  • package,软件包。
  • image,镜像包。

version

String

版本号。

url

String

包地址,类型为package和image时需要添加。

storage

String

存储方式,例如:obs。

auth

String

认证方式,例如: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。

表7 runtime_stack

参数

参数类型

描述

name

String

技术栈名称。

type

String

技术栈类型,支持Java、Tomcat、Nodejs、Php、Docker、Python。

当部署模式为虚机部署时,仅支持Java、Tomcat、Nodejs;容器部署上述类型都支持。

version

String

技术栈版本。

deploy_mode

String

部署模式。

表8 status参数

参数

参数类型

描述

component_status

String

组件状态。

  • INITIALIZING,初始化。
  • UPGRADING,升级中。
  • FAILED,失败。
  • RUNNING,运行中。
  • DOWN,下线。
  • DELETING,删除中。
  • DELETED,已删除。
  • RESERVED,保留。
  • STARTING,启动中。
  • STOPPING,停止中。
  • STOPPED,停止。
  • RESTARTING,重启中。
  • PENDING,未就绪。
  • UNKNOWN,未知。
  • PARTIALLY_FAILED,部分失败。

available_replica

Integer

可用实例。

replica

Integer

总实例。

fail_detail

String

失败原因。

  • cluster_deleted,集群被删除。
  • cluster_unavailable,集群不可用。
  • cluster_inaccessible,集群无法访问。
  • namespace_deleted,命名空间被删除。
  • namespace_unavailable,命名空间不可用。
  • namespace_inaccessible,命名空间无法访问。
  • resource_deleted,资源已删除。
  • create_failed,创建组件失败。
  • delete_failed,删除组件失败。

last_job_id

String

最后执行任务ID。

create_time

Integer

创建时间。

update_time

Integer

更新时间。

creator

String

创建人。

artifact

Object

组件构建信息,请参考表9

表9 artifact

参数

参数类型

描述

type

String

组件来源类型。

  • 虚拟机部署支持软件包package。
  • 容器部署支持软件包package、镜像包image。

url

String

软件包/镜像地址。

表10 labels

参数

参数类型

描述

key

String

标签名称

value

String

标签值

表11 external_accesses

参数

参数类型

描述

protocol

String

外部访问类型,取值范围为:http、https。

address

String

外部访问地址。

forward_port

Integer

外部访问端口。

请求示例

响应示例

{
    "components": [
        {
            "source": {
                "kind": "package",
                "url": "obs://bucket0001/weather-1.0.0.jar",
                "storage": "obs"
            },
            "name": "mycomponent",
            "id": "b8702b0f-94d3-4822-98a1-56815632a0a0",
            "labels": null,
            "runtime_stack": {
                "name": "OpenJDK8",
                "deploy_mode": "virtualmachine",
                "version": "1.1.1"
            },
            "external_accesses": null,
            "status": {
                "component_status": "RUNNING",
                "available_replica": 1,
                "replica": 1,
                "fail_detail": null,
                "last_job_id": "JOB8be53b2a-af9a-4e2b-8505-096688a52237",
                "creator": "ss-test",
                "create_time": 1679556221028,
                "update_time": 1679556318779
            },
            "environment_name": "sudo",
            "environment_id": "4d084044-0b80-4641-963c-b9c9f4092a4f",
            "application_name": "app-39mbbn",
            "application_id": "fc092465-a5fb-4a52-bc65-b735f18366d8",
            "creator": "ss-test",
            "platform_type": "cce",
            "version": "2023.0323.15181"
        }
    ],
    "count": 1
}

状态码

状态码

描述

200

操作成功

400

错误的请求

404

请求对象不存在

500

内部错误

错误码

错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考ServiceStage错误码