All Products
Search
Document Center

:CreateChangeSet

Last Updated:May 29, 2026

Membuat change set.

Deskripsi

Anda dapat membuat dan mengeksekusi change set untuk memperbarui stack yang sedang berjalan. Untuk informasi selengkapnya tentang change set, lihat Overview.

Batasan

  • Sebuah stack dapat berisi hingga 20 change set.
  • Change set hanya mencerminkan perubahan pada stack, bukan apakah stack tersebut telah diperbarui atau belum.
  • Anda tidak dapat menggunakan change set untuk memeriksa hal-hal berikut: apakah batas atas akun Anda telah tercapai, apakah pembaruan akan mengubah resource yang tidak dapat diperbarui, atau apakah akun Anda memiliki izin yang diperlukan untuk mengubah resource. Hal-hal tersebut dapat menyebabkan pembaruan stack gagal. Jika pembaruan stack gagal, Resource Orchestration Service (ROS) akan mencoba melakukan rollback resource ke status semula.

Topik ini memberikan contoh cara membuat change set. Pada contoh ini, sebuah change set bernama MyChangeSet dibuat di wilayah China (Hangzhou). Change set ini digunakan untuk mengubah body template dari sebuah stack menjadi {"ROSTemplateFormatVersion":"2015-09-01"}. ID stack tersebut adalah 4a6c9851-3b0f-4f5f-b4ca-a14bf691****.

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

ParameterTypeWajibContohDeskripsi
ActionStringYaCreateChangeSet

Operasi yang ingin Anda lakukan. Tetapkan nilainya ke CreateChangeSet.

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

ID stack tempat Anda ingin membuat change set. ROS membandingkan informasi stack dengan informasi yang Anda tentukan, seperti template yang dimodifikasi atau nilai parameter yang diubah, untuk menghasilkan change set.

Catatan Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke UPDATE atau IMPORT.
StackPolicyURLStringTidakoss://ros/stack-policy/demo

URL file yang berisi kebijakan stack. URL 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. File kebijakan dapat memiliki panjang maksimal 16.384 byte.

Catatan Jika Anda tidak menentukan ID wilayah bucket OSS, maka nilai parameter RegionId yang digunakan.

Anda dapat menentukan parameter StackPolicyBody atau StackPolicyURL.

Panjang URL dapat mencapai 1.350 byte.

Jika Anda mengatur parameter ChangeSetType ke CREATE, Anda dapat menentukan parameter StackPolicyBody atau StackPolicyURL. Jika Anda mengatur parameter ChangeSetType ke UPDATE, Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
StackPolicyBodyStringTidak{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}

Struktur yang berisi isi kebijakan stack. Isi kebijakan harus memiliki panjang 1 hingga 16.384 byte. Jika Anda mengatur parameter ChangeSetType ke CREATE, Anda dapat menentukan parameter StackPolicyBody atau StackPolicyURL. Jika Anda mengatur parameter ChangeSetType ke UPDATE, Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
StackNameStringTidakMyStack

Nama stack tempat Anda ingin membuat change set.

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

Catatan Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke CREATE atau IMPORT.
UsePreviousParametersBooleanTidaktrue

Menentukan apakah akan menggunakan nilai yang ditentukan dalam permintaan sebelumnya untuk parameter yang tidak Anda tentukan dalam permintaan saat ini. Nilai default: false. Nilai yang valid:

  • true
  • false
Catatan Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke UPDATE atau IMPORT.
ChangeSetTypeStringTidakUPDATE

Tipe change set. Nilai default: UPDATE. Nilai yang valid:

  • CREATE: membuat change set untuk stack baru.
  • UPDATE: membuat change set untuk stack yang sudah ada.
  • IMPORT: membuat change set untuk stack baru atau stack yang sudah ada untuk mengimpor resource yang tidak dikelola oleh ROS.

Jika Anda membuat change set untuk stack baru, ROS akan menghasilkan ID stack unik untuk stack tersebut. Stack tetap berada dalam status REVIEW_IN_PROGRESS hingga Anda mengeksekusi change set tersebut.

Anda tidak dapat menggunakan tipe UPDATE untuk membuat change set untuk stack baru atau tipe CREATE untuk membuat change set untuk stack yang sudah ada.

DescriptionStringTidakIt is a demo.

Deskripsi change set. Deskripsi dapat memiliki panjang hingga 1.024 byte.

RegionIdStringYacn-hangzhou

ID wilayah untuk change set. Anda dapat memanggil operasi DescribeRegions untuk mengambil daftar wilayah terbaru.

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

Token klien yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menghasilkan nilai ini di sisi klien, tetapi Anda harus memastikan bahwa nilainya unik di antara permintaan yang berbeda.

Token dapat memiliki panjang hingga 64 karakter, dan dapat berisi huruf, angka, tanda hubung (-), dan garis bawah (_).

Untuk informasi selengkapnya, lihat Ensure idempotence.

TemplateURLStringTidakoss://ros/template/demo

URL file yang berisi isi template. URL harus mengarah ke template yang berada di server web HTTP atau HTTPS atau di bucket OSS, seperti oss://ros/template/demo atau oss://ros/template/demo?RegionId=cn-hangzhou. Isi template dapat memiliki panjang maksimal 524.288 byte.

Catatan Jika Anda tidak menentukan ID wilayah bucket OSS, maka nilai parameter RegionId yang digunakan.

Anda hanya dapat menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, dan TemplateId.

Panjang URL dapat mencapai 1.024 byte.

StackPolicyDuringUpdateURLStringTidakoss://ros/stack-policy/demo

URL file yang berisi kebijakan stack pengganti sementara. URL harus mengarah ke kebijakan 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. File kebijakan dapat memiliki panjang maksimal 16.384 byte.

Catatan Jika Anda tidak menentukan ID wilayah bucket OSS, maka nilai parameter RegionId yang digunakan.

Panjang URL dapat mencapai 1.350 byte.

Jika Anda ingin memperbarui resource yang dilindungi, tentukan kebijakan stack pengganti sementara untuk resource tersebut selama pembaruan. Jika Anda tidak menentukan kebijakan tersebut, kebijakan yang sudah ada dan terkait dengan stack akan digunakan. Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke UPDATE. Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
TemplateBodyStringTidak{"ROSTemplateFormatVersion":"2015-09-01"}

Struktur yang berisi isi template. Isi template harus memiliki panjang 1 hingga 524.288 byte.

Jika panjang isi template melebihi batas atas, kami menyarankan agar Anda menambahkan parameter ke badan permintaan HTTP POST untuk mencegah kegagalan permintaan akibat URL yang terlalu panjang.

Anda hanya dapat menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, dan TemplateId.

TimeoutInMinutesLongTidak12

Jumlah waktu yang dapat berlalu sebelum stack masuk ke status CREATE_FAILED atau UPDATE_FAILED.

Jika Anda mengatur parameter ChangeSetType ke CREATE, parameter ini wajib diisi. Jika Anda mengatur parameter ChangeSetType ke UPDATE, parameter ini opsional.

  • Unit: menit.
  • Nilai yang valid: 10 hingga 1440.
  • Nilai default: 60.
DisableRollbackBooleanTidakfalse

Menentukan apakah akan menonaktifkan rollback ketika pembuatan stack gagal.

Nilai default: false. Nilai yang valid:

  • true
  • false
Catatan Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke CREATE atau IMPORT.
ChangeSetNameStringYaMyChangeSet

Nama change set.

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

Catatan Pastikan nama tersebut unik di antara semua nama change set yang terkait dengan stack yang ditentukan.
StackPolicyDuringUpdateBodyStringTidak{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}

Struktur yang berisi isi kebijakan stack pengganti sementara. Isi kebijakan harus memiliki panjang 1 hingga 16.384 byte.

Jika Anda ingin memperbarui resource yang dilindungi, tentukan kebijakan stack pengganti sementara untuk resource tersebut selama pembaruan. Jika Anda tidak menentukan kebijakan tersebut, kebijakan stack yang sudah ada dan terkait dengan stack akan digunakan.

Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke UPDATE. Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
RamRoleNameStringTidaktest-role

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

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

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

Nama peran RAM dapat memiliki panjang hingga 64 byte.

ReplacementOptionStringTidakDisabled

Menentukan apakah akan mengaktifkan pembaruan penggantian jika properti resource diubah tetapi Anda tidak dapat mengubah properti resource tersebut. Untuk perubahan biasa, ID fisik resource tetap tidak berubah. Untuk pembaruan penggantian, resource yang ada dihapus, resource baru dibuat, dan ID fisik resource berubah. Nilai default: Disabled. Nilai yang valid:

  • Enabled
  • Disabled
Catatan Perubahan biasa memiliki prioritas lebih tinggi daripada pembaruan penggantian. Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke UPDATE.
TemplateIdStringTidak5ecd1e10-b0e9-4389-a565-e4c15efc****

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

Anda hanya dapat menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, dan TemplateId.

TemplateVersionStringTidakv1

Versi template.

Catatan Parameter ini hanya berlaku ketika parameter TemplateId ditentukan.
Parameters.N.ParameterKeyStringYaAmount

Nama parameter N yang didefinisikan dalam template. Jika Anda tidak menentukan nama dan nilai parameter, ROS akan menggunakan nama dan nilai default yang didefinisikan dalam template. Nilai maksimum N: 200.

Catatan Parameter Parameters bersifat opsional. Jika Anda menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey.
Parameters.N.ParameterValueStringYa12

Nilai parameter N yang didefinisikan dalam template. Nilai maksimum N: 200.

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

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

  • URL HTTP POST

    Panjang setiap URL dapat mencapai 1.024 byte.

  • eventbridge

    Ketika status stack berubah, ROS mengirim notifikasi event ke layanan EventBridge. Untuk melihat informasi event, lakukan langkah-langkah berikut: Masuk ke Konsol EventBridge. Di panel navigasi sebelah kiri, klik Event Buses.
    Catatan ROS mendukung layanan EventBridge di wilayah berikut: China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong), dan China (Zhangjiakou).

Nilai maksimum N: 5. Ketika status stack berubah, ROS mengirim notifikasi event ke URL yang ditentukan. Ketika rollback diaktifkan untuk stack, notifikasi event dikirim jika 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. Contoh kode 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"
}
                                    
ResourcesToImport.N.ResourceIdentifierStringYa{"VpcId": "vpc-2zevx9ios******"}

Pemetaan key-value antar string. Nilainya adalah string JSON yang mengidentifikasi resource N yang akan diimpor.

Kunci adalah pengenal untuk sebuah resource dan nilai adalah penugasan data ke kunci tersebut. Misalnya, VpcId adalah kunci yang menentukan ID virtual private cloud (VPC), dan vpc-2zevx9ios**** adalah nilai yang ditugaskan ke VpcId. Anda dapat memanggil operasi GetTemplateSummary untuk mendapatkan kunci resource.

Catatan Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke IMPORT. Parameter ResourcesToImport bersifat opsional. Jika Anda menentukan ResourcesToImport, Anda harus menentukan ResourcesToImport.N.ResourceIdentifier.
ResourcesToImport.N.LogicalResourceIdStringYaVpc

ID logis resource N yang ingin Anda impor. ID logis menentukan nama resource yang didefinisikan dalam template.

Catatan Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke IMPORT. Parameter ResourcesToImport bersifat opsional. Jika Anda menentukan ResourcesToImport, Anda harus menentukan ResourcesToImport.N.LogicalResourceId.
ResourcesToImport.N.ResourceTypeStringYaALIYUN::ECS::VPC

Tipe resource N yang ingin Anda impor. Tipe resource harus sama dengan tipe resource yang didefinisikan dalam template.

Catatan Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke IMPORT. Parameter ResourcesToImport bersifat opsional. Jika Anda menentukan ResourcesToImport, Anda harus menentukan ResourcesToImport.N.ResourceType.
TemplateScratchIdStringTidak4a6c9851-3b0f-4f5f-b4ca-a14bf691****

ID template skenario.

ParallelismLongTidak1

Jumlah maksimum operasi konkuren yang dapat dilakukan pada resource. Secara default, parameter ini kosong. Anda dapat mengatur parameter ini ke bilangan bulat yang lebih besar dari atau sama dengan 0. Jika Anda mengatur parameter ini ke nilai tertentu, ROS akan mengaitkan nilai tersebut dengan stack. Nilai ini dapat memengaruhi operasi selanjutnya pada stack.

Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke CREATE atau UPDATE. Nilai yang valid:

  • Nilai yang valid untuk change set tipe CREATE:
    • Jika Anda mengatur parameter ini ke bilangan bulat yang lebih besar dari 0, bilangan bulat tersebut yang digunakan.
    • Jika Anda mengatur parameter ini ke 0 atau membiarkannya kosong, tidak ada batasan yang diberlakukan pada stack ROS. Namun, nilai default di Terraform akan digunakan untuk stack Terraform. Dalam kebanyakan kasus, nilai default di Terraform adalah 10.
  • Nilai yang valid untuk change set tipe UPDATE:
    • Jika Anda mengatur parameter ini ke bilangan bulat yang lebih besar dari 0, bilangan bulat tersebut yang digunakan.
    • Jika Anda mengatur parameter ini ke 0, tidak ada batasan yang diberlakukan pada stack ROS. Namun, nilai default di Terraform akan digunakan untuk stack Terraform. Dalam kebanyakan kasus, nilai default di Terraform adalah 10.
    • Jika Anda membiarkan parameter ini kosong, nilai yang Anda tentukan untuk parameter ini dalam permintaan sebelumnya yang digunakan. Jika Anda membiarkan parameter ini kosong dalam permintaan sebelumnya, tidak ada batasan yang diberlakukan pada stack ROS. Namun, nilai default di Terraform akan digunakan untuk stack Terraform. Dalam kebanyakan kasus, nilai default di Terraform adalah 10.

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

Parameter respons

ParameterTypeContohDeskripsi
ChangeSetIdStringe85abe0c-6528-43fb-ae93-fdf8de22****

ID change set.

RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

ID permintaan.

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

ID stack.

Contoh

Permintaan contoh

http(s)://ros.aliyuncs.com/?Action=CreateChangeSet
&RegionId=cn-hangzhou
&ChangeSetName=MyChangeSet
&Parameters=[{"ParameterKey":"Amount","ParameterValue":"12"}]
&ResourcesToImport=[{"ResourceIdentifier":"{\"VpcId\": \"vpc-2zevx9ios******\"}","LogicalResourceId":"Vpc","ResourceType":"ALIYUN::ECS::VPC"}]
&<Common request parameters>

Respons sukses contoh

XML format

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

<CreateChangeSetResponse>
    <ChangeSetId>e85abe0c-6528-43fb-ae93-fdf8de22****</ChangeSetId>
    <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
</CreateChangeSetResponse>

JSON format

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

{
  "ChangeSetId" : "e85abe0c-6528-43fb-ae93-fdf8de22****",
  "StackId" : "4a6c9851-3b0f-4f5f-b4ca-a14bf691****",
  "RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F"
}

Kode kesalahan

Untuk daftar kode kesalahan, lihat Service error codes.

Kode status HTTP

Kode kesalahan

Pesan kesalahan

Deskripsi

400

CircularDependency

Circular Dependency Found: {reason}.

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

400

InvalidSchema

{reason}.

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

400

InvalidTemplateAttribute

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

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

400

InvalidTemplatePropertyType

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

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

400

InvalidTemplateReference

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

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

400

InvalidTemplateSection

The template section is invalid: {section}.

Pesan kesalahan yang dikembalikan karena template berisi bagian yang tidak valid. section menunjukkan nama bagian.

400

InvalidTemplateVersion

The template version is invalid: {reason}.

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

400

StackPolicyValidationFailed

Action denied by stack policy: {reason}.

Pesan kesalahan yang dikembalikan karena operasi yang dilakukan untuk membuat change set gagal divalidasi berdasarkan kebijakan stack. reason menunjukkan penyebab kesalahan.

400

StackValidationFailed

{reason}.

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

400

UnknownUserParameter

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

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

400

UserParameterMissing

The Parameter {name} was not provided.

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

404

StackNotFound

The Stack ({name}) could not be found.

Pesan kesalahan yang dikembalikan karena stack tidak ada. name menunjukkan nama atau ID stack.

409

ActionInProgress

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

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

409

ChangeSetExists

The ChangeSet ({name}) of Stack ({stack}) already exists.

Pesan kesalahan yang dikembalikan karena change set dengan nama yang sama sudah ada. name menunjukkan nama change set. stack menunjukkan nama atau ID stack yang terkait dengan change set.

409

StackExists

The Stack ({name}) already exists.

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

404

TemplateNotFound

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

Pesan kesalahan yang dikembalikan karena template tidak ada. ID menunjukkan ID template.

404

TemplateNotFound

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

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