资源栈相关

本文为您介绍如何通过阿里云CLI调用资源栈相关的API。

CreateStack

创建资源栈。

名称

类型

是否必选

示例值

描述

--RegionId

String

cn-hangzhou

资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

--StackName

String

MyStack

资源栈名称。

长度不超过255个字符,必须以数字或字母开头,可包含数字、字母、短划线(-)和下划线(_)。

--TimeoutInMinutes

Long

10

创建资源栈的超时时间。

  • 默认值:60。

  • 单位:分钟。

--Parameters.N.ParameterKey

String

InstanceId

参数名称。 如果未指定特定参数的名称和值,ROS将使用模板中指定的默认值。

N最大值:200。

--Parameters.N.ParameterValue

String

i-xxxxxx

参数值。

N最大值:200。

--DisableRollback

Boolean

false

当创建资源栈失败时,是否禁用回滚策略。

  • true:禁用回滚,即在创建资源栈失败时不进行回滚。

  • 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。

  • N最大值:5。

  • 每个URL的最大长度:1024个字节。

资源栈的状态发生变化时,会进行通知。当资源栈启用回滚时,CREATE_FAILED(创建失败)和UPDATE_FAILED(更新失败)不会通知,而CREATE_ROLLBACK(创建失败回滚)和ROLLBACK(更新失败回滚)会进行通知。

说明

IN_PROGRESS状态不会通知。

无论资源栈是否定义了Outputs都会进行通知。通知内容示例如下:

{
    "Outputs": [
        {
            "Description": "No description given",
            "OutputKey": "InstanceId",
            "OutputValue": "i-xxx"
        }
    ],
    "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",
    "StackName": "test-notification-url",
    "Status": "CREATE_COMPLETE"
}

--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

资源栈状态。

取值:

  • CREATE_IN_PROGRESS

  • CREATE_FAILED

  • CREATE_COMPLETE

  • UPDATE_IN_PROGRESS

  • UPDATE_FAILED

  • UPDATE_COMPLETE

  • DELETE_IN_PROGRESS

  • DELETE_FAILED

  • DELETE_COMPLETE

  • ROLLBACK_IN_PROGRESS

  • ROLLBACK_FAILED

  • ROLLBACK_COMPLETE

  • CHECK_IN_PROGRESS

  • CHECK_FAILED

  • CHECK_COMPLETE

  • REVIEW_IN_PROGRESS

--ParentStackId

String

fgce558a-bdd6-d52j-555b-63755971****

父资源栈ID。

--ShowNestedStack

Boolean

true

是否列出嵌套资源栈。

--PageNumber

Long

1

资源栈列表的页码。

  • 起始值:1。

  • 默认值:1。

--PageSize

Long

10

分页查询时设置的每页行数。

  • 最大值:100。

  • 默认值: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时生效。 您只能指定以下参数之一:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

--TimeoutInMinutes

Long

10

更新资源栈的超时时间。

  • 默认值:60。

  • 单位:分钟。

--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

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

--StackPolicyBody

String

{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

资源栈策略主体的结构,长度为1~16384个字节。

您可以指定参数StackPolicyBody或StackPolicyURL,但不能同时指定。

--UsePreviousParameters

Boolean

true

未传递的参数是否使用上次传递的值。

--DisableRollback

Boolean

false

更新资源栈失败时,是否禁用回滚策略。

  • true:禁用回滚,即在更新资源栈失败时不会进行回滚。

  • 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

创建资源栈的超时时间。

  • 默认值:60。

  • 单位:分钟。

--Parameters.N.ParameterValue

String

ecs.cm4.6xlarge

参数的值。

N最大值:200。

--Parameters.N.ParameterKey

String

InstanceType

参数的名称。 如果未指定特定参数的名称和值,ROS将使用模板中指定的默认值。

N最大值:200。

--DisableRollback

Boolean

false

当创建资源栈失败时,是否禁用回滚策略。

  • true:禁用回滚,即在创建资源栈失败时不会进行回滚。

  • 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。取值:

  • Quick:尽快取消更新资源栈。

  • Safe:尽可能安全地取消更新资源栈。

请求示例

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

资源状态。取值:

  • CREATE_COMPLETE

  • CREATE_FAILED

  • CREATE_IN_PROGRESS

  • DELETE_FAILED

  • DELETE_IN_PROGRESS

  • ROLLBACK_COMPLETE

  • ROLLBACK_FAILED

  • ROLLBACK_IN_PROGRESS

--ResourceType.N

RepeatList

ALIYUN::ECS::Instance

资源类型列表。

N最大值:200。

--PageNumber

Long

1

资源栈列表的页码。

  • 起始值:1。

  • 默认值:1。

--PageSize

Long

10

分页查询时设置的每页行数。

  • 最大值:100。

  • 默认值: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"
                }
        ]
}