UpdateStack - 更新资源栈

更新已创建资源栈的资源信息。

接口说明

请求中 Parameters 和 UsePreviousParameters 取值相关。若 Parameters 中未指定模板中定义的参数:

  • 当 UsePreviousParameters 取值为 false 时:如果模板中参数有默认值,则使用默认值;如果模板中参数没有默认值,则需要在 Parameters 中指定该参数。

  • 当 UsePreviousParameters 取值为 true 时:如果创建资源栈时指定了该参数,则使用指定值;如果创建资源栈时未指定该参数,参数在模板中有默认值,则使用默认值。

本文将提供一个示例,将北京地域 ID 为4a6c9851-3b0f-4f5f-b4ca-a14bf691****的资源栈的模板内容更新为{"ROSTemplateFormatVersion": "2015-09-01"}

调试

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

调试

授权信息

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

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

ros:UpdateStack

update

*stack

acs:ros:{#regionId}:{#accountId}:stack/{#stackId}

Template

acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

请求参数

名称

类型

必填

描述

示例值

StackId

string

资源栈 ID。

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

ClientToken

string

保证请求的幂等性。此参数值由客户端生成,并且必须全局唯一。
长度不超过 64 个字符,可包含英文字母、数字、短划线(-)和下划线(_)。
更多信息,请参见如何保证幂等性

123e4567-e89b-12d3-a456-42665544****

StackPolicyDuringUpdateBody

string

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

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

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

TimeoutInMinutes

integer

更新资源栈的超时时间。

  • 默认值:60。

  • 单位:分钟。

10

TemplateBody

string

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

说明

您必须且仅能指定 TemplateBody、TemplateURL 或 TemplateId 其中一个参数。

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

StackPolicyURL

string

包含资源栈策略的文件的位置。URL 必须指向位于 Web 服务器(HTTP 或 HTTPS)或阿里云 OSS 存储空间(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)的策略,策略的文件最大值为 16,384 个字节。如未指定 OSS 地域,默认与接口参数 RegionId 相同。

说明

您仅能指定 StackPolicyBody 或 StackPolicyURL 其中一个参数。

URL 最大长度为 1350 个字节。

oss://ros-stack-policy/demo

StackPolicyDuringUpdateURL

string

更新资源栈策略的文件的位置。URL 必须指向位于 Web 服务器(HTTP 或 HTTPS)或阿里云 OSS 存储空间(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的策略,策略的文件最大值为 16,384 个字节。

说明

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

URL 最大长度为 1350 个字节。

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

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

oss://ros-stack-policy/demo

StackPolicyBody

string

资源栈策略主体的结构,长度为 1~16,384 个字节。

说明

您仅能指定 StackPolicyBody 或 StackPolicyURL 其中一个参数。

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

UsePreviousParameters

boolean

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

取值:

  • true:未传递的参数使用上次传递的值。

  • false:未传递的参数不使用上次传递的值。

true

RegionId

string

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

cn-beijing

DisableRollback deprecated

boolean

(该参数已废弃,不产生作用)

TemplateURL

string

包含模板主体的文件的位置。URL 必须指向位于 HTTP Web 服务器(HTTP 或 HTTPS)或阿里云 OSS 存储空间中的模板(1~524,288 个字节)。OSS 存储空间的 URL,例如 oss://ros/template/demo 或 oss://ros/template/demo?RegionId=cn-hangzhou。如未指定 OSS 地域,默认与接口参数 RegionId 相同。

说明

您必须且仅能指定 TemplateBody、TemplateURL 或 TemplateId 其中一个参数。

oss://ros-template/demo

RamRoleName

string

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


test-role

ReplacementOption

string

是否使用替换更新。当资源属性不支持修改更新时,可以使用替换更新改变资源属性。替换更新会删除资源后重新创建资源,新资源物理 ID 会发生变化。

取值:

  • Enabled:允许替换更新。

  • Disabled(默认):不允许替换更新。

说明

修改更新的优先级高于替换更新。

Disabled

TemplateId

string

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

说明

您必须且仅能指定 TemplateBody、TemplateURL 或 TemplateId 其中一个参数。

5ecd1e10-b0e9-4389-a565-e4c15efc****

TemplateVersion

string

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

v1

Parameters

array

参数。

object

ParameterKey

string

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

说明

Parameters 为可选参数。如果需要指定 Parameters,则 Parameters.N.ParameterKey 和 Parameters.N.ParameterValue 必须同时指定。

Amount

ParameterValue

string

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

说明

Parameters 为可选参数。如果需要指定 Parameters,则 Parameters.N.ParameterKey 和 Parameters.N.ParameterValue 必须同时指定。

12

Tags

array

资源栈的标签。

object

Key

string

资源栈的标签键。
N 的取值范围为 1~20。

说明

Tags 为可选参数。如果需要指定 Tags,则 Tags.N.Key 必须指定。- 此标签会传递到资源栈中每个支持标签的资源中。更多信息,请参见标签传递

usage

Value

string

资源栈的标签值。
N 的取值范围为 1~20。

说明

此标签会传递到资源栈中每个支持标签的资源中。更多信息,请参见标签传递

test

Parallelism

integer

资源最大并发数。

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

说明
  • 若设置为大于零的整数,则使用该整数。

  • 若设置为零,对于 ROS 类型资源栈不限制,Terraform 类型资源栈使用 Terraform 默认值(通常为 10)。

  • 若不设置,则使用上次操作时的设置;若上次操作时未设置,对于 ROS 类型资源栈不限制,Terraform 类型资源栈使用 Terraform 默认值(通常为 10)。

  • 若设置了该值,将与资源栈进行关联,影响资源栈的后续操作。

1

ResourceGroupId

string

资源组 ID。

rg-acfmxazb4ph6aiy****

DryRun

boolean

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

  • true:只做校验,不会实际执行。

  • false(默认):会实际执行,更新资源栈。

说明

更新资源栈时,若没有改动:DryRun 为 false 时,会报错,错误码为 NotSupported;DryRun 为 true 时,不会报错。

false

DryRunOptions

array

校验选项列表。列表最大长度为 1。

说明

仅在 DryRun 为 true 时生效。

string

校验选项。取值:

  • ParameterAnalysis.ConsiderCondition:参数分析时,考虑条件的影响。如果需要进行参数分析,建议使用该选项。否则,条件会进行计算,计算时涉及的参数的取值为资源栈更新前参数的值。

说明

该选项仅对 ROS 类型资源栈生效。

  • ParameterAnalysis.Disabled:禁用参数分析。设置该选项后在 DryRunResult 中不会返回 Parameters*字段。

ParameterAnalysis.ConsiderCondition

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

返回参数

名称

类型

描述

示例值

object

RequestId

string

请求 ID。

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

StackId

string

资源栈 ID。

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

DryRunResult

object

校验结果。仅在 DryRun 为 true 时返回。

ParametersAllowedToBeModified

array

允许修改的参数。

string

允许修改的参数。更新资源栈时,若模板保持不变,仅修改参数取值,修改该参数不会引发校验错误。

param1

ParametersConditionallyAllowedToBeModified

array

可能允许修改的参数。

string

可能允许修改的参数。更新资源栈时,若模板保持不变,仅修改参数取值,修改该参数是否引发校验错误,取决于参数的取值。

param2

ParametersUncertainlyAllowedToBeModified

array

不确定是否允许修改的参数。

string

不确定是否允许修改的参数。更新资源栈时,若模板保持不变,仅修改参数取值,运行时才能确定修改该参数是否会引发校验错误。

param3

ParametersNotAllowedToBeModified

array

不允许修改的参数。

string

不允许修改的参数。更新资源栈时,若模板保持不变,仅修改参数取值一定会引发校验错误。

param4

ParametersCauseInterruptionIfModified

array

一定会引发资源中断的参数的列表。

说明
  • 目前仅支持少量资源类型。

  • 仅适用于更新 ROS 类型资源栈。

string

一定会引发资源中断的参数。更新资源栈时,若模板保持不变,仅修改参数取值一定会引发资源中断。

param1

ParametersConditionallyCauseInterruptionIfModified

array

可能会引发资源中断的参数的列表。

说明
  • 目前仅支持少量资源类型。

  • 仅适用于更新 ROS 类型资源栈。

string

可能会引发资源中断的参数。更新资源栈时,若模板保持不变,仅修改参数取值,修改该参数可能会引发资源中断,取决于参数的取值和资源的更新行为。

param2

ParametersUncertainlyCauseInterruptionIfModified

array

不确定是否会引发资源中断的参数的列表。

说明
  • 目前仅支持少量资源类型。

  • 仅适用于更新 ROS 类型资源栈。

string

不确定是否会引发资源中断的参数。更新资源栈时,若模板保持不变,仅修改参数取值,运行时才能确定该参数是否会引发资源中断。

param3

ParametersCauseReplacementIfModified

array

一定会引发资源替换更新的参数的列表。

说明
  • 仅在 ReplacementOption 为 Enabled 时返回。

  • 仅适用于更新 ROS 类型资源栈。

string

一定会引发资源替换更新的参数。更新资源栈时,若模板保持不变,仅修改参数取值一定会引发资源替换更新。

param5

ParametersConditionallyCauseReplacementIfModified

array

可能会引发资源替换更新的参数的列表。

说明
  • 仅在 ReplacementOption 为 Enabled 时返回。

  • 仅适用于更新 ROS 类型资源栈。

string

可能会引发资源替换更新的参数。更新资源栈时,若模板保持不变,仅修改参数取值可能会引发资源替换更新,取决于参数的取值。

param6

ParametersUncertainlyCauseReplacementIfModified

array

不确定是否会引发资源替换更新的参数的列表。

说明
  • 仅在 ReplacementOption 为 Enabled 时返回。

  • 仅适用于更新 ROS 类型资源栈。

string

不确定是否会引发资源替换更新的参数。更新资源栈时,若模板保持不变,仅修改参数取值,运行时才能确定该参数是否会引发资源替换更新。

param7

示例

正常返回示例

JSON格式

{
  "RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
  "StackId": "4a6c9851-3b0f-4f5f-b4ca-a14bf691****",
  "DryRunResult": {
    "ParametersAllowedToBeModified": [
      "param1"
    ],
    "ParametersConditionallyAllowedToBeModified": [
      "param2"
    ],
    "ParametersUncertainlyAllowedToBeModified": [
      "param3"
    ],
    "ParametersNotAllowedToBeModified": [
      "param4"
    ],
    "ParametersCauseInterruptionIfModified": [
      "param1"
    ],
    "ParametersConditionallyCauseInterruptionIfModified": [
      "param2"
    ],
    "ParametersUncertainlyCauseInterruptionIfModified": [
      "param3"
    ],
    "ParametersCauseReplacementIfModified": [
      "param5"
    ],
    "ParametersConditionallyCauseReplacementIfModified": [
      "param6"
    ],
    "ParametersUncertainlyCauseReplacementIfModified": [
      "param7"
    ]
  }
}

错误码

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

变更历史

更多信息,参考变更详情