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
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ros:CreateChangeSet |
create |
*Stack
Template
|
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:
|
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:
|
{"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:
Catatan Parameter ini hanya berlaku ketika ChangeSetType diatur ke UPDATE atau IMPORT. |
true |
| ChangeSetType |
string |
No |
Tipe change set. Nilai yang valid:
Jika Anda mengatur nilai ChangeSetType ke CREATE, ROS akan membuat stack baru. Stack tersebut berada dalam status Catatan
|
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:
|
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.
|
12 |
| DisableRollback |
boolean |
No |
Menentukan apakah akan menonaktifkan rollback ketika pembuatan stack gagal. Nilai yang valid:
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:
|
{"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:
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:
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: |
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 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:
|
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
|
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 |
|
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.