调用UpdateStack接口更新资源栈。

调试

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

请求参数

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

系统规定参数。取值:UpdateStack

Parameters.N.ParameterKey String Amount

参数的名称。如果未指定特定参数的名称和值,则ROS将使用模板中指定的默认值。N的最大值为200。

Parameters.N.ParameterValue String 12

参数值。N的最大值为200。

RegionId String cn-beijing

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

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

资源栈ID。

ClientToken String 123e4567-e89b-12d3-a456-426655440000

保证请求的幂等性。此参数值由客户端生成,并且必须是全局唯一的。仅允许ASCII字符,最多可包含64个字符。更多详情,请参见如何保证幂等性

StackPolicyDuringUpdateBody String {"Statement": [{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]}

临时覆盖资源栈策略主体的结构。长度为1~16384个字节。如果要更新受保护的资源,请在更新期间指定临时覆盖资源栈策略。如果未指定资源栈策略,则将使用与资源栈关联的当前策略。此参数仅在更改集类型为UPDATE时生效。您只能指定以下参数之一:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
TimeoutInMinutes Long 10

更新资源栈的超时时间。

单位:分钟。

默认值:60。

TemplateBody String {"ROSTemplateFormatVersion": "2015-09-01"}

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

StackPolicyURL String oss://ros-stack-policy/demo

资源栈策略文件的位置。资源栈策略的文件最大为16384个字节。URL必须指向位于Web服务器(http、https)或阿里云OSS存储空间(例如oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同。)中的策略。您可以指定参数StackPolicyBodyStackPolicyURL,但不能同时指定。URL的最大长度为1350个字节。

StackPolicyDuringUpdateURL String oss://ros-stack-policy/demo

更新资源栈策略的文件的位置。资源栈策略的文件最大为16384个字节。URL必须指向位于Web服务器(http、https)或阿里云OSS存储空间(例如oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同。)中的策略。您可以指定参数StackPolicyBodyStackPolicyURL,但不能同时指定。URL的最大长度为1350个字节。

如果要更新受保护的资源,请在更新期间指定临时覆盖资源栈策略。如果未指定资源栈策略,则将使用与资源栈关联的当前策略。此参数仅在更改集类型为UPDATE时生效。您只能指定以下参数之一:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
StackPolicyBody String {"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

资源栈策略主体的结构。长度为1~16384个字节。您可以指定参数StackPolicyBodyStackPolicyURL,但不能同时指定。

UsePreviousParameters Boolean true

未传递的参数是否使用上次传递的值。

DisableRollback Boolean false

当更新资源栈时,此参数无效。如果更新失败,则强制回滚。

TemplateURL String oss://ros-template/demo

模板主体的文件的位置。模板主体的文件最大为524288个字节。URL必须指向位于Web服务器(http、https)或阿里云OSS存储空间(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同。)中的模板。您必须指定参数TemplateBodyTemplateURL,但不能同时指定。URL的最大长度为1024个字节。

返回数据

名称 类型 示例值 描述
StackId String 4a6c9851-3b0f-4f5f-b4ca-a14bf691****

资源栈ID。

RequestId String B288A0BE-D927-4888-B0F7-B35EF84B6E6F

请求ID。

示例

请求示例

http(s)://ros.aliyuncs.com/?Action=UpdateStack
&RegionId=cn-beijing
&StackId=4a6c9851-3b0f-4f5f-b4ca-a14bf691****
&Parameters.1.ParameterKey=Amount
&Parameters.1.ParameterValue=12
&<公共请求参数>

正常返回示例

XML 格式

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

JSON 格式

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

错误码

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

访问公共错误码查看更多错误码。

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

StackPolicyValidationFailed

Action denied by stack policy: {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为参数名。

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为具体的变更操作。