預覽指定模板將要建立或更新的資源棧資訊,驗證模板資源的準確性。
介面說明
本文將提供一個樣本,在杭州地區建立並預覽一個名為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."
}
]
}
}
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。