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

列举资源栈

功能介绍

列举资源栈(ListStacks)

此API用于列举当前局点下用户所有的资源栈

  • 默认按照生成时间降序排序,最新生成的在最前

  • 注意:目前暂时返回全量资源栈信息,即不支持分页

  • 如果没有任何资源栈,则返回空list

ListStacks返回的只有摘要信息(具体摘要信息见ListStacksResponseBody),如果用户需要详细的资源栈元数据请调用GetStackMetadata

URI

GET /v1/{project_id}/stacks

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,可以从调用API处获取,也可以从控制台获取。

项目ID获取方式

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Client-Request-Id

String

用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

stacks

Array of Stack objects

资源栈列表。默认按照生成时间降序排序,最新生成的在最前

表4 Stack

参数

参数类型

描述

stack_name

String

资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。

description

String

资源栈的描述。可用于客户识别自己的资源栈。

stack_id

String

资源栈(stack)的唯一Id。

此Id由资源编排服务在生成资源栈的时候生成,为UUID。

由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。

对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。

资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400

status

String

资源栈的状态 * CREATION_COMPLETE - 生成空资源栈完成,并没有任何部署 * DEPLOYMENT_IN_PROGRESS - 正在部署,请等待 * DEPLOYMENT_FAILED - 部署失败。请从status_message获取错误信息汇总,或者调用ListStackEvents获得事件详情 * DEPLOYMENT_COMPLETE - 部署完成 * ROLLBACK_IN_PROGRESS - 部署失败,正在回滚,请等待 * ROLLBACK_FAILED - 回滚失败。请从status_message获取错误信息汇总,或者调用ListStackEvents获得事件详情 * ROLLBACK_COMPLETE - 回滚完成 * DELETION_IN_PROGRESS - 正在删除,请等待 * DELETION_FAILED - 删除失败。请从status_message获取错误信息汇总,或者调用ListStackEvents获得事件详情

create_time

String

资源栈的生成时间,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z

update_time

String

资源栈的更新时间,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z

status_message

String

在失败的时候(资源栈状态以FAILED结尾)会显示简要的错误信息总结以供debug

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表6 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表8 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 403

表9 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表10 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 429

表11 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表12 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 500

表13 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表14 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

请求示例

列举资源栈

GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks

响应示例

状态码: 200

列举成功

{
  "stacks" : [ {
    "stack_name" : "my_second_stack",
    "description" : "my second stack",
    "stack_id" : "4d4f4ece-b291-4c71-8083-bec9b8a44de0",
    "status" : "DEPLOYMENT_COMPLETE",
    "create_time" : "2023-05-17T07:34:22Z",
    "update_time" : "2023-05-17T07:34:44Z"
  }, {
    "stack_name" : "my_first_stack",
    "description" : "my second stack",
    "stack_id" : "e830c288-ee34-48c0-ba6b-a0e6f6b48d3e",
    "status" : "CREATION_COMPLETE",
    "create_time" : "2023-05-17T07:34:06Z",
    "update_time" : "2023-05-17T07:34:28Z"
  } ]
}

状态码

状态码

描述

200

列举成功

400

用户请求非法

401

用户身份认证失败

403

用户无权限调用此API

429

请求数量过多

500

服务器内部错误