全部产品
Search
文档中心

资源编排:ContinueCreateStack - 重新创建资源栈

更新时间:Feb 22, 2024

资源栈创建失败后,继续创建资源栈。

接口说明

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

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ros:ContinueCreateStackWrite
  • stack
    acs:ros:{#regionId}:{#accountId}:stack/{#stackId}

请求参数

名称类型必填描述示例值
StackIdstring

资源栈 ID。

4a6c9851-3b0f-4f5f-b4ca-a14bf691****
RegionIdstring

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

cn-hangzhou
RamRoleNamestring

RAM 角色名称。ROS 会扮演该角色创建资源栈,使用角色的凭证代表用户进行接口调用。
ROS 始终将此角色用于资源栈上将进行的操作。只要用户有权在资源栈上进行操作,即使用户无权使用角色,ROS 也会使用此角色,确保角色授予最少的权限。
如果用户未指定该值,ROS 将使用以前与资源栈关联的角色。如果没有可用角色,ROS 将使用从您的用户凭证中生成的临时凭证。
RAM 角色名称最大长度为 64 个字节。

test-role
Modestring

继续创建模式,取值:

  • Recreate(默认值):

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

    • 创建失败的资源。
    • 指定继续创建的资源(RecreatingResources.N)。
    • 依赖于指定继续创建的资源(RecreatingResources.N)的资源。
    • 未创建的资源。
说明 RecreatingResources.N、TemplateBody、TemplateURL、Parameters 参数仅在此模式下生效。
  • Ignore:
    • 忽略并丢弃所有创建失败的资源、未创建的资源,直接把资源栈标记为成功。
    • 模板内容会发生变化。
说明 该模式仅 ROS 类型资源栈可用。
Recreate
TemplateBodystring

模板的结构。长度为 1~524288 个字节。
如果长度较大,建议通过 HTTP POST+Body Param 的方式,将参数放在请求体中进行传递,避免 URL 过长而导致请求失败。

ROS 模板限制如下:

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

    包含模板主体的文件的位置。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 其中一个参数。若都不指定,则使用原有模板。
  • oss://ros-template/demo
    DryRunboolean

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

    • true:只做校验,不会实际执行。
    • false(默认):会实际执行,继续创建资源栈。
    false
    TemplateIdstring

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

    说明
  • Mode取值为Recreate时,本参数生效。模板限制与TemplateBody相同。
  • 您仅能指定TemplateBodyTemplateURLTemplateId其中一个参数。若都不指定,则使用原有模板。
  • 5ecd1e10-b0e9-4389-a565-e4c15efc****
    TemplateVersionstring

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

    v1
    RecreatingResourcesarray

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

    说明 该参数仅 ROS 类型资源栈可用。
    string

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

    说明 该参数仅在 ROS 类型的资源栈中可用。
    WebServer
    Parametersobject []

    覆盖的模板参数。

    ParameterKeystring

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

    说明 该参数仅在 Mode 为 Recreate 时生效。
    Amount
    ParameterValuestring

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

    对于 ROS 类型资源栈,覆盖的模板参数限制如下:

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

    资源最大并发数。

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

    说明
  • 若设置为大于零的整数,则使用该整数。
  • 若设置为零,对于 ROS 类型资源栈则不限制,Terraform 类型资源栈使用 Terraform 默认值(通常为 10)。
  • 若不设置,则使用上次操作时的设置;若上次操作时未设置,对于 ROS 类型资源栈则不限制,Terraform 类型资源栈使用 Terraform 默认值(通常为 10)。
  • 若设置了该值,将与资源栈进行关联,影响资源栈的后续操作。
  • 1
    RecreatingOptionsarray

    重新创建选项。

    string

    重新创建选项。当Mode取值为Recreate时,本参数生效。可选值:

    • TryToFixSignalFailureByRerunEcsCommand:尝试修复已存在的信号失败。当 ALIYUN::ROS::WaitCondition 类型资源创建失败时,找到与之关联且创建成功的 ALIYUN::ECS::RunCommand 和 ALIYUN::ECS::Invocation 类型的资源,对这些资源及依赖其的资源进行重建。
    说明 仅对 ROS 类型的资源栈生效。
    • IgnoreExistingSignalFailure:忽略已存在的信号失败。如果之前存在创建失败的 ALIYUN::ROS::WaitCondition 类型的资源,新一次的创建过程中会直接创建成功。
    说明 仅对 ROS 类型的资源栈生效。
    • AutoRecreatingResources:自动重新创建模板内容或引用参数发生变化的资源,包括依赖其的资源。使用该选项,可以简化 RecreatingResources.N 参数的设置,但也可能造成意料之外的资源重建。
    说明 仅对 ROS 类型的资源栈生效。
    • CreateNewPrepaidInstance:当您继续创建实例时,对于创建失败或创建成功但指定要重新创建的资源,如果该资源是预付费类型,ROS 会创建一个新实例
    说明
  • 仅对 ROS 类型的资源栈生效。
  • 如果您已创建旧实例,则该实例不会被删除,因为预付费实例无法删除
  • 默认情况下(未设置 CreateNewPrepaidInstance),在该场景中,如果已创建旧实例,则 ROS 会尝试复用已创建的实例。复用存在一定的限制,资源属性通常不允许修改或只有少量属性允许修改。
  • CreateNewPrepaidInstance

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

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    B288A0BE-D927-4888-B0F7-B35EF84B6E6
    StackIdstring

    资源栈 ID。

    4a6c9851-3b0f-4f5f-b4ca-a14bf691****
    DryRunResultobject

    校验结果。

    ParametersAllowedToBeModifiedarray

    允许修改的参数。

    string

    允许修改的参数。修改参数不会引发校验错误。

    说明 仅在 DryRun 为true时返回,结果与 Mode、Template*、RecreatingResources.N、RecreatingOptions.N 相关。
    description
    ParametersConditionallyAllowedToBeModifiedarray

    可能允许修改的参数。

    string

    可能允许修改的参数。

    修改参数是否引起校验错误,取决于参数的取值。

    说明 仅在 DryRun 为true时返回,结果与 Mode、Template*、RecreatingResources.N、RecreatingOptions.N 相关。
    name
    ParametersNotAllowedToBeModifiedarray

    不允许修改的参数。

    string

    不允许修改的参数。修改参数一定会引发校验错误。

    说明 仅在 DryRun 为true时返回,结果与 Mode、Template*、RecreatingResources.N、RecreatingOptions.N 相关。
    cidr

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6",
      "StackId": "4a6c9851-3b0f-4f5f-b4ca-a14bf691****",
      "DryRunResult": {
        "ParametersAllowedToBeModified": [
          "description"
        ],
        "ParametersConditionallyAllowedToBeModified": [
          "name"
        ],
        "ParametersNotAllowedToBeModified": [
          "cidr"
        ]
      }
    }

    错误码

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

    变更历史

    变更时间变更内容概要操作
    暂无变更历史
    HttpCode错误码错误信息描述
    400CircularDependencyCircular Dependency Found: {reason}.模板包含循环引用,reason 为具体原因。
    400InvalidSchema{reason}.模板格式不正确,reason 为具体原因。
    400InvalidTemplateAttributeThe Referenced Attribute ({resource} {name}) is incorrect.模板包含不正确的资源属性(输出)引用,resource 为资源名,name 为属性名。
    400InvalidTemplatePropertyTypeThe specified value type of ({resource} {section}) is incorrect.模板资源定义中,字段类型不正确,resource 为资源名,section 为字段名。
    400InvalidTemplateReferenceThe specified reference "{name}" (in {referencer}) is incorrect.模板包含不正确的引用,name 为引用名,referencer 为引用者。
    400InvalidTemplateSectionThe template section is invalid: {section}.模板包含无效的字段,section 为字段名。
    400InvalidTemplateVersionThe template version is invalid: {reason}.模板版本不正确,reason 为具体原因。
    400StackValidationFailed{reason}.资源栈校验失败,reason 为具体原因。
    400UnknownUserParameterThe Parameter ({name}) was not defined in template.传递的参数在模板中未定义,name 为参数名。
    400UserParameterMissingThe Parameter {name} was not provided.参数在模板中已定义,但未传递值,name 为参数名。
    400ContinueCreateStackValidationFailed{reason}.继续创建资源栈校验失败,reason 为具体原因。
    404ResourceNotFoundThe Resource ({name}) could not be found in Stack {stack}.资源栈中不存某资源。name 为资源名,stack 为资源栈名称或 ID。
    404StackNotFoundThe Stack ({name}) could not be found.资源栈不存在。name 为资源栈名称或 ID。
    409ActionInProgressStack {name} already has an action ({action}) in progress.资源栈在变更中。name 为资源栈名称或 ID,action 为变更操作。
    404TemplateNotFoundThe Tempalte ({ ID }) could not be found.模板不存在。ID 为模板 ID。
    404TemplateNotFoundThe Template { ID } with version { version } could not be found.模板或指定版本不存在。ID 为模板 ID,version 为模板版本。