获取应用所有组件 - ObtainAllComponentsOfAnApplication
功能介绍
此API用于获取应用下所有应用组件。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
servicestage:app:listComponent
list
-
-
servicestage:app:list
-
URI
GET /v3/{project_id}/cas/applications/{application_id}/components
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 租户项目ID。获取方法,请参考获取项目ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| application_id | 是 | String | 参数解释: 应用ID。获取方法,请参考获取所有应用 - ObtainAllApplications。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| limit | 否 | Integer | 参数解释: 查询个数。 约束限制: 不涉及 取值范围: 1~100 默认取值: 10 |
| offset | 否 | Integer | 参数解释: 查询偏移量,表示查询第n条数据后的结果。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 0 |
| order_by | 否 | String | 参数解释: 排序字段。 约束限制: 不涉及 取值范围:
传值不在支持的枚举值范围内的话按create_time排序。 默认取值: create_time |
| order | 否 | String | 参数解释: 排序方式。 约束限制: 不涉及 取值范围:
默认取值: desc |
请求消息
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 参数解释: 消息体的类型(格式)。 约束限制: 不涉及 取值范围: application/json;charset=utf8 默认取值: 不涉及 |
| X-Auth-Token | 是 | String | 参数解释: 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
响应消息
| 参数 | 参数类型 | 描述 |
|---|---|---|
| count | Integer | 参数解释: 组件总数。 取值范围: 不涉及 |
| components | Array of objects | 参数解释: 组件参数,请参考表5。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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。 |
| workload_kind | String | 参数解释: 工作负载类型。 取值范围:
|
| is_multi_containers | Boolean | 参数解释: 是否是多容器。 取值范围:
|
| enterprise_project_id | String | 参数解释: 企业项目ID。 取值范围: 不涉及 |
| engine_id | String | 参数解释: 引擎ID。 取值范围: 不涉及 |
| swimlane_tag | String | 参数解释: 泳道标签。 取值范围: 不涉及 |
| swimlane | Object | 参数解释: 所属泳道,请参考表12。 |
| refer_resources | Array of objects | 参数解释: 关联资源,请参考表14。 |
| config_mode | String | 参数解释: 组件创建方式。 取值范围:
|
| template_source | Object | 参数解释: 组件模板包来源,请参考表20。 |
| vmapp_config_mode | String | 参数解释: 虚拟机部署方式部署组件的目录类型。 取值范围:
|
| vmapp_config | Object | 参数解释: 虚拟机部署方式部署组件的目录配置,请参考表22。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| kind | String | 参数解释: 组件来源类型。 取值范围:
|
| version | String | 参数解释: 版本号。 取值范围: 不涉及 |
| url | String | 参数解释: 包地址,类型为package和image时需要添加。 取值范围: 不涉及 |
| storage | String | 参数解释: 存储方式。 取值范围:
组件来源类型为package和image时需要添加。 |
| auth | String | 参数解释: 认证方式。 取值范围:
|
| repo_auth | String | 参数解释: 授权名称,在授权列表获取。 取值范围: 不涉及 |
| repo_namespace | String | 参数解释: 代码仓库命名空间。 取值范围: 不涉及 |
| repo_ref | String | 参数解释: 代码分支或者Tag,默认是master。 取值范围: 不涉及 |
| repo_type | String | 参数解释: 代码仓类型。 取值范围:
|
| web_url | String | 参数解释: 代码跳转链接,例如:https://github.com/example/demo.git。 取值范围: 不涉及 |
| repo_url | String | 参数解释: 代码仓url,例如:https://github.com/example/demo.git。 取值范围: 不涉及 |
| 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关键字固定。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释: 技术栈名称,例如:OpenJDK8。 取值范围: 不涉及 |
| type | String | 参数解释: 技术栈类型。 取值范围:
|
| version | String | 参数解释: 技术栈版本,例如:1.1.4。 取值范围: 不涉及 |
| deploy_mode | String | 参数解释: 部署模式。 取值范围:
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| component_status | String | 参数解释: 组件状态。 取值范围:
|
| available_replica | Integer | 参数解释: 可用实例。 取值范围: 不涉及 |
| succeeded_replica | Integer | 参数解释: 普通任务工作负载执行成功的实例数。 取值范围: 不涉及 |
| replica | Integer | 参数解释: 总实例。 取值范围: 不涉及 |
| fail_detail | String | 参数解释: 失败原因。 取值范围:
|
| last_job_id | String | 参数解释: 最后执行任务ID。 取值范围: 不涉及 |
| create_time | Integer | 参数解释: 创建时间。 取值范围: 不涉及 |
| update_time | Integer | 参数解释: 更新时间。 取值范围: 不涉及 |
| creator | String | 参数解释: 创建人。 取值范围: 不涉及 |
| artifact | Object | 参数解释: 组件构建信息,请参考表9。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释: 组件来源包类型。 取值范围:
|
| url | String | 参数解释: 软件包/镜像地址。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| protocol | String | 参数解释: 外部访问类型。 取值范围:
|
| address | String | 参数解释: 外部访问地址。 取值范围: 不涉及 |
| forward_port | Integer | 参数解释: 外部访问端口。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 泳道ID。 取值范围: 不涉及 |
| name | String | 参数解释: 泳道名称。 取值范围: 不涉及 |
| swimlane_group_id | String | 参数解释: 所属泳道组ID。 取值范围: 不涉及 |
| type | String | 参数解释: 泳道类型。 取值范围:
|
| tag | String | 参数解释: 泳道标签,根据标签来控制流量的走向。 取值范围: 不涉及 |
| route_status | String | 参数解释: 泳道路由状态。 取值范围:
|
| rule_match_mode | String | 参数解释: 路由规则匹配模式。当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。 取值范围:
|
| rules | Array of objects | 参数解释: 路由规则。当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。请参考表13。 |
| weight | Integer | 参数解释: 泳道流量权重。当泳道组灰度类型为基于流量,即gray_release_type为WEIGHT时生效。 取值范围: 0-100之间 |
| project_id | String | 参数解释: 项目ID。 取值范围: 不涉及 |
| create_time | Integer | 参数解释: 创建时间。 取值范围: 不涉及 |
| update_time | Integer | 参数解释: 更新时间。 取值范围: 不涉及 |
| creator | String | 参数解释: 创建人。 取值范围: 不涉及 |
| swimlane_group | Object | 参数解释: 所属泳道组,请参考表17。 |
| engine_ids | Array of strings | 参数解释: 引擎ID列表。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释: 灰度匹配规则类型。 取值范围: HEADER:基于Header头进行匹配 |
| key | String | 参数解释: 键。 取值范围: 不涉及 |
| value | String | 参数解释: 值。 取值范围: 不涉及 |
| condition | String | 参数解释: 匹配条件。 取值范围:
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 资源ID。 取值范围: 不涉及 |
| instance_id | String | 参数解释: 组件实例ID。 取值范围: 不涉及 |
| type | String | 参数解释: 资源类型。 取值范围:
|
| refer_type | String | 参数解释: 资源类别。 取值范围:
|
| refer_alias | String | 参数解释: 资源别名。 取值范围: 不涉及 |
| parameters | Object | 参数解释: 资源参数,请参考表15。 |
| selectors | Objects | 参数解释: 资源选择器,请参考表16。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| namespace | String | 参数解释: 命名空间。 取值范围: 不涉及 |
| name | String | 参数解释: 资源名称。 取值范围: 不涉及 |
| capacity | Integer | 参数解释: 存储容量,单位GiB。 取值范围: 不涉及 |
| type | String | 参数解释: 存储卷声明类型,当表14中的type为pvc时指定。 取值范围:
|
| class | String | 参数解释: 存储卷声明子类型。 取值范围:
|
| pv_name | String | 参数解释: 存储卷名称。type为efs时展示。 取值范围: 不涉及 |
| share_id | String | 参数解释: 存储卷句柄。type为efs时展示。 取值范围: 不涉及 |
| share_export_location | String | 参数解释: 存储卷共享路径。type为efs时展示。 取值范围: 不涉及 |
| share_proto | String | 参数解释: 存储卷文件系统类型。type为efs时展示。默认为NFS。 取值范围: 不涉及 |
| obs_volume_type | String | 参数解释: OBS存储卷类型,默认为STANDARD标准存储类型。 取值范围:
|
| access_mode | String | 参数解释: 存储卷访问模式。 取值范围:
|
| availableZone | String | 参数解释: 可用区。 取值范围: 不涉及 |
| volume_type | String | 参数解释: 存储卷类型。 取值范围:
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释: 资源选择器名称。 取值范围: 不涉及 |
| flavor | String | 参数解释: 资源选择器规格。 取值范围: 不涉及 |
| labels | Map<String,String> | 参数解释: 标签。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 泳道组ID。 取值范围: 不涉及 |
| name | String | 参数解释: 泳道组名称。 取值范围: 不涉及 |
| description | String | 参数解释: 泳道组描述。 取值范围: 不涉及 |
| creator | String | 参数解释: 创建人。 取值范围: 不涉及 |
| project_id | String | 参数解释: 项目ID。 取值范围: 不涉及 |
| gray_release_type | String | 参数解释: 泳道组灰度类型。 取值范围:
|
| engine_ids | Array of strings | 参数解释: 网关目标服务引擎ID。 取值范围: 不涉及 |
| gateways | Array of objects | 参数解释: 目标服务列表,请参考表18。 |
| create_time | Integer | 参数解释: 创建时间。 取值范围: 不涉及 |
| update_time | Integer | 参数解释: 更新时间。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 网关ID。 取值范围: 不涉及 |
| name | String | 参数解释: 网关名称。 取值范围: 不涉及 |
| engine_id | String | 参数解释: 目标服务引擎ID,对应于目标服务对应的服务来源所用的引擎ID。 取值范围: 不涉及 |
| target_services | Array of objects | 参数解释: 目标服务列表,对应于网关服务管理中的服务。请参考表19。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 目标服务ID。 取值范围: 不涉及 |
| name | String | 参数解释: 目标服务名称。 取值范围: 不涉及 |
| host | String | 参数解释: 目标服务host信息。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| storage | String | 参数解释: 组件模板包存储方式。 取值范围:
|
| url | String | 参数解释: 组件模板包地址。 组件模板包存储方式为自定义文件地址时有效。 取值范围: 不涉及 |
| http_username | String | 参数解释: 用户名。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 取值范围: 不涉及 |
| http_password | String | 参数解释: 密码。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 取值范围: 不涉及 |
| http_headers | Array of objects | 参数解释: 请求头,请参考表21。 组件模板包存储方式为自定义文件地址且安全认证方式为自定义Header认证时有效。 |
请求示例
无
响应示例
{
"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 | 内部错误 |
错误码
请参考ServiceStage错误码。