All Products
Search
Document Center

:CreateStack

Last Updated:May 29, 2026

Membuat stack.

Stack adalah kumpulan resource Resource Orchestration Service (ROS) yang dapat dikelola sebagai satu kesatuan. Untuk membuat kumpulan resource tersebut, Anda perlu membuat stack. Untuk informasi selengkapnya tentang stack, lihat Overview.

Saat memanggil operasi ini, perhatikan batasan berikut:

  • Anda dapat membuat hingga 200 stack dalam satu Akun Alibaba Cloud.
  • Anda dapat membuat hingga 200 resource dalam satu stack.

Topik ini memberikan contoh cara membuat stack bernama MyStack di wilayah China (Hangzhou), dengan body template stack berupa {"ROSTemplateFormatVersion":"2015-09-01"}.

Debugging

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

Parameter permintaan

ParameterTypeWajibContohDeskripsi
ActionStringYaCreateStack

Operasi yang ingin Anda lakukan. Tetapkan nilainya ke CreateStack.

DisableRollbackBooleanTidakfalse

Menentukan apakah akan menonaktifkan rollback untuk sumber daya ketika pembuatan stack gagal.

Nilai default: false. Nilai yang valid:

  • true
  • false
TemplateBodyStringTidak{"ROSTemplateFormatVersion":"2015-09-01"}

Struktur yang berisi 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 yang akan digunakan.

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

Panjang URL dapat mencapai 1.350 byte.

TimeoutInMinutesLongTidak10

Periode timeout yang diizinkan untuk membuat stack.

  • Nilai default: 60.
  • Unit: menit.
  • Nilai valid: 10 hingga 1440.
StackPolicyBodyStringTidak{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

Struktur yang berisi isi stack policy. Isi stack policy harus memiliki panjang 1 hingga 16.384 byte.

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

Nama stack.

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

RegionIdStringYacn-hangzhou

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

ClientTokenStringTidak123e4567-e89b-12d3-a456-42665544****

Token client yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menggunakan client untuk menghasilkan nilai tersebut, tetapi harus memastikan bahwa nilainya unik di antara permintaan yang berbeda. Token dapat memiliki panjang hingga 64 karakter, dan dapat berisi huruf, angka, tanda hubung (-), serta garis bawah (_).

Untuk informasi selengkapnya, lihat Ensure idempotence.

TemplateURLStringTidakoss://ros-template/demo

URL dari 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.
RamRoleNameStringTidaktest-role

Nama role RAM. ROS mengasumsikan role RAM untuk membuat stack dan menggunakan kredensial role tersebut untuk memanggil API layanan Alibaba Cloud.

ROS mengasumsikan role RAM untuk melakukan operasi pada stack. Jika Anda memiliki izin untuk melakukan operasi pada stack tetapi tidak memiliki izin untuk menggunakan role RAM, ROS tetap akan mengasumsikan role RAM tersebut. Anda harus memastikan bahwa hak istimewa minimal diberikan kepada role RAM.

Jika Anda tidak menentukan parameter ini, ROS akan mengasumsikan role yang sudah ada dan terkait dengan stack tersebut. Jika tidak tersedia role apa pun, ROS akan menggunakan kredensial temporary yang dihasilkan dari kredensial akun Anda.

Nama tersebut dapat memiliki panjang hingga 64 karakter.

DeletionProtectionStringTidakEnabled

Menentukan apakah akan mengaktifkan perlindungan penghapusan untuk stack. Nilai default: Disabled. Nilai yang valid:

  • Enabled: mengaktifkan perlindungan penghapusan.
  • Disabled: menonaktifkan perlindungan penghapusan. Anda dapat menghapus stack melalui Konsol ROS atau dengan memanggil operasi DeleteStack.
Catatan Parameter DeletionProtection yang Anda tentukan untuk tumpukan akar berlaku juga untuk tumpukan bersarangnya.
CreateOptionStringTidakKeepStackOnCreationComplete

Opsi untuk stack setelah Anda membuat stack tersebut. Nilai default: KeepStackOnCreationComplete. Nilai yang valid:

  • KeepStackOnCreationComplete: mempertahankan stack dan sumber dayanya setelah stack dibuat. Dalam hal ini, kuota stack Anda di ROS akan dikonsumsi.
  • AbandonStackOnCreationComplete: menghapus stack, tetapi mempertahankan sumber dayanya setelah stack dibuat. Dalam hal ini, kuota stack Anda di ROS tidak dikonsumsi. Jika pembuatan stack gagal, stack tersebut dipertahankan.
  • AbandonStackOnCreationRollbackComplete: menghapus stack ketika sumber dayanya di-rollback setelah pembuatan stack gagal. Dalam hal ini, kuota stack Anda di ROS tidak dikonsumsi. Pada skenario rollback lainnya, stack dipertahankan.
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.ParameterKeyStringYaInstanceId

Nama parameter N yang didefinisikan dalam templat. Jika Anda tidak menentukan nama dan nilai parameter, ROS akan menggunakan nama dan nilai default yang terdapat di dalam templat.

Nilai maksimum N: 200.

Nama harus terdiri dari 1 hingga 128 karakter, serta tidak boleh mengandung http:// atau https://. Nama juga tidak boleh diawali dengan aliyun atau acs:.

Catatan Parameter Parameters bersifat opsional. Jika Anda menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey dan Parameters.N.ParameterValue secara bersamaan.
Parameters.N.ParameterValueStringYai-xxxxxx

Nilai parameter N yang didefinisikan dalam templat.

Nilai maksimum N: 200.

Panjang nilai tersebut dapat mencapai 128 karakter, dan tidak boleh mengandung http:// atau https://. Nilai tersebut tidak boleh diawali dengan aliyun atau acs:.

Catatan Parameter Parameters bersifat opsional. Jika Anda menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey dan Parameters.N.ParameterValue sekaligus.
NotificationURLs.NStringTidakhttp://example.com/ros-event

URL callback yang digunakan untuk menerima event stack N. Nilai yang valid:

  • HTTP POST URL

    Panjang setiap URL dapat mencapai 1.024 byte.

  • eventbridge

    Saat status stack berubah, ROS mengirim notifikasi event ke layanan EventBridge. Anda dapat melihat informasi event tersebut di EventBridge console.
    Catatan ROS mendukung layanan EventBridge di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Hong Kong), dan Tiongkok (Zhangjiakou).

Nilai maksimum N: 5. Saat status stack berubah, ROS mengirim notifikasi event ke URL yang ditentukan. Jika rollback diaktifkan untuk stack tersebut, notifikasi event dikirim ketika stack berada dalam status CREATE_ROLLBACK atau ROLLBACK, tetapi tidak dikirim jika stack berada dalam status CREATE_FAILED, UPDATE_FAILED, atau IN_PROGRESS.

ROS mengirim notifikasi event terlepas dari apakah Anda mengonfigurasi bagian Outputs atau tidak. Kode contoh berikut menunjukkan isi notifikasi event:


{
    "Outputs": [
        {
            "Description": "No description given",
            "OutputKey": "InstanceId",
            "OutputValue": "i-xxx"
        }
    ],
    "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",
    "StackName": "test-notification-url",
    "Status": "CREATE_COMPLETE"
}
                                    
Tags.N.KeyStringYausage

Kunci dari tag N yang ingin Anda tambahkan ke stack.

Nilai valid untuk N: 1 hingga 20.

Catatan
  • Parameter Tags bersifat opsional. Jika Anda menentukan parameter Tags, Anda harus menentukan parameter Tags.N.Key.
  • Tag stack akan dipropagasikan ke setiap resource stack yang mendukung fitur tag. Untuk informasi selengkapnya, lihat Propagate tags.
Tags.N.ValueStringTidaktest

Nilai tag N yang ingin Anda tambahkan ke stack.

Nilai N yang valid: 1 hingga 20.

Catatan Tag stack akan dipropagasikan ke setiap resource stack yang mendukung fitur tag. Untuk informasi selengkapnya, lihat Propagate tags.
ResourceGroupIdStringTidakrg-acfmxazb4ph6aiy****

ID kelompok sumber daya. Jika Anda tidak menentukan parameter ini, stack akan ditambahkan ke kelompok sumber daya default.

Untuk informasi selengkapnya tentang kelompok sumber daya, lihat bagian "Resource Group" dalam topik What is Resource Management?.

ParallelismLongTidak1

Jumlah maksimum operasi konkuren yang dapat dilakukan pada sumber daya.

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, bilangan tersebut akan digunakan. Jika Anda mengatur parameter ini ke 0 atau membiarkannya kosong, tidak ada batasan yang diterapkan pada stack ROS. Namun, nilai default di Terraform akan digunakan untuk Tumpukan Terraform. Dalam kebanyakan kasus, nilai default di Terraform adalah 10.
  • Jika Anda mengatur parameter ini ke nilai tertentu, ROS akan mengaitkan nilai tersebut dengan stack. Nilai ini memengaruhi operasi selanjutnya pada stack, seperti operasi pembaruan.
TemplateScratchIdStringTidakts-aa9c62feab844a6b****

ID skenario.

Untuk informasi lebih lanjut 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.

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

Parameter respons

ParameterTypeContohDeskripsi
RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

ID dari permintaan tersebut.

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

ID stack.

Contoh

Permintaan contoh

http(s)://ros.aliyuncs.com/?Action=CreateStack
&StackName=MyStack
&RegionId=cn-hangzhou
&Parameters=[{"ParameterKey":"InstanceId","ParameterValue":"i-xxxxxx"}]
&Tags=[{"Key":"usage"}]
&<Common request parameters>

Respons sukses contoh

XML format

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

<CreateStackResponse>
        <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>
        <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
</CreateStackResponse>

JSON format

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

{
  "StackId" : "4a6c9851-3b0f-4f5f-b4ca-a14bf691****",
  "RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F"
}

Kode kesalahan

Untuk daftar kode kesalahan, lihat Service error codes.

Kode kesalahan

Pesan kesalahan

Kode status HTTPS

Deskripsi

CircularDependency

Circular Dependency Found: {reason}.

400

Pesan kesalahan yang dikembalikan karena templat berisi dependensi melingkar. reason menunjukkan penyebab kesalahan.

InvalidSchema

{reason}.

400

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

InvalidTemplateAttribute

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

400

Pesan kesalahan yang dikembalikan karena properti resource yang dirujuk dalam bagian Outputs templat tidak valid. resource menunjukkan nama resource. name menunjukkan nama properti.

InvalidTemplatePropertyType

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

400

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

InvalidTemplateReference

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

400

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

InvalidTemplateSection

The template section is invalid: {section}.

400

Pesan kesalahan ditampilkan karena Templat berisi bagian yang tidak valid. section menunjukkan nama bagian tersebut.

InvalidTemplateVersion

The template version is invalid: {reason}.

400

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

StackValidationFailed

{reason}.

400

Pesan kesalahan yang dikembalikan karena validasi stack gagal. reason menunjukkan penyebab kesalahan.

UnknownUserParameter

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

400

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

UserParameterMissing

The Parameter {name} was not provided.

400

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

ActionInProgress

Stack {name} already has an action ({action}) in progress.

409

Pesan kesalahan yang dikembalikan karena stack sedang dalam proses perubahan. name menunjukkan nama atau ID stack. action menunjukkan operasi perubahan.

StackExists

The Stack ({name}) already exists.

409

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

TemplateNotFound

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

404

Pesan kesalahan yang dikembalikan karena templat yang ditentukan tidak ada. ID menunjukkan ID templat.

TemplateNotFound

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

404

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