本文為您介紹如何通過阿里雲CLI調用資源棧相關的API。
CreateStack
建立資源棧。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-hangzhou | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackName | String | 是 | MyStack | 資源棧名稱。 長度不超過255個字元,必須以數字或字母開頭,可包含數字、字母、短劃線(-)和底線(_)。 |
--TimeoutInMinutes | Long | 是 | 10 | 建立資源棧的逾時時間。
|
--Parameters.N.ParameterKey | String | 否 | InstanceId | 參數名稱。 如果未指定特定參數的名稱和值,ROS將使用模板中指定的預設值。 N最大值:200。 |
--Parameters.N.ParameterValue | String | 否 | i-xxxxxx | 參數值。 N最大值:200。 |
--DisableRollback | Boolean | 否 | false | 當建立資源棧失敗時,是否禁用復原策略。
|
--TemplateBody | String | 否 | { "ROSTemplateFormatVersion": "2015-09-01" } | 模板的結構。長度為1~524288個位元組。 如果長度較大,建議通過HTTP POST+Body Param的方式,將參數放在請求體中進行傳遞,避免URL過長而導致請求失敗。 您可以指定參數TemplateBody或TemplateURL,但不能同時指定。 |
--StackPolicyURL | String | 否 | oss://ros-stack-policy/demo | 包含資源棧策略的檔案的位置。 URL必須指向位於Web伺服器(HTTP或HTTPS)或阿里雲OSS儲存桶(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的策略,策略檔案最大長度為16384個位元組。 說明 如果OSS地區未指定,預設與介面參數RegionId相同。 您可以指定參數StackPolicyBody或StackPolicyURL,但不能同時指定。 URL最大長度為1350位元組。 |
--StackPolicyBody | String | 否 | {"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} | 包含資源棧策略主體的結構,長度為1~16384個位元組。 您可以指定StackPolicyBody或StackPolicyURL參數,但不能同時指定。 |
--NotificationURLs.N | RepeatList | 否 | http://example.com/ros-event | 接收資源棧事件的URL回調地址。目前僅支援HTTP POST。
資源棧的狀態發生變化時,會進行通知。當資源棧啟用復原時,CREATE_FAILED(建立失敗)和UPDATE_FAILED(更新失敗)不會通知,而CREATE_ROLLBACK(建立失敗復原)和ROLLBACK(更新失敗復原)會進行通知。 說明 IN_PROGRESS狀態不會通知。 無論資源棧是否定義了Outputs都會進行通知。通知內容樣本如下:
|
--TemplateURL | String | 否 | oss://ros-template/demo | 包含模板主體的檔案的位置。URL必須指向位於Web伺服器(HTTP或HTTPS)或阿里雲OSS儲存桶(例如:oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou)中的模板,模板最大長度為524288個位元組。 說明 如果OSS地區未指定,預設與介面參數RegionId相同。 您可以指定TemplateBody或TemplateURL參數,但不能同時指定。 |
--ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保證請求的等冪性。 該值由用戶端產生,並且必須全域唯一。 僅允許使用字母、數字、短劃線(-)和底線(_),最多可包含64個字元。 更多詳情,請參見如何保證等冪性。 |
調用樣本
aliyun ros CreateStack --RegionId cn-hangzhou --StackName MyStack --TimeoutInMinutes 10 --TemplateURL oss://ros-template/demo
正常返回樣本
{
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"RequestId": "53C2DB3A-8374-4464-9466-952614EEC159"
}
ListStacks
查詢資源棧列表。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-hangzhou | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackName.N | RepeatList | 否 | MyStack | 資源棧名稱。 長度不超過255個字元,必須以數字或字母開頭,可包含數字、字母、短劃線(-)和底線(_)。支援使用萬用字元(*)進行模糊搜尋。 N取值:1~5。 |
--Status.N | RepeatList | 否 | CREATE_COMPLETE | 資源棧狀態。 取值:
|
--ParentStackId | String | 否 | fgce558a-bdd6-d52j-555b-63755971**** | 父資源棧ID。 |
--ShowNestedStack | Boolean | 否 | true | 是否列出嵌套資源棧。 |
--PageNumber | Long | 否 | 1 | 資源棧列表的頁碼。
|
--PageSize | Long | 否 | 10 | 分頁查詢時設定的每頁行數。
|
調用樣本
aliyun ros ListStacks --RegionId cn-hangzhou
正常返回樣本
{
"PageNumber": 3,
"TotalCount": 4,
"PageSize": 1,
"RequestId": "B2B3B873-25AE-4A86-B320-8C7298628393",
"Stacks": [
{
"StatusReason": "Stack CREATE completed successfully",
"Status": "CREATE_COMPLETE",
"TimeoutInMinutes": 60,
"StackId": "aace595a-a00d-4631-858b-61134991****",
"RegionId": "cn-beijing",
"CreateTime": "2019-08-26T09:52:06",
"DisableRollback": false,
"StackName": "Test"
}
]
}
GetStack
查詢資源棧資訊。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-hangzhou | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackId | String | 是 | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | 資源棧ID。 |
--ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保證請求的等冪性。 該值由用戶端產生,並且必須全域唯一。 僅允許使用字母、數字、短劃線(-)和底線(_), 最多可包含64個字元。 更多詳情,請參見如何保證等冪性。 |
調用樣本
aliyun ros GetStack --RegionId cn-hangzhou --StackId 628e9ed4-899b-4e64-8a8c-2a2b00e4****
正常返回樣本
{
"Parameters": [
{
"ParameterValue": "22536460730754****",
"ParameterKey": "ALIYUN::AccountId"
},
{
"ParameterValue": "cn-beijing",
"ParameterKey": "ALIYUN::Region"
},
{
"ParameterValue": "628e9ed4-899b-4e64-8a8c-2a2b00e4****",
"ParameterKey": "ALIYUN::StackId"
},
{
"ParameterValue": "MyStack",
"ParameterKey": "ALIYUN::StackName"
}
],
"TimeoutInMinutes": 60,
"Description": "No description",
"StackId": "628e9ed4-899b-4e64-8a8c-2a2b00e4****",
"UpdateTime": "2019-08-26T08:27:23",
"DisableRollback": false,
"StackName": "MyStack",
"StatusReason": "Stack successfully updated",
"Status": "UPDATE_COMPLETE",
"TemplateDescription": "No description",
"CreateTime": "2019-08-26T08:26:05",
"RegionId": "cn-hangzhou",
"RequestId": "754AEAE5-C800-41EC-A64D-A08C1A4A718F"
}
UpdateStack
更新資源棧。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-beijing | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackId | String | 是 | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | 資源棧ID。 |
--Parameters.N.ParameterKey | String | 否 | InstanceId | 參數的名稱。如果未指定特定參數的名稱和值,ROS將使用模板中指定的預設值。 N最大值:200。 |
--Parameters.N.ParameterValue | String | 否 | i-xxxxxx | 參數的值。 N最大值:200。 |
--ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保證請求的等冪性。 該值由用戶端產生,並且必須全域唯一。 僅允許使用字母、數字、短劃線(-)和底線(_), 最多可包含64個字元。 更多詳情,請參見如何保證等冪性。 |
--StackPolicyDuringUpdateBody | String | 否 | {"Statement":[{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]} | 臨時覆蓋資源棧策略主體的結構。長度為1~16384個位元組。 如果要更新受保護的資源,請在更新期間指定臨時覆蓋資源棧策略。如果未指定資源棧策略,將使用與資源棧關聯的當前策略。 此參數僅在更改集類型為UPDATE時生效。 您只能指定以下參數之一:
|
--TimeoutInMinutes | Long | 否 | 10 | 更新資源棧的逾時時間。
|
--TemplateBody | String | 否 | { "ROSTemplateFormatVersion": "2015-09-01" } | 模板主體的結構。長度為1~524288個位元組。 如果長度較大,則建議通過HTTP POST+Body Param的方式,將參數放在請求體中進行傳遞,避免URL過長而導致請求失敗。 您必須指定TemplateBody或TemplateURL,但不能同時指定。 |
--StackPolicyURL | String | 否 | oss://ros-stack-policy/demo | 包含資源棧策略的檔案的位置。 URL必須指向位於Web伺服器(HTTP或HTTPS)或阿里雲OSS儲存桶(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的策略,策略檔案最大長度為16384個位元組。 說明 如果OSS地區未指定,預設與介面參數RegionId相同。 您可以指定參數StackPolicyBody或StackPolicyURL,但不能同時指定。 URL最大長度為1350位元組。 |
--StackPolicyDuringUpdateURL | String | 否 | oss://ros-stack-policy/demo | 更新資源棧策略的檔案的位置。URL必須指向位於Web伺服器(HTTP或HTTPS)或阿里雲OSS儲存空間(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的策略,策略的檔案最大值為16384個位元組。 說明 如果OSS地區未指定,預設與介面參數RegionId相同。 URL最大長度為1350位元組。 如果要更新受保護的資源,請在更新期間指定臨時覆蓋資源棧策略。如果未指定資源棧策略,則將使用與資源棧關聯的當前策略。此參數僅在更改集類型為UPDATE時生效。您只能指定以下參數之一:
|
--StackPolicyBody | String | 否 | {"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} | 資源棧策略主體的結構,長度為1~16384個位元組。 您可以指定參數StackPolicyBody或StackPolicyURL,但不能同時指定。 |
--UsePreviousParameters | Boolean | 否 | true | 未傳遞的參數是否使用上次傳遞的值。 |
--DisableRollback | Boolean | 否 | false | 更新資源棧失敗時,是否禁用復原策略。
|
--TemplateURL | String | 否 | oss://ros-template/demo | 包含模板主體的檔案的位置。 URL必須指向位於Web伺服器(HTTP或HTTPS)或阿里雲OSS儲存桶(例如:oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou)中的模板,模板最大值為524288個位元組。 說明 如果OSS地區未指定,預設與介面參數RegionId相同。 您可以指定參數TemplateBody或TemplateURL,但不能同時指定。 URL最大長度為1024個位元組。 |
請求樣本
aliyun ros UpdateStack --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be431****
正常返回樣本
{
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"RequestId": "53C2DB3A-8374-4464-9466-952614EEC467"
}
PreviewStack
預覽指定模板將要建立的資源棧資訊。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-beijing | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackName | String | 是 | MyStack | 資源棧名稱。 長度不超過255個字元,必須以數字或字母開頭,可包含數字、字母、短劃線(-)和底線(_)。支援使用萬用字元(*)進行模糊搜尋。 N取值:1~5。 |
--TimeoutInMinutes | Long | 是 | 10 | 建立資源棧的逾時時間。
|
--Parameters.N.ParameterValue | String | 否 | ecs.cm4.6xlarge | 參數的值。 N最大值:200。 |
--Parameters.N.ParameterKey | String | 否 | InstanceType | 參數的名稱。 如果未指定特定參數的名稱和值,ROS將使用模板中指定的預設值。 N最大值:200。 |
--DisableRollback | Boolean | 否 | false | 當建立資源棧失敗時,是否禁用復原策略。
|
--TemplateBody | String | 否 | { "ROSTemplateFormatVersion": "2015-09-01" } | 模板的結構。長度為1~524288個位元組。 如果長度較大,建議通過HTTP POST+Body Param的方式,將參數放在請求體中進行傳遞,避免URL過長而導致請求失敗。 您可以指定參數TemplateBody或TemplateURL,但不能同時指定。 |
--StackPolicyURL | String | 否 | oss://ros-stack-policy/demo | 包含資源棧策略的檔案的位置。 URL必須指向位於Web伺服器(HTTP或HTTPS)或阿里雲OSS儲存桶(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的策略,策略檔案最大長度為16384個位元組。 說明 如果OSS地區未指定,預設與介面參數RegionId相同。 您可以指定參數StackPolicyBody或StackPolicyURL,但不能同時指定。 URL最大長度為1350位元組。 |
--StackPolicyBody | String | 否 | {"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} | 包含資源棧策略主體的結構,長度為1~16384個位元組。 您可以指定StackPolicyBody或StackPolicyURL參數,但不能同時指定。 |
--TemplateURL | String | 否 | oss://ros-template/demo | 包含模板主體的檔案的位置。URL必須指向位於Web伺服器(HTTP或HTTPS)或阿里雲OSS儲存桶(例如:oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou)中的模板,模板最大長度為524288個位元組。 說明 如果OSS地區未指定,預設與介面參數RegionId相同。 您可以指定TemplateBody或TemplateURL參數,但不能同時指定。 |
--ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保證請求的等冪性。 該值由用戶端產生,並且必須全域唯一。 僅允許使用字母、數字、短劃線(-)和底線(_),最多可包含64個字元。 更多詳情,請參見如何保證等冪性。 |
請求樣本
aliyun ros PreviewStack --RegionId cn-beijing --StackName PreStack --TimeoutInMinutes 10
正常返回樣本
{
"Stack": {
"Parameters": [
{
"ParameterValue": "26492326756309****",
"ParameterKey": "ALIYUN::AccountId"
},
{
"ParameterValue": "None",
"ParameterKey": "ALIYUN::NoValue"
},
{
"ParameterValue": "cn-hangzou",
"ParameterKey": "ALIYUN::Region"
},
{
"ParameterValue": "None",
"ParameterKey": "ALIYUN::StackId"
},
{
"ParameterValue": "PreStack",
"ParameterKey": "ALIYUN::StackName"
}
],
"TemplateDescription": "No description",
"Description": "No description",
"TimeoutInMinutes": 10,
"RegionId": "cn-hangzou",
"DisableRollback": false,
"Resources": [],
"StackName": "PreStack"
},
"RequestId": "0400B1C6-0CD5-4E6B-A674-9A2507ED07B5"
}
DeleteStack
用於刪除資源棧,並可以刪除該資源棧下所有的資源。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-hangzhou | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackId | String | 是 | 4a6c9851-3b0f-4f5f-b4ca-a14bf691f2ff | 資源棧ID。 |
--RetainAllResources | Boolean | 否 | false | 是否保留該資源棧下的所有資源。 |
調用樣本
aliyun ros DeleteStack --RegionId cn-hangzhou --StackId 3763bb21-5aa2-4a46-86ec-4b149b2f****
正常返回樣本
{
"RequestId": "DC2C269B-C29C-4F07-9A6F-6CE47A267A2F"
}
CancelUpdateStack
取消更新資源棧。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-hangzhou | 資源棧所所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackId | String | 是 | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | 資源棧ID。 |
--CancelType | String | 否 | Safe | 取消更新資源棧類型,建議將DisableRollback設定為true。取值:
|
請求樣本
aliyun ros CancelUpdateStack --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be431****
正常返回樣本
{
"RequestId":"F5DFBC9B-1604-4281-B52C-BB35B96018C5"
}
ContinueCreateStack
在資源棧建立失敗後重新建立資源棧。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-hangzhou | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackId | String | 是 | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | 資源棧ID。 |
--RecreatingResources.N | RepeatList | 否 | WebServer | 建立失敗的資源將始終重新建立。 您可以指定額外需要重新建立的資源清單,ROS會重新建立所有依賴於其的資源。 |
請求樣本
aliyun ros ContinueCreateStack --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be43****
正常返回樣本
{
"StackId":"c18d62d8-51ce-4e8e-b8f6-e00be431****",
"RequestId":"E7C8199F-2DC4-4D1B-BA5E-7860BF3A530C"
}
ListStackEvents
查詢資源棧列表。
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
--RegionId | String | 是 | cn-hangzhou | 資源棧所屬的地區ID。您可以調用DescribeRegions查看最新的阿里雲地區列表。 |
--StackId | String | 是 | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | 資源棧ID。 |
--Status.N | RepeatList | 否 | CREATE_IN_PROGRESS | 資源狀態。取值:
|
--ResourceType.N | RepeatList | 否 | ALIYUN::ECS::Instance | 資源類型列表。 N最大值:200。 |
--PageNumber | Long | 否 | 1 | 資源棧列表的頁碼。
|
--PageSize | Long | 否 | 10 | 分頁查詢時設定的每頁行數。
|
請求樣本
aliyun ros ListStackEvents --RegionId cn-hangzhou --StackId c18d62d8-51ce-4e8e-b8f6-e00be431****
正常返回樣本
{
"PageNumber": 1,
"TotalCount": 2,
"PageSize": 10,
"RequestId": "2AE74AAF-F467-4476-AC0E-208C5AE66666",
"Events": [
{
"StatusReason": "Stack CREATE completed successfully",
"Status": "CREATE_COMPLETE",
"PhysicalResourceId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"LogicalResourceId": "test_stack",
"ResourceType": "ALIYUN::ROS::Stack",
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"CreateTime": "2019-09-05T01:27:58",
"EventId": "51cc568c-4112-4507-aa8b-d432af5b****",
"StackName": "MyStack"
},
{
"StatusReason": "Stack CREATE started",
"Status": "CREATE_IN_PROGRESS",
"PhysicalResourceId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"LogicalResourceId": "test_stack",
"ResourceType": "ALIYUN::ROS::Stack",
"StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
"CreateTime": "2019-09-05T01:27:58",
"EventId": "5b9161fc-d4a1-46ef-bbde-a06cceeb****",
"StackName": "MyStack"
}
]
}