全部產品
Search
文件中心

Resource Orchestration Service:PreviewStack - 預覽指定模板將要建立或更新的資源棧資訊

更新時間:Aug 20, 2025

預覽指定模板將要建立或更新的資源棧資訊,驗證模板資源的準確性。

介面說明

本文將提供一個樣本,在杭州地區建立並預覽一個名為MyStack的資源棧,該資源棧的模板TemplateBody設定為{"ROSTemplateFormatVersion":"2015-09-01"}

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

ros:PreviewStack

get

*Stack

acs:ros:{#regionId}:{#accountId}:stack/{#StackId}

Template

acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

請求參數

名稱

類型

必填

描述

樣本值

DisableRollback

boolean

當建立資源棧失敗時,是否禁用復原。取值:

  • true:禁用復原,即當建立資源棧失敗時不進行復原。

  • false(預設值):不禁用復原,即當建立資源棧失敗時進行復原。

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

保證請求的等冪性。該值由用戶端產生,並且必須是全域唯一的。
長度不超過 64 個字元,可包含英文字母、數字、短劃線(-)和底線(_)。
更多詳情,請參見如何保證等冪性




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。預覽更新資源棧。

說明
  • 您必須且僅能指定 StackName 或 StackId 其中一個參數。

  • 預覽建立或更新資源棧的情境中不支援預覽嵌套資源棧中的資源。

4a6c9851-3b0f-4f5f-b4ca-a14bf691****

EnablePreConfig

boolean

是否擷取合規預檢參數。

取值:

  • true:擷取合規預檢參數。

  • false(預設值):不擷取合規預檢參數。

false

TaintResources

array

標記為髒資源的列表。

string

  • ROS 資源棧中,需要配置為:資源名稱,例如:my_vpc。

  • Terraform 資源棧中,需要配置為:資源類型+資源名稱,例如:alicloud_vpc.my_vpc。

my_vpc

UsePreviousParameters

boolean

未傳遞的參數是否使用上次傳遞的值。

取值:

  • true:未傳遞的參數使用上次傳遞的值。

  • false:未傳遞的參數不使用上次傳遞的值。

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:增加資源。

  • Modify:修改資源。

  • Remove:刪除資源。

  • None:無變化。

Add

Replacement

string

模板是否為替換更新。取值:

  • True:替換更新。

  • False:修改更新。

  • Conditional:可能是替換更新,模板運行時才能確定。

說明

僅當 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 命令名稱。取值:

  • apply

  • plan

  • destroy

  • version

關於命令含義的更多資訊,請參見 Command

apply

Stream

string

輸出資料流。取值:

  • stdout:標準輸出。

  • stderr:標準錯誤。

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."
        }
      ]
    }
  }
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情