删除资源栈
功能介绍
删除资源栈(DeleteStack)
此API用于删除某个资源栈
请谨慎操作,删除资源栈将会删除与该资源栈相关的所有数据和资源,如:执行计划、资源栈事件、资源栈输出、资源等。
此API会触发删除资源栈,并以最终一致性删除所有数据(包括通过资源栈模板创建以及通过Import模块导入的已有资源),用户可以调用GetStackMetadata或ListStacks跟踪资源栈删除情况
如果资源栈状态处于非终态(状态以IN_PROGRESS结尾)状态时,则不允许删除。包括但不限于以下状态:
正在部署(DEPLOYMENT_IN_PROGRESS)
正在删除(DELETION_IN_PROGRESS)
正在回滚(ROLLBACK_IN_PROGRESS)
如果资源栈开启了删除保护,则不允许删除。用户可调用GetStackMetadata,查看返回中的enable_deletion_protection字段判断删除保护是否开启。用户可通过调用UpdateStack关闭删除保护。
如果资源栈删除失败,可以根据StackEvents提示信息修复当前模板中的错误后,部署成功后再次删除资源栈。有以下两种方式触发部署:
调用CreateExecutionPlan创建执行计划,执行计划创建成功后调用ApplyExecutionPlan部署资源栈。
调用DeployStack部署资源栈
URI
DELETE /v1/{project_id}/stacks/{stack_name}
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,可以从调用API处获取,也可以从控制台获取。 最小长度:3 最大长度:64 |
stack_name | 是 | String | 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 最小长度:1 最大长度:128 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
stack_id | 否 | String | 资源栈(stack)的唯一ID。 此ID由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 最小长度:36 最大长度:36 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Client-Request-Id | 是 | String | 用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 最小长度:36 最大长度:128 |
响应参数
状态码:202
请求接受,异步处理
状态码:400
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 响应码 最小长度:11 最大长度:11 |
error_msg | String | 响应消息 |
encoded_authorization_message | String | 包含有关未经授权请求的信息。 |
details | Array of Detail objects | 权限拒绝时服务返回的详细错误信息。 |
状态码:401
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 响应码 最小长度:11 最大长度:11 |
error_msg | String | 响应消息 |
encoded_authorization_message | String | 包含有关未经授权请求的信息。 |
details | Array of Detail objects | 权限拒绝时服务返回的详细错误信息。 |
状态码:403
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 响应码 最小长度:11 最大长度:11 |
error_msg | String | 响应消息 |
encoded_authorization_message | String | 包含有关未经授权请求的信息。 |
details | Array of Detail objects | 权限拒绝时服务返回的详细错误信息。 |
状态码:404
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 响应码 最小长度:11 最大长度:11 |
error_msg | String | 响应消息 |
encoded_authorization_message | String | 包含有关未经授权请求的信息。 |
details | Array of Detail objects | 权限拒绝时服务返回的详细错误信息。 |
状态码:429
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 响应码 最小长度:11 最大长度:11 |
error_msg | String | 响应消息 |
encoded_authorization_message | String | 包含有关未经授权请求的信息。 |
details | Array of Detail objects | 权限拒绝时服务返回的详细错误信息。 |
状态码:500
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 响应码 最小长度:11 最大长度:11 |
error_msg | String | 响应消息 |
encoded_authorization_message | String | 包含有关未经授权请求的信息。 |
details | Array of Detail objects | 权限拒绝时服务返回的详细错误信息。 |
请求示例
删除指定的资源栈
DELETE https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack删除指定的资源栈,并提供资源栈id以校验是否与当前资源栈匹配
DELETE https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack?stack_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2
响应示例
无
状态码
状态码 | 描述 |
|---|---|
202 | 请求接受,异步处理 |
400 | 用户请求非法 |
401 | 用户身份认证失败 |
403 |
|
404 | 资源栈不存在 |
429 | 请求数量过多 |
500 | 服务器内部错误 |

