资源栈创建失败后,调用ContinueCreateStack接口继续创建资源栈。

本文将提供一个示例,对杭州地域ID为4a6c9851-3b0f-4f5f-b4ca-a14bf691****的创建失败的资源栈进行继续创建。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ContinueCreateStack

要执行的操作。取值:ContinueCreateStack。

StackId String 4a6c9851-3b0f-4f5f-b4ca-a14bf691****

资源栈ID。

RegionId String cn-hangzhou

资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

RamRoleName String test-role

RAM角色名称。ROS会扮演该角色创建资源栈,使用角色的凭证代表用户进行接口调用。

ROS始终将此角色用于资源栈上将进行的操作。只要用户有权在资源栈上进行操作,即使用户无权使用角色,ROS也会使用此角色,确保角色授予最少的权限。

如果用户未指定该值,ROS将使用以前与资源栈关联的角色。如果没有可用角色,ROS将使用从您的用户凭证中生成的临时凭证。

RAM角色名称最大长度为64个字节。

Mode String Recreate

继续创建模式,取值:

  • Recreate(默认值):

    您仅需继续创建如下4类资源,其它资源无需继续创建:

    • 创建失败的资源。
    • 指定继续创建的资源(RecreatingResources.N)。
    • 依赖于指定继续创建的资源(RecreatingResources.N)的资源。
    • 未创建的资源。
      说明 RecreatingResources.N、TemplateBody、TemplateURL、Parameters参数仅在此模式下生效。
  • Ignore:
    • 忽略并丢弃所有创建失败的资源、未创建的资源,直接把资源栈标记为成功。
    • 模板内容会发生变化。
TemplateBody String {"ROSTemplateFormatVersion": "2015-09-01"}

模板的结构。长度为1~524288个字节。

如果长度较大,建议通过HTTP POST+Body Param的方式,将参数放在请求体中进行传递,避免URL过长而导致请求失败。

模板限制如下:

  • 只能修改模板的Description、Metadata、Resources、Outputs部分。
  • 不能增加或删除Section(模板内容的第一层)。
  • 模板的Resources部分限制如下:
    • 对于不继续创建的资源,既不能删除,也不能修改其模板内容。
    • 对于继续创建的资源,既可以删除,也可以修改其模板内容。
    • 可以增加新资源。
说明
  • 该参数仅在Mode为Recreate时生效。
  • 您仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。若都不指定,则使用原有模板。
TemplateURL String oss://ros-template/demo

包含模板主体的文件的位置。URL必须指向位于Web服务器(HTTP或HTTPS)或阿里云OSS存储桶(例如:oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou)中的模板,模板最大为524288个字节。

如果OSS地域未指定,默认与接口参数RegionId相同。

说明
  • 该参数仅在Mode为Recreate时生效,模板限制与TemplateBody相同。
  • 您仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。若都不指定,则使用原有模板。
DryRun Boolean false

此次请求是否只进行检验。取值:

  • true:只做校验,不会实际执行。
  • false(默认):会实际执行,继续创建资源栈。
TemplateId String 5ecd1e10-b0e9-4389-a565-e4c15efc****

模板ID。支持共享模板和私有模板。

说明 您仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。若都不指定,则使用原有模板。
TemplateVersion String v1

模板版本。仅在指定TemplateId时生效。

Parallelism Long 1

资源最大并发数。仅对Terraform类型资源栈生效。

默认为空,用户可以输入大于等于零的整数。

说明
  • 若设置为大于零的整数,则使用该整数。
  • 若设置为零,则使用Terraform默认值(通常为10)。
  • 若不设置,则使用上次操作时的设置;若上次操作时未设置,则使用Terraform默认值(通常为10)。
  • 若设置了该值,将与资源栈进行关联,影响资源栈的后续操作。
RecreatingResources.N String WebServer

创建失败的资源将会被继续创建。您可以指定额外需要继续创建的资源列表,ROS会继续创建所有依赖于其的资源。

Parameters.N.ParameterKey String Amount

覆盖的模板参数的名称。如果未指定特定参数的名称和值,ROS将使用上一次创建时的取值。N的最大值为200。

说明 该参数仅在Mode为Recreate时生效。
Parameters.N.ParameterValue String 12

覆盖的模板参数的值。N的最大值为200。

覆盖的模板参数限制如下:

  • 不能引发模板Conditions部分中任何Condition的值的变化,由true变false,或由false变true。
  • 覆盖参数不能被不继续创建的资源引用。
说明 该参数仅在Mode为Recreate时生效。

关于公共请求参数的详情,请参见公共参数

返回数据

名称 类型 示例值 描述
RequestId String B288A0BE-D927-4888-B0F7-B35EF84B6E6

请求ID。

StackId String 4a6c9851-3b0f-4f5f-b4ca-a14bf691****

资源栈ID。

示例

请求示例

http(s)://ros.aliyuncs.com/?Action=ContinueCreateStack
&RegionId=cn-hangzhou
&StackId=4a6c9851-3b0f-4f5f-b4ca-a14bf691****
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<ContinueCreateStackResponse>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6</RequestId>
    <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>
</ContinueCreateStackResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6",
  "StackId" : "4a6c9851-3b0f-4f5f-b4ca-a14bf691****"
}

错误码

访问错误中心查看更多错误码。

HttpCode

错误码

错误信息

描述

400

CircularDependency

Circular Dependency Found: {reason}.

模板包含循环引用,reason为具体原因。

400

InvalidSchema

{reason}.

模板格式不正确,reason为具体原因。

400

InvalidTemplateAttribute

The Referenced Attribute ({resource} {name}) is incorrect.

模板包含不正确的资源属性(输出)引用,resource为资源名,name为属性名。

400

InvalidTemplatePropertyType

The specified value type of ({resource} {section}) is incorrect.

模板资源定义中,字段类型不正确,resource为资源名,section为字段名。

400

InvalidTemplateReference

The specified reference "{name}" (in {referencer}) is incorrect.

模板包含不正确的引用,name为引用名,referencer为引用者。

400

InvalidTemplateSection

The template section is invalid: {section}.

模板包含无效的字段,section为字段名。

400

InvalidTemplateVersion

The template version is invalid: {reason}.

模板版本不正确,reason为具体原因。

400

StackValidationFailed

{reason}.

资源栈校验失败,reason为具体原因。

400

UnknownUserParameter

The Parameter ({name}) was not defined in template.

传递的参数在模板中未定义,name为参数名。

400

UserParameterMissing

The Parameter {name} was not provided.

参数在模板中已定义,但未传递值,name为参数名。

400

ContinueCreateStackValidationFailed

{reason}.

继续创建资源栈校验失败,reason为具体原因。

404

ResourceNotFound

The Resource ({name}) could not be found in Stack {stack}.

资源栈中不存某资源。name为资源名,stack为资源栈名称或ID。

404

StackNotFound

The Stack ({name}) could not be found.

资源栈不存在。name为资源栈名称或ID。

409

ActionInProgress

Stack {name} already has an action ({action}) in progress.

资源栈在变更中。name为资源栈名称或ID,action为变更操作。

404

TemplateNotFound

The Tempalte ({ ID }) could not be found.

模板不存在。ID为模板ID。

404

TemplateNotFound

The Template { ID } with version { version } could not be found.

模板或指定版本不存在。ID为模板ID,version为模板版本。