本文為您介紹如何通過阿里云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"
}
]
}