本文为您介绍如何通过阿里云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"
}
]
}