更新已創建資源棧的資源信息。
接口說明
請求中 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 |
|
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
StackId | string | 是 | 資源棧 ID。 | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
ClientToken | string | 否 | 保證請求的冪等性。此參數值由客戶端生成,并且必須全局唯一。 | 123e4567-e89b-12d3-a456-42665544**** |
StackPolicyDuringUpdateBody | string | 否 | 臨時覆蓋資源棧策略主體的結構。長度為 1~16,384 個字節。
| {"Statement": [{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]} |
TimeoutInMinutes | long | 否 | 更新資源棧的超時時間。
| 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 時生效。您只能指定以下參數之一:
| oss://ros-stack-policy/demo |
StackPolicyBody | string | 否 | 資源棧策略主體的結構,長度為 1~16,384 個字節。 說明
您僅能指定 StackPolicyBody 或 StackPolicyURL 其中一個參數。
| {"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} |
UsePreviousParameters | boolean | 否 | 未傳遞的參數是否使用上次傳遞的值。 取值:
| true |
RegionId | string | 是 | 資源棧所屬的地域 ID。您可以調用 DescribeRegions 查看最新的阿里云地域列表。 | cn-beijing |
DisableRollbackdeprecated | boolean | 否 | 資源棧更新失敗時,是否強制回滾。 取值:
| false |
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 會扮演該角色創建資源棧,使用角色的憑證代表用戶進行接口調用。 | test-role |
ReplacementOption | string | 否 | 是否使用替換更新。當資源屬性不支持修改更新時,可以使用替換更新改變資源屬性。替換更新會刪除資源后重新創建資源,新資源物理 ID 會發生變化。 取值:
說明
修改更新的優先級高于替換更新。
| Disabled |
TemplateId | string | 否 | 模板 ID。支持共享模板和私有模板。 說明
您必須且僅能指定 TemplateBody、TemplateURL 或 TemplateId 其中一個參數。
| 5ecd1e10-b0e9-4389-a565-e4c15efc**** |
TemplateVersion | string | 否 | 模板版本。僅在指定 TemplateId 時生效。 | v1 |
Parameters | array<object> | 否 | 參數。 | |
object | 否 | |||
ParameterKey | string | 是 | 參數的名稱。如果未指定參數的名稱和取值,ROS 將使用模板中指定的默認值。 說明
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 | 是 | 資源棧的標簽鍵。 說明
Tags 為可選參數。如果需要指定 Tags,則 Tags.N.Key 必須指定。- 此標簽會傳遞到資源棧中每個支持標簽的資源中。更多信息,請參見標簽傳遞。
| usage |
Value | string | 否 | 資源棧的標簽值。 說明
此標簽會傳遞到資源棧中每個支持標簽的資源中。更多信息,請參見標簽傳遞。
| test |
Parallelism | long | 否 | 資源最大并發數。 默認為空,用戶可以輸入大于等于零的整數。 說明
| 1 |
ResourceGroupId | string | 否 | 資源組 ID。 | rg-acfmxazb4ph6aiy**** |
DryRun | boolean | 否 | 此次請求是否只進行檢驗。取值:
說明
更新資源棧時,若沒有改動:DryRun 為 false 時,會報錯,錯誤碼為 NotSupported;DryRun 為 true 時,不會報錯。
| false |
DryRunOptions | array | 否 | 校驗選項列表。列表最大長度為 1。 說明
僅在 DryRun 為 true 時生效。
| |
string | 否 | 校驗選項。取值:
說明
該選項僅對 ROS 類型資源棧生效。
| ParameterAnalysis.ConsiderCondition |
關于公共請求參數的詳情,請參見公共參數。
返回參數
示例
正常返回示例
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"
]
}
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-01-11 | API 內部配置變更,不影響調用 | 查看變更詳情 |
2023-07-27 | OpenAPI 入參發生變更、OpenAPI 返回結構發生變更 | 查看變更詳情 |
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 為具體的變更操作。 |
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 為模板版本。 |