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

CreateStack

创建资源栈。

名称 类型 是否必选 示例值 描述
--RegionId String cn-hangzhou

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

--StackName String MyStack

资源栈名称。资源栈名称可以包含数字、字母(大小写敏感)、连字符、下划线。必须以数字或字母开头,且长度不超过255个字符。

--TimeoutInMinutes Long 10

创建资源栈的超时时间,以分钟为单位。

默认值为10。

--Parameters.N.ParameterKey String InstanceId

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

N最大值为200。

--Parameters.N.ParameterValue String i-xxxxxx

参数的值。

N最大值为200。

--DisableRollback Boolean false

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

  • true:表示禁用回滚,即在创建资源栈失败时不会进行回滚;
  • false:表示不禁用回滚,即在创建资源栈失败时会进行回滚。
--TemplateBody String { "ROSTemplateFormatVersion": "2015-09-01" }

包含模板体的结构,最小长度为1个字节,最大长度为51200个字节。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--StackPolicyURL String oss://ros-stack-policy/demo

包含资源栈策略的文件的位置。 URL必须指向位于Web服务器(http,https)中的策略(最大长度:16384字节),或阿里云OSS存储桶(例如oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)。

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

URL最大长度为1350字节。

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

包含资源栈策略主体的结构,最小长度为1个字节,最大长度为16384个字节。

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

--NotificationURLs.N RepeatList http://my-site.com/ros-event

接收资源栈事件的URL回调地址。仅支持HTTP POST。

N最大值为5,每个URL的最大长度为1024。

--TemplateURL String oss://ros-template/demo

包含模板主体的文件的位置。 URL必须指向位于http Web服务器(http,https),或阿里云OSS存储桶(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)中的模板(最大长度:524288字节)。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--ClientToken String 123e4567-e89b-12d3-a456-42665544****

保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。 仅允许使用字母数字字符(区分大小写),连字符和下划线。 它最多可包含64个字符。更多详情,请参见如何保证幂等性

调用示例

aliyun ros CreateStack --StackName MyStack--TemplateBody "{"ROSTemplateFormatVersion": "2015-09-01"}" --TimeoutInMinutes 10

正常返回示例

{
        "StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****",
        "RequestId": "53C2DB3A-8374-4464-9466-952614EEC159"
}

ListStacks

查询资源栈列表。

名称 类型 是否必选 示例值 描述
--RegionId String cn-hangzhou

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

--StackName.N RepeatList MyStack

资源栈名称,必须唯一。资源栈名称可以包含数字、字母(大小写敏感)、连字符、下划线。必须以数字或字母开头,且长度不超过255个字符。

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

是否列出嵌套资源栈。仅当指定ParentStackId时生效。

--PageNumber Long 1

资源栈列表的页码,起始值为1。

默认值为1。

--PageSize Long 10

分页查询时设置的每页行数,最大值为100。

默认值为10。

调用示例

aliyun ros ListStacks --PageNumber 3 --PageSize 1

正常返回示例

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

更新资源栈的超时时间,以分钟为单位。

默认值为10。

--TemplateBody String { "ROSTemplateFormatVersion": "2015-09-01" }

包含模板体的结构,最小长度为1个字节,最大长度为51200个字节。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--StackPolicyURL String oss://ros-stack-policy/demo

包含资源栈策略的文件的位置。 URL必须指向位于Web服务器(http,https)中的策略(最大长度:16384字节),或阿里云OSS存储桶(例如oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)。URL最大长度为1350字节。

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

--StackPolicyDuringUpdateURL String oss://ros-stack-policy/demo

包含更新资源栈策略的文件的位置。 URL必须指向位于Web服务器(http,https)中的策略(最大长度:16384字节),或阿里云OSS存储桶(例如oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou。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

当更新资源栈失败时,是否禁用回滚策略,默认为false。

  • true:表示禁用回滚,即在更新资源栈失败时不会进行回滚;
  • false:表示不禁用回滚,即在更新资源栈失败时会进行回滚。
--TemplateURL String oss://ros-template/demo

包含模板主体的文件的位置。 URL必须指向位于http Web服务器(http,https),或阿里云OSS存储桶(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)中的模板(最大长度:524288字节)。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

请求示例

aliyun ros UpdateStack --TemplateBody '{"ROSTemplateFormatVersion": "2015-09-01", "Parameters": {"username": {"Type": "String", "Label": "cli"}}, "Resources": {"TestVPC": {"Type": "ALIYUN::ECS::VPC", "Properties": {"CidrBlock": "172.*.*.*/*", "VpcName": "vpc-test"}}}}' --Parameters.1.ParameterKey 'username' --Parameters.1.ParameterValue 'test_parameter' --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个字符。

--TimeoutInMinutes Long 10

资源栈的超时时间,以分钟为单位。

默认值为10。

--Parameters.N.ParameterValue String ecs.cm4.6xlarge

参数的值。

N最大值为200。

--Parameters.N.ParameterKey String InstanceType

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

N最大值为200。

--DisableRollback Boolean false

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

  • true:表示禁用回滚,即在创建资源栈失败时不会进行回滚;
  • false:表示不禁用回滚,即在创建资源栈失败时会进行回滚。
--TemplateBody String { "ROSTemplateFormatVersion": "2015-09-01" }

包含模板体的结构,最小长度为1个字节,最大长度为51200个字节。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--StackPolicyURL String oss://ros-stack-policy/demo

包含资源栈策略的文件的位置。URL必须指向位于Web服务器(http,https)中的策略(最大大小:16384字节),或阿里云OSS存储桶(例如oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)。URL最大长度为1350字节。

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

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

包含资源栈策略主体的结构,最小长度为1个字节,最大长度为16384个字节。

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

--TemplateURL String oss://ros-template/demo

包含模板主体的文件的位置。URL必须指向位于http Web服务器(http,https),或阿里云OSS存储桶(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)中的模板(最大长度:524288字节)。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--ClientToken String 123e4567-e89b-12d3-a456-42665544****

保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。 仅允许使用字母数字字符(区分大小写),连字符和下划线。 它最多可包含64个字符。更多详情,请参见如何保证幂等性

请求示例

aliyun ros PreviewStack --StackName PreStack --TimeoutInMinutes 10 --TemplateBody "{"ROSTemplateFormatVersion": "2015-09-01"}"

正常返回示例

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

创建失败的资源将始终重新创建。

可指定额外需要重新的创建资源列表,也会重新创建其所依赖的资源。

请求示例

aliyun ros ContinueCreateStack --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。

--LogicalResourceId.N RepeatList WebServer

资源逻辑ID,模板定义的名称。

--PageNumber Long 1

事件列表的页码,起始值为1,默认值为1。

--PageSize Long 10

分页查询时设置的每页行数,最大值100行,默认为10。

请求示例

aliyun ros ListStackEvents --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"
                }
        ]
}