全部产品
Search
文档中心

Resource Orchestration Service:CreateChangeSet

更新时间:Dec 16, 2025

Membuat change set untuk sebuah stack. Anda dapat melihat pratinjau perubahan sebelum mengeksekusi change set tersebut.

Deskripsi operasi

Skenario

Buat stack menggunakan change set

Jika Anda ingin mengelola beberapa cloud resource dan melihat pratinjau cara pembuatannya sebelum stack dibuat, Anda dapat membuat stack menggunakan change set. Untuk melakukannya, atur parameter ChangeSetType ke CREATE dan konfigurasikan parameter yang diperlukan lainnya. Untuk informasi selengkapnya tentang change set, lihat Change sets.

Perbarui stack menggunakan change set

Jika Anda ingin melihat pratinjau dampak pembaruan terhadap stack sebelum menerapkan perubahan, Anda dapat membuat change set untuk stack yang sudah ada. Untuk melakukannya, atur parameter ChangeSetType ke UPDATE dan konfigurasikan parameter yang diperlukan lainnya. Untuk informasi selengkapnya tentang change set, lihat Change sets.

Buat stack dari resource yang sudah ada

Jika Anda ingin mengimpor cloud resource yang sudah ada ke dalam stack baru untuk manajemen terpusat, Anda dapat membuat change set. Untuk melakukannya, atur parameter ChangeSetType ke IMPORT dan konfigurasikan parameter yang diperlukan lainnya. Untuk informasi selengkapnya tentang resource import, lihat Overview.

Impor resource yang sudah ada ke stack

Jika Anda ingin mengimpor resource yang sudah ada ke stack yang sudah ada untuk manajemen terpusat, Anda dapat membuat change set. Untuk melakukannya, atur parameter ChangeSetType ke IMPORT dan konfigurasikan parameter yang diperlukan lainnya. Untuk informasi selengkapnya tentang resource import, lihat Overview.

Batasan

  • Anda hanya dapat memperbarui stack yang berada dalam status tertentu menggunakan change set. Untuk informasi selengkapnya, lihat Update a stack using a change set.

  • Sebuah stack dapat memiliki maksimal 20 change set secara bersamaan.

  • Change set hanya menampilkan perubahan pada stack, tetapi tidak menunjukkan apakah stack akan berhasil diperbarui atau tidak.

  • Change set tidak memeriksa potensi masalah seperti kuota akun yang terlampaui, upaya memperbarui resource yang tidak dapat diperbarui, atau izin yang tidak mencukupi untuk memodifikasi resource. Masalah-masalah ini dapat menyebabkan pembaruan stack gagal. Jika pembaruan gagal, ROS akan mencoba melakukan rollback resource ke status sebelumnya.

Topik ini memberikan contoh pembuatan change set bernama MyChangeSet di wilayah China (Hangzhou) (cn-hangzhou). Change set tersebut memperbarui templat stack dengan ID 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** menjadi {"ROSTemplateFormatVersion":"2015-09-01"}.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

ros:CreateChangeSet

create

*Stack

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

Template

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

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

StackId

string

No

ID stack tempat Anda ingin membuat change set. ROS membandingkan informasi stack dengan informasi yang Anda kirimkan, seperti templat yang dimodifikasi atau nilai parameter yang berbeda, untuk menghasilkan change set. Anda dapat memanggil operasi ListStacks untuk menanyakan ID stack.

Catatan

Parameter ini hanya berlaku ketika ChangeSetType diatur ke UPDATE atau IMPORT.

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

StackPolicyURL

string

No

URL file yang berisi kebijakan stack. URL harus mengarah ke kebijakan yang berada di server web (HTTP atau HTTPS) atau di Bucket OSS Alibaba Cloud, seperti oss://ros/stack-policy/demo atau oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Ukuran file kebijakan maksimal 16.384 byte.

Panjang URL maksimal 1.350 byte.

Catatan

Jika Anda tidak menentukan wilayah Bucket OSS, nilai RegionId yang digunakan.

Ketika ChangeSetType diatur ke CREATE, Anda hanya dapat menentukan salah satu dari parameter StackPolicyBody dan StackPolicyURL.

Ketika ChangeSetType diatur ke UPDATE, Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

oss://ros/stack-policy/demo

StackPolicyBody

string

No

Struktur isi kebijakan stack. Isi kebijakan harus berukuran 1 hingga 16.384 byte.

Ketika ChangeSetType diatur ke CREATE, Anda hanya dapat menentukan salah satu dari parameter StackPolicyBody dan StackPolicyURL.

Ketika ChangeSetType diatur ke UPDATE, Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

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

StackName

string

No

Nama stack tempat Anda ingin membuat change set. Panjang nama maksimal 255 karakter, dan dapat berisi angka, huruf, tanda hubung (-), dan garis bawah (_). Nama harus dimulai dengan angka atau huruf.

Catatan

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

MyStack

UsePreviousParameters

boolean

No

Menentukan apakah akan menggunakan nilai parameter yang terakhir digunakan. Nilai yang valid:

  • true

  • false (default)

Catatan

Parameter ini hanya berlaku ketika ChangeSetType diatur ke UPDATE atau IMPORT.

true

ChangeSetType

string

No

Tipe change set. Nilai yang valid:

  • CREATE: membuat change set untuk stack baru.

  • UPDATE (default): 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 mengatur nilai ChangeSetType ke CREATE, ROS akan membuat stack baru. Stack tersebut berada dalam status REVIEW_IN_PROGRESS hingga Anda mengeksekusi change set.

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

  • Anda tidak dapat mengatur kebijakan stack untuk change set bertipe IMPORT. Anda dapat mengatur kebijakan stack saat membuat atau memperbarui stack.

UPDATE

Description

string

No

Deskripsi change set. Panjang deskripsi maksimal 1.024 byte.

It is a demo.

RegionId

string

Yes

ID wilayah untuk change set.

Anda dapat memanggil operasi DescribeRegions untuk menanyakan daftar wilayah terbaru.

cn-hangzhou

ClientToken

string

No

Token klien yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menghasilkan token ini di sisi klien, tetapi harus memastikan bahwa token tersebut unik di antara permintaan yang berbeda. Panjang token maksimal 64 karakter, dan dapat berisi huruf, angka, tanda hubung (-), dan garis bawah (_). Untuk informasi selengkapnya, lihat How to ensure idempotence.

123e4567-e89b-12d3-a456-42665544****

TemplateURL

string

No

URL file yang berisi isi templat. URL harus mengarah ke templat 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. Ukuran isi templat maksimal 524.288 byte.

Catatan

Jika Anda tidak menentukan wilayah Bucket OSS, nilai RegionId yang digunakan.

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

Panjang URL maksimal 1.024 byte.

oss://ros/template/demo

StackPolicyDuringUpdateURL

string

No

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. Ukuran file kebijakan maksimal 16.384 byte.

Catatan

Jika Anda tidak menentukan wilayah Bucket OSS, nilai RegionId yang digunakan.

Panjang URL maksimal 1.350 byte. Jika Anda ingin memperbarui resource yang dilindungi, tentukan kebijakan stack pengganti sementara selama pembaruan. Jika Anda tidak menentukan kebijakan stack, kebijakan saat ini yang terkait dengan stack akan digunakan. Parameter ini hanya berlaku ketika ChangeSetType diatur ke UPDATE. Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

oss://ros/stack-policy/demo

TemplateBody

string

No

Struktur isi templat. Isi templat harus berukuran 1 hingga 524.288 byte. Jika ukurannya besar, disarankan menggunakan metode HTTP POST + Body Param untuk mengirimkan parameter dalam badan permintaan, guna menghindari kegagalan permintaan akibat URL yang terlalu panjang.

Catatan

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

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

TimeoutInMinutes

integer

No

Jumlah waktu yang dapat berlalu sebelum stack memasuki status CREATE_FAILED atau UPDATE_FAILED. Jika ChangeSetType diatur ke CREATE, parameter ini wajib diisi. Jika ChangeSetType diatur ke UPDATE, parameter ini opsional.

  • Unit: menit.

  • Nilai yang valid: 10 hingga 1440.

  • Nilai default: 60.

12

DisableRollback

boolean

No

Menentukan apakah akan menonaktifkan rollback ketika pembuatan stack gagal. Nilai yang valid:

  • true: menonaktifkan rollback untuk stack ketika pembuatan stack gagal.

  • false (default): mengaktifkan rollback untuk stack ketika pembuatan stack gagal.

Catatan

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

false

ChangeSetName

string

Yes

Nama change set. Panjang nama maksimal 255 karakter, dan dapat berisi angka, huruf, tanda hubung (-), dan garis bawah (_). Nama harus dimulai dengan angka atau huruf.

Catatan

Nama change set harus unik dalam stack tersebut.

MyChangeSet

StackPolicyDuringUpdateBody

string

No

Struktur isi kebijakan stack pengganti sementara. Isi kebijakan harus berukuran 1 hingga 16.384 byte. Jika Anda ingin memperbarui resource yang dilindungi, tentukan kebijakan stack pengganti sementara selama pembaruan. Jika Anda tidak menentukan kebijakan stack, kebijakan saat ini yang terkait dengan stack akan digunakan. Parameter ini hanya berlaku ketika ChangeSetType diatur ke UPDATE. Anda hanya dapat menentukan salah satu dari parameter berikut:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

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

RamRoleName

string

No

Nama peran RAM. ROS mengasumsikan peran RAM ini untuk membuat stack dan menggunakan kredensial peran tersebut untuk memanggil API layanan Alibaba Cloud. ROS selalu menggunakan peran ini untuk semua operasi yang dilakukan pada stack. Anda harus memiliki izin untuk melakukan operasi pada stack. Jika Anda tidak memiliki izin tersebut, ROS akan mengasumsikan peran yang ditentukan oleh RamRoleName untuk melakukan operasi pada stack. Jika Anda tidak menentukan RamRoleName, ROS akan mengasumsikan peran yang sudah ada pada stack. Jika tidak ada peran yang tersedia, ROS akan menggunakan kredensial sementara yang dihasilkan dari kredensial akun Anda. Panjang nama peran RAM maksimal 64 byte.

Untuk informasi selengkapnya tentang peran RAM, lihat Stack roles.

test-role

ReplacementOption

string

No

Menentukan apakah akan mengaktifkan pembaruan penggantian jika properti resource diubah dan perubahan tersebut tidak mendukung pembaruan modifikasi. Pembaruan penggantian akan menghapus resource dan membuat resource baru. ID fisik resource akan berubah. Nilai yang valid:

  • Enabled: mengaktifkan pembaruan penggantian.

  • Disabled (default): menonaktifkan pembaruan penggantian.

Catatan

Pembaruan modifikasi diprioritaskan. Parameter ini hanya berlaku ketika ChangeSetType diatur ke UPDATE.

Disabled

TemplateId

string

No

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

Anda dapat memanggil operasi ListTemplates untuk menanyakan ID templat.

Catatan

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

5ecd1e10-b0e9-4389-a565-e4c15efc****

TemplateVersion

string

No

Versi templat.

Catatan

Parameter ini hanya berlaku ketika TemplateId ditentukan.

v1

Parameters

array<object>

No

Parameter yang didefinisikan dalam templat.

object

No

ParameterKey

string

Yes

Nama parameter yang didefinisikan dalam templat. Jika Anda tidak menentukan nama dan nilai parameter, ROS akan menggunakan nama dan nilai default yang ditentukan dalam templat. Nilai N maksimal 200.

Catatan

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

Amount

ParameterValue

string

Yes

Nilai parameter yang didefinisikan dalam templat. Nilai N maksimal 200.

Catatan

Parameter Parameters bersifat opsional. Jika Anda menentukan Parameters, Anda juga harus menentukan Parameters.N.ParameterValue.

12

NotificationURLs

array

No

Daftar alamat webhook untuk menerima notifikasi event stack.

http://my-site.com/ros-notify

string

No

Alamat webhook untuk menerima notifikasi event stack. Nilai yang valid:

  • URL HTTP POST Panjang setiap URL maksimal 1.024 byte.

  • eventbridge Perubahan status stack dikirim ke layanan EventBridge. Anda dapat login ke EventBridge console dan klik Event Buses di panel navigasi sebelah kiri untuk melihat informasi event.

Catatan

Fitur ini didukung di wilayah China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong), dan China (Zhangjiakou).

Nilai N maksimal 5. Ketika status stack berubah, notifikasi akan dikirim. Jika rollback diaktifkan untuk stack, notifikasi untuk status CREATE_FAILED dan UPDATE_FAILED tidak dikirim. Sebagai gantinya, notifikasi untuk status CREATE_ROLLBACK dan ROLLBACK yang dikirim. Status IN_PROGRESS tidak dilaporkan. Notifikasi dikirim terlepas dari apakah parameter Outputs didefinisikan untuk stack atau tidak. Kode berikut menunjukkan contoh notifikasi:

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

http://example.com/ros-notify

ResourcesToImport

array<object>

No

Daftar resource yang akan diimpor.

object

No

ResourceIdentifier

string

No

Pemetaan key-value antar string. Nilainya adalah string JSON yang digunakan untuk mengidentifikasi resource yang akan diimpor. Kuncinya adalah properti pengenal resource, seperti VpcId dari resource ALIYUN::ECS::VPC. Nilainya adalah nilai properti tersebut, seperti vpc-2zevx9ios****.

Anda dapat memanggil operasi GetTemplateSummary untuk menanyakan properti pengenal resource.

Catatan

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

{"VpcId": "vpc-2zevx9ios******"}

LogicalResourceId

string

No

ID logis resource. ID logis adalah nama resource yang didefinisikan dalam templat.

Catatan

Parameter ini hanya berlaku ketika ChangeSetType diatur ke IMPORT. Parameter ResourcesToImport bersifat opsional. Jika Anda menentukan ResourcesToImport, Anda juga harus menentukan ResourcesToImport.N.LogicalResourceId.

Vpc

ResourceType

string

No

Tipe resource. Tipe resource harus sama dengan tipe resource yang didefinisikan dalam templat.

Catatan

Parameter ini hanya berlaku ketika ChangeSetType diatur ke IMPORT. Parameter ResourcesToImport bersifat opsional. Jika Anda menentukan ResourcesToImport, Anda juga harus menentukan ResourcesToImport.N.ResourceType.

ALIYUN::ECS::VPC

TemplateScratchId

string

No

ID skenario sumber daya, yaitu ID skenario manajemen sumber daya.

Parameter ini hanya berlaku ketika ChangeSetType diatur ke IMPORT. Parameter ini hanya mendukung pembuatan stack baru untuk impor resource.

Jika Anda ingin mengimpor resource dalam skenario manajemen sumber daya, tentukan hanya parameter ini. Jangan tentukan parameter yang terkait dengan templat.

Anda dapat memanggil operasi ListTemplateScratches untuk menanyakan ID skenario manajemen sumber daya.

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

Parallelism

integer

No

Jumlah maksimum operasi konkuren yang dapat dilakukan pada resource. Nilai default kosong, yang berarti nilainya adalah bilangan bulat yang lebih besar dari atau sama dengan 0. Setelah Anda mengatur parameter ini, nilainya akan dikaitkan dengan stack dan memengaruhi operasi selanjutnya pada stack.

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

  • Jika ChangeSetType diatur ke 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 tidak mengatur parameter ini, tidak ada batasan untuk stack ROS. Untuk stack Terraform, nilai default Terraform yang digunakan, yaitu 10.

  • Jika ChangeSetType diatur ke 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 untuk stack ROS. Untuk stack Terraform, nilai default Terraform yang digunakan, yaitu 10.

    • Jika Anda tidak mengatur parameter ini, nilai yang Anda tentukan dalam operasi sebelumnya yang digunakan. Jika Anda tidak mengatur parameter ini dalam operasi sebelumnya, tidak ada batasan untuk stack ROS. Untuk stack Terraform, nilai default Terraform yang digunakan, yaitu 10.

1

Tags

array<object>

No

Tag untuk change set.

object

No

Tag untuk change set.

Key

string

No

Kunci tag untuk stack.

Nilai N berkisar dari 1 hingga 20.

Catatan
  • Parameter Tags bersifat opsional. Jika Anda menentukan Tags, Anda juga harus menentukan Tags.N.Key.

  • Tag tersebut disebarkan ke setiap resource stack yang mendukung tag. Untuk informasi selengkapnya, lihat Propagate tags.

usage

Value

string

No

Nilai tag untuk stack.

Nilai N berkisar dari 1 hingga 20.

Catatan

Tag tersebut disebarkan ke setiap resource stack yang mendukung tag. Untuk informasi selengkapnya, lihat Propagate tags.

test

ResourceGroupId

string

No

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 What is a resource group?.

rg-acfmxazb4ph6aiy****

TaintResources

array

No

Daftar resource yang akan ditandai sebagai dirty.

string

No

  • Untuk stack ROS, nilainya adalah nama resource, seperti my_vpc.

  • Untuk stack Terraform, nilainya adalah tipe resource dan nama resource, seperti alicloud_vpc.my_vpc

my_vpc

Untuk informasi tentang parameter permintaan umum, lihat Common parameters.

Elemen respons

Element

Type

Description

Example

object

ChangeSetId

string

ID change set.

e85abe0c-6528-43fb-ae93-fdf8de22****

RequestId

string

ID permintaan.

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

StackId

string

ID stack.

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

Contoh

Respons sukses

JSONformat

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

Kode kesalahan

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.