All Products
Search
Document Center

:PreviewStack

Last Updated:May 29, 2026

Menampilkan pratinjau informasi stack yang akan dibuat berdasarkan templat tertentu. Anda dapat menggunakan operasi ini untuk memverifikasi resource dalam templat tersebut.

Topik ini memberikan contoh cara membuat stack bernama MyStack di wilayah Tiongkok (Hangzhou) dan menampilkan pratinjau informasi stack tersebut. Dalam contoh ini, isi templat stack adalah {"ROSTemplateFormatVersion":"2015-09-01"}.

Debugging

OpenAPI Explorer secara otomatis menghitung nilai signature. Untuk kenyamanan Anda, kami menyarankan agar Anda memanggil operasi ini di OpenAPI Explorer. OpenAPI Explorer secara dinamis menghasilkan contoh kode operasi ini untuk berbagai SDK.

Parameter permintaan

ParameterTipeWajibContohDeskripsi
ActionStringYaPreviewStack

Operasi yang ingin Anda lakukan. Atur nilainya ke PreviewStack.

DisableRollbackBooleanTidakfalse

Menentukan apakah akan menonaktifkan rollback untuk sumber daya ketika pembuatan stack gagal. Nilai default: false. Nilai yang valid:

  • true
  • false
TimeoutInMinutesLongTidak60

Periode timeout yang diperbolehkan untuk membuat stack.

Unit: menit.

Nilai default: 60.

TemplateBodyStringTidak{"ROSTemplateFormatVersion":"2015-09-01"}

Struktur badan templat. Panjang badan templat harus antara 1 hingga 524.288 byte. Jika panjang badan templat melebihi batas atas tersebut, kami menyarankan Anda menambahkan parameter ke badan permintaan HTTP POST untuk mencegah kegagalan permintaan yang disebabkan oleh URL yang terlalu panjang.

Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId.
StackPolicyURLStringTidakoss://ros-stack-policy/demo

URL file yang berisi kebijakan stack. URL tersebut harus mengarah ke kebijakan yang berada di server web HTTP atau HTTPS atau di bucket Object Storage Service (OSS), seperti oss://ros/stack-policy/demo atau oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Ukuran file kebijakan dapat mencapai 16.384 byte. Jika Anda tidak menentukan ID Wilayah bucket OSS, nilai parameter RegionId akan digunakan.

Catatan Anda hanya dapat menentukan salah satu dari parameter StackPolicyBody dan StackPolicyURL.

Panjang URL dapat mencapai 1.350 byte.

RegionIdStringYacn-hangzhou

ID wilayah dari stack. Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah terbaru.

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

Struktur yang berisi isi kebijakan tumpukan. Isi kebijakan tumpukan harus memiliki panjang 1 hingga 16.384 byte.

Catatan Anda hanya dapat menentukan salah satu dari parameter StackPolicyBody dan StackPolicyURL.
StackNameStringTidakMyStack

Nama stack. Anda dapat menggunakan parameter ini untuk melihat pratinjau stack yang ingin Anda buat.

Nama dapat memiliki panjang hingga 255 karakter, serta boleh mengandung angka, huruf, tanda hubung (-), dan garis bawah (_). Nama harus diawali dengan angka atau huruf.

Catatan Anda hanya boleh menentukan salah satu dari parameter StackName dan StackId.
ClientTokenStringTidak123e4567-e89b-12d3-a456-42665544****

Token client yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menggunakan client untuk menghasilkan token tersebut, tetapi Anda harus memastikan bahwa token tersebut unik di antara permintaan yang berbeda.

Panjang token dapat mencapai 64 karakter, dan dapat berisi huruf, angka, tanda hubung (-), serta garis bawah (_).

Untuk informasi selengkapnya, lihat Ensure idempotence.

TemplateURLStringTidakoss://ros-template/demo

URL file yang berisi isi templat. URL tersebut harus mengarah ke templat yang berada di server web HTTP atau HTTPS, atau di Bucket OSS, seperti oss://ros/stack-policy/demo atau oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Isi templat dapat memiliki panjang maksimum 524.288 byte. Jika Anda tidak menentukan ID wilayah Bucket OSS, nilai parameter RegionId akan digunakan.

Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId.
TemplateIdStringTidak5ecd1e10-b0e9-4389-a565-e4c15efc****

ID templat. Parameter ini berlaku untuk Template bersama dan template pribadi.

Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId.
TemplateVersionStringTidakv1

Versi templat. Parameter ini hanya berlaku ketika parameter TemplateId ditentukan.

Parameters.N.ParameterKeyStringYaALIYUN::AccountId

Nama parameter N. Jika Anda tidak menentukan nama dan nilai suatu parameter, Resource Orchestration Service (ROS) akan menggunakan nama dan nilai default yang ditentukan dalam templat. Nilai maksimum N: 200.

Catatan Jika Anda menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey.
Parameters.N.ParameterValueStringYa151266687691****

Nilai parameter N. Nilai maksimum N: 200.

Catatan Jika Anda menentukan Parameters, Anda harus menentukan Parameters.N.ParameterValue.
ParallelismLongTidak1

Jumlah maksimum operasi konkuren yang dapat dilakukan pada sumber daya. Parameter ini hanya berlaku untuk Tumpukan Terraform.

Secara default, parameter ini kosong. Anda dapat mengatur parameter ini ke bilangan bulat yang lebih besar dari atau sama dengan 0.

Catatan Jika Anda mengatur parameter ini ke bilangan bulat yang lebih besar dari 0, nilai tersebut akan digunakan. Jika Anda mengatur parameter ini ke 0 atau membiarkannya kosong, nilai default Terraform akan digunakan. Dalam kebanyakan kasus, nilai default Terraform adalah 10.
TemplateScratchIdStringTidakts-aa9c62feab844a6b****

ID skenario.

Untuk informasi selengkapnya tentang cara melakukan kueri ID skenario, lihat ListTemplateScratches.

Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId.
TemplateScratchRegionIdStringTidakcn-hangzhou

ID wilayah dari skenario tersebut. Nilai default-nya sama dengan nilai parameter RegionId.

Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah terbaru.

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

ID stack. Anda dapat menggunakan parameter ini untuk melakukan pratinjau stack yang ingin Anda perbarui.

Catatan
  • Anda hanya boleh menentukan salah satu dari parameter StackName dan StackId.
  • Dalam skenario di mana Anda melakukan pratinjau stack yang ingin dibuat atau diperbarui, Anda tidak dapat melihat pratinjau sumber daya dalam tumpukan bersarangnya.
EnablePreConfigBooleanTidakfalse

Menentukan apakah akan melakukan kueri terhadap parameter yang ingin digunakan dalam pemeriksaan awal kepatuhan.

Nilai default: false. Nilai yang valid:

  • true
  • false

Untuk informasi selengkapnya tentang parameter permintaan umum, lihat Common parameters.

Parameter respons

ParameterTipeContohDeskripsi
RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

ID dari permintaan.

StackObject

Informasi mengenai stack yang dipratinjau.

TemplateDescriptionStringOne ECS instance.

Deskripsi templat.

ParametersArray of Parameter

Parameter-parameter stack.

ParameterKeyStringALIYUN::AccountId

Nama parameter tersebut.

ParameterValueString151266687691****

Nilai parameter tersebut.

DescriptionStringOne ECS instance.

Deskripsi stack.

DisableRollbackBooleanfalse

Menunjukkan apakah rollback dinonaktifkan untuk sumber daya ketika stack gagal dibuat.

StackNameStringMyStack

Nama stack tersebut.

TimeoutInMinutesInteger60

Periode timeout yang diperbolehkan untuk membuat stack.

Unit: menit.

StackPolicyBodyMap

Struktur yang berisi isi kebijakan tumpukan.

ResourcesArray of Resource

Sumber daya dalam stack tersebut.

LogicalResourceIdStringWebServer

ID logis dari resource tersebut.

AcsResourceTypeStringACS::ECS::Instance

Jenis resource yang termasuk dalam suatu Layanan Alibaba Cloud.

ResourceTypeStringALIYUN::ECS::Instance

Jenis resource tersebut.

DescriptionStringECS instance.

Deskripsi resource tersebut.

StackMap

Informasi mengenai nested stack. Struktur data dari nilai tersebut sama dengan struktur data dari seluruh respons.

RequiredByArray of String["Resource1", "Resource2"]

Sumber daya yang menjadi dependensi stack.

PropertiesMap

Properti dari sumber daya tersebut.

ActionStringAdd

Aksi yang dilakukan pada sumber daya. Nilai yang valid:

  • Add
  • Modify
  • Remove
  • None
ReplacementStringFalse

Menunjukkan apakah pembaruan penggantian dilakukan pada templat. Nilai yang valid:

  • True: Pembaruan penggantian dilakukan pada templat.
  • False: Perubahan dilakukan pada templat.
  • Conditional: Pembaruan penggantian mungkin dilakukan pada templat. Anda dapat memeriksa apakah pembaruan penggantian dilakukan saat templat sedang digunakan.
Catatan Parameter ini hanya dikembalikan jika parameter Action diatur ke Modify.
PhysicalResourceIdStringi-a1b2c3***

ID fisik dari resource tersebut.

Parameter ini hanya dikembalikan jika parameter Action diatur ke Modify atau Remove.

RegionIdStringcn-hangzhou

ID wilayah dari stack tersebut.

LogObject

Log yang dihasilkan saat stack dijalankan.

TerraformLogsArray of TerraformLog

Log yang dihasilkan saat menjalankan Terraform stack. Parameter ini hanya dikembalikan jika stack tersebut merupakan Terraform stack.

Catatan Anda dapat menggunakan parameter ini untuk melihat pratinjau log dari Terraform stack.
CommandStringapply

Nama perintah Terraform. Nilai yang valid:

  • apply
  • plan
  • destroy
  • version

Untuk informasi selengkapnya tentang perintah Terraform, lihat Basic CLI Features.

StreamStringstdout

Aliran output. Nilai yang valid:

  • stdout: aliran output standar
  • stderr: aliran error standar
ContentStringApply complete! Resources: 42 added, 0 changed, 0 destroyed.

Konten dari aliran output yang dikembalikan setelah perintah dijalankan.

Contoh

Permintaan contoh

http(s)://ros.aliyuncs.com/?Action=PreviewStack
&TemplateBody={"ROSTemplateFormatVersion":"2015-09-01"}
&StackName=MyStack
&RegionId=cn-hangzhou
&<Common request parameters>

Respons sukses contoh

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<PreviewStackResponse>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
    <Stack>
        <TemplateDescription>One ECS instance.</TemplateDescription>
        <Parameters>
            <ParameterKey>ALIYUN::AccountId</ParameterKey>
            <ParameterValue>151266687691****</ParameterValue>
        </Parameters>
        <Description>One ECS instance.</Description>
        <DisableRollback>false</DisableRollback>
        <StackName>MyStack</StackName>
        <TimeoutInMinutes>60</TimeoutInMinutes>
        <Resources>
            <LogicalResourceId>WebServer</LogicalResourceId>
            <AcsResourceType>ACS::ECS::Instance</AcsResourceType>
            <ResourceType>ALIYUN::ECS::Instance</ResourceType>
            <Description>ECS instance.</Description>
            <RequiredBy>["Resource1", "Resource2"]</RequiredBy>
            <Action>Add</Action>
            <Replacement>False</Replacement>
        </Resources>
        <RegionId>cn-hangzhou</RegionId>
        <Log>
            <TerraformLogs>
                <Command>apply</Command>
                <Stream>stdout</Stream>
                <Content>Apply complete! Resources: 42 added, 0 changed, 0 destroyed.</Content>
            </TerraformLogs>
        </Log>
    </Stack>
</PreviewStackResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/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,
    "Resources" : {
      "LogicalResourceId" : "WebServer",
      "AcsResourceType" : "ACS::ECS::Instance",
      "ResourceType" : "ALIYUN::ECS::Instance",
      "Description" : "ECS instance.",
      "RequiredBy" : "[\"Resource1\", \"Resource2\"]",
      "Action" : "Add",
      "Replacement" : "False"
    },
    "RegionId" : "cn-hangzhou",
    "Log" : {
      "TerraformLogs" : {
        "Command" : "apply",
        "Stream" : "stdout",
        "Content" : "Apply complete! Resources: 42 added, 0 changed, 0 destroyed."
      }
    }
  }
}

Kode kesalahan

Untuk daftar kode kesalahan, lihat Service error codes.

Untuk informasi selengkapnya tentang kesalahan umum yang berlaku untuk semua operasi, lihat Common error codes.

Kode status HTTP

Kode kesalahan

Pesan kesalahan

Deskripsi

400

CircularDependency

Circular Dependency Found: {reason}.

Pesan error yang dikembalikan karena templat berisi ketergantungan sirkular. reason menunjukkan penyebab error tersebut.

400

InvalidSchema

{reason}.

Pesan error yang dikembalikan karena format templat tidak valid. reason menunjukkan penyebab error tersebut.

400

InvalidTemplateAttribute

The Referenced Attribute ({resource} {name}) is incorrect.

Pesan error yang dikembalikan karena properti resource yang dirujuk di bagian Outputs pada templat tidak valid. resource menunjukkan nama resource. name menunjukkan nama properti.

400

InvalidTemplatePropertyType

The specified value type of ({resource} {section}) is incorrect.

Pesan error yang dikembalikan karena tipe properti resource yang didefinisikan dalam suatu bagian templat tidak valid. resource menunjukkan nama resource. section menunjukkan nama bagian.

400

InvalidTemplateReference

The specified reference "{name}" (in {referencer}) is incorrect.

Pesan error yang dikembalikan karena templat berisi referensi yang tidak valid. name menunjukkan nama referensi. referencer menunjukkan nama referencer.

400

InvalidTemplateSection

The template section is invalid: {section}.

Pesan error yang dikembalikan karena templat berisi bagian yang tidak valid. section menunjukkan nama bagian tersebut.

400

InvalidTemplateVersion

The template version is invalid: {reason}.

Pesan error yang dikembalikan karena versi templat tidak valid. reason menunjukkan penyebab error tersebut.

400

StackValidationFailed

{reason}.

Pesan error yang dikembalikan karena stack gagal divalidasi. reason menunjukkan penyebab error tersebut.

400

UnknownUserParameter

The Parameter ({name}) was not defined in template.

Pesan error yang dikembalikan karena parameter yang ditentukan tidak didefinisikan dalam templat. name menunjukkan nama parameter tersebut.

400

UserParameterMissing

The Parameter {name} was not provided.

Pesan error yang dikembalikan karena tidak ada nilai yang ditentukan untuk parameter yang didefinisikan dalam templat. name menunjukkan nama parameter tersebut.

409

StackExists

The Stack ({name}) already exists.

Pesan error yang dikembalikan karena stack dengan nama yang sama sudah ada. name menunjukkan nama stack.

404

TemplateNotFound

The Template ({ ID }) could not be found.

Pesan error yang dikembalikan karena templat tidak ada. ID menunjukkan ID templat.

404

TemplateNotFound

The Template { ID } with version { version } could not be found.

Pesan error yang dikembalikan karena templat atau versi templat tidak ada. ID menunjukkan ID templat. version menunjukkan versi templat.