预览指定模板将要创建或更新的资源栈信息,验证模板资源的准确性。
接口说明
本文将提供一个示例,在杭州地域创建并预览一个名为MyStack
的资源栈,该资源栈的模板TemplateBody
设置为{"ROSTemplateFormatVersion":"2015-09-01"}
。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
ros:PreviewStack |
get |
*Stack
Template
|
无 | 无 |
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
DisableRollback |
boolean |
否 |
当创建资源栈失败时,是否禁用回滚。取值:
|
false |
TimeoutInMinutes |
integer |
否 |
创建资源栈的超时时间。 单位:分钟。 默认值:60。 |
60 |
TemplateBody |
string |
否 |
模板主体的结构。长度为 1~524,288 个字节。如果长度较长,则建议通过 HTTP POST+Body Param 的方式,将参数放在请求体中进行传递,避免因 URL 过长而导致请求失败。 说明
您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。 |
{"ROSTemplateFormatVersion":"2015-09-01"} |
StackPolicyURL |
string |
否 |
包含资源栈策略的文件的位置。URL 必须指向位于 Web 服务器(HTTP 或 HTTPS)或阿里云 OSS 存储空间(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的策略,策略文件最大长度为 16,384 个字节。如未指定 OSS 地域,默认与 RegionId 取值相同。 说明
您仅能指定 StackPolicyBody 和 StackPolicyURL 其中一个参数。 URL 最大长度为 1350 个字节。 |
oss://ros-stack-policy/demo |
RegionId |
string |
是 |
资源栈所属的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 |
cn-hangzhou |
StackPolicyBody |
string |
否 |
包含资源栈策略主体的结构,长度为 1~16,384 个字节。 说明
您仅能指定 StackPolicyBody 和 StackPolicyURL 其中一个参数。 |
{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} |
StackName |
string |
否 |
资源栈名称。预览创建资源栈。 长度不超过 255 个字符,必须以数字或英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)。 说明
您必须且仅能指定 StackName 或 StackId 其中一个参数。 |
MyStack |
ClientToken |
string |
否 |
保证请求的幂等性。该值由客户端生成,并且必须是全局唯一的。 |
123e4567-e89b-12d3-a456-42665544**** |
TemplateURL |
string |
否 |
包含模板主体的文件的位置。URL 必须指向位于 Web 服务器(HTTP 或 HTTPS)或阿里云 OSS 存储空间(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的模板,模板的最大长度为 524,288 个字节。如未指定 OSS 地域,默认与 RegionId 取值相同。 说明
您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。 |
oss://ros-template/demo |
TemplateId |
string |
否 |
模板 ID。支持共享模板和私有模板。 说明
您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。 |
5ecd1e10-b0e9-4389-a565-e4c15efc**** |
TemplateVersion |
string |
否 |
模板版本。仅在指定 TemplateId 时生效。 |
v1 |
Parameters |
array<object> |
否 |
参数。 |
|
object |
否 |
|||
ParameterKey |
string |
是 |
参数名称。如果未指定参数名称和参数值,ROS 将使用模板中指定的默认值。N 的最大值为 200。 说明
若指定了 Parameters,则 Parameters.N.ParameterKey 为必选参数。 |
ALIYUN::AccountId |
ParameterValue |
string |
是 |
参数值。N 的最大值为 200。 说明
若指定了 Parameters,则 Parameters.N.ParameterValue 为必选参数。 |
151266687691**** |
Parallelism |
integer |
否 |
资源最大并发数。仅对 Terraform 类型资源栈生效。 默认为空,用户可以输入大于等于零的整数。 说明
若设置为大于零的整数,则使用该整数;若设置为零或者不设置,则使用 Terraform 默认值(通常为 10)。 |
1 |
TemplateScratchId |
string |
否 |
资源场景 ID。 关于如何获取资源场景 ID,请参见 ListTemplateScratches 。 说明
您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。 |
ts-aa9c62feab844a6b**** |
TemplateScratchRegionId |
string |
否 |
资源场景所属的地域 ID,默认与 RegionId 取值相同。 您可以调用 DescribeRegions 查看最新的阿里云地域列表。 |
cn-hangzhou |
StackId |
string |
否 |
资源栈 ID。预览更新资源栈。 说明
|
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
EnablePreConfig |
boolean |
否 |
是否获取合规预检参数。 取值:
|
false |
TaintResources |
array |
否 |
标记为脏资源的列表。 |
|
string |
否 |
|
my_vpc |
|
UsePreviousParameters |
boolean |
否 |
未传递的参数是否使用上次传递的值。 取值:
|
true |
关于公共请求参数的详情,请参见公共参数。
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
|||
RequestId |
string |
请求 ID。 |
B288A0BE-D927-4888-B0F7-B35EF84B6E6F |
Stack |
object |
资源栈预览数据。 |
|
TemplateDescription |
string |
模板描述。 |
One ECS instance. |
Parameters |
array<object> |
资源栈参数。 |
|
object |
|||
ParameterKey |
string |
参数名称。 |
ALIYUN::AccountId |
ParameterValue |
string |
参数值。 |
151266687691**** |
Description |
string |
资源栈描述。 |
One ECS instance. |
DisableRollback |
boolean |
是否禁用回滚。 |
false |
StackName |
string |
资源栈名称。 |
MyStack |
TimeoutInMinutes |
integer |
超时时间。 单位:分钟。 |
60 |
StackPolicyBody |
object |
资源栈策略内容。 |
{ "Statement": [ { "Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*" }, { "Action": "Update:*", "Resource": "LogicalResourceId/apple1", "Effect": "Deny", "Principal": "*" } ] } |
Resources |
array<object> |
资源栈中的资源列表。 |
|
object |
|||
LogicalResourceId |
string |
资源逻辑 ID。 |
WebServer |
AcsResourceType |
string |
ACS 资源类型。 |
ACS::ECS::Instance |
ResourceType |
string |
资源类型。 |
ALIYUN::ECS::Instance |
Description |
string |
资源描述。 |
ECS instance. |
Stack |
object |
子资源栈信息。数据结构同整个返回值。 |
{} |
RequiredBy |
array |
资源栈依赖的资源。 |
|
string |
资源栈依赖的资源。 |
["Resource1", "Resource2"] |
|
Properties |
object |
资源属性。 |
{ "DiskMappings": [ { "Category": "cloud_ssd", "Size": "20" } ], "SystemDisk_Category": "cloud_ssd", "InstanceChargeType": "PostPaid", "AutoRenew": "False", "WillReplace": true, "ImageId": "centos_7", "InstanceType": "ecs.g6.large", "AllocatePublicIP": true, "AutoRenewPeriod": 1, "IoOptimized": "optimized", "ZoneId": "cn-beijing-g", "VSwitchId": "", "SecurityGroupId": "", "Period": 1, "InternetChargeType": "PayByTraffic", "SystemDiskCategory": "cloud_efficiency", "InternetMaxBandwidthOut": 1, "VpcId": "", "InternetMaxBandwidthIn": 200, "PeriodUnit": "Month" } |
Action |
string |
资源行为。取值:
|
Add |
Replacement |
string |
模板是否为替换更新。取值:
说明
仅当 Action 取值为 Modify 时,返回本参数。 |
False |
PhysicalResourceId |
string |
资源物理 ID。 当 Action 为 Modify 或 Remove 时,返回本参数。 |
i-a1b2c3*** |
RegionId |
string |
资源栈所在地域。 |
cn-hangzhou |
Log |
object |
资源栈相关输出日志。 |
|
TerraformLogs |
array<object> |
Terraform 输出日志。仅 Terraform 类型资源栈返回该参数。 说明
该参数表示预览资源栈的日志。 |
|
object |
|||
Command |
string |
执行的 Terraform 命令名称。取值:
关于命令含义的更多信息,请参见 Command 。 |
apply |
Stream |
string |
输出流。取值:
|
stdout |
Content |
string |
当前命令在当前输出流中输出的内容。 |
Apply complete! Resources: 42 added, 0 changed, 0 destroyed. |
示例
正常返回示例
JSON
格式
{
"RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"Stack": {
"TemplateDescription": "One ECS instance.",
"Parameters": [
{
"ParameterKey": "ALIYUN::AccountId",
"ParameterValue": "151266687691****"
}
],
"Description": "One ECS instance.",
"DisableRollback": false,
"StackName": "MyStack",
"TimeoutInMinutes": 60,
"StackPolicyBody": {
"Statement": [
{
"Action": "Update:*",
"Resource": "*",
"Effect": "Allow",
"Principal": "*"
},
{
"Action": "Update:*",
"Resource": "LogicalResourceId/apple1",
"Effect": "Deny",
"Principal": "*"
}
]
},
"Resources": [
{
"LogicalResourceId": "WebServer",
"AcsResourceType": "ACS::ECS::Instance",
"ResourceType": "ALIYUN::ECS::Instance",
"Description": "ECS instance.",
"Stack": {},
"RequiredBy": [
"[\"Resource1\", \"Resource2\"]"
],
"Properties": {
"DiskMappings": [
{
"Category": "cloud_ssd",
"Size": "20"
}
],
"SystemDisk_Category": "cloud_ssd",
"InstanceChargeType": "PostPaid",
"AutoRenew": "False",
"WillReplace": true,
"ImageId": "centos_7",
"InstanceType": "ecs.g6.large",
"AllocatePublicIP": true,
"AutoRenewPeriod": 1,
"IoOptimized": "optimized",
"ZoneId": "cn-beijing-g",
"VSwitchId": "",
"SecurityGroupId": "",
"Period": 1,
"InternetChargeType": "PayByTraffic",
"SystemDiskCategory": "cloud_efficiency",
"InternetMaxBandwidthOut": 1,
"VpcId": "",
"InternetMaxBandwidthIn": 200,
"PeriodUnit": "Month"
},
"Action": "Add",
"Replacement": "False",
"PhysicalResourceId": "i-a1b2c3***"
}
],
"RegionId": "cn-hangzhou",
"Log": {
"TerraformLogs": [
{
"Command": "apply",
"Stream": "stdout",
"Content": "Apply complete! Resources: 42 added, 0 changed, 0 destroyed."
}
]
}
}
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。