全部產品
Search
文件中心

Resource Orchestration Service:UpdateStack - 更新資源棧

更新時間:Jun 04, 2026

更新已建立資源棧的資源資訊。

介面說明

請求中 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>

參數。

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>

資源棧的標籤。

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

TaintResources

array

標記為髒資源的列表。

string

  • ROS 資源棧中,需要配置為:資源名稱,例如:my_vpc。

  • Terraform 資源棧中,需要配置為:資源類型+資源名稱,例如:alicloud_vpc.my_vpc

my_vpc

關於公用請求參數的詳情,請參見公用參數

返回參數

名稱

類型

描述

樣本值

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"
    ]
  }
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情