Memperbarui stack.
Nilai parameter dalam bagian Parameters bervariasi tergantung pada nilai yang Anda tetapkan untuk parameter UsePreviousParameters dalam permintaan. Jika Anda tidak menyertakan parameter yang didefinisikan dalam templat ke bagian Parameters, perhatikan hal berikut:
- UsePreviousParameters diatur ke false: Jika parameter templat memiliki nilai default, nilai tersebut akan digunakan. Jika tidak, Anda harus menentukan nilai untuk parameter templat dalam bagian Parameters.
- UsePreviousParameters diatur ke true: Jika Anda menentukan nilai untuk parameter templat saat membuat stack, nilai tersebut akan digunakan. Jika Anda membiarkan parameter templat kosong saat pembuatan stack tetapi parameter tersebut memiliki nilai default, nilai default tersebut akan digunakan.
Topik ini menjelaskan cara memperbarui stack. Dalam contoh ini, isi templat dari stack dengan ID 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** di wilayah China (Beijing) diperbarui menjadi {"ROSTemplateFormatVersion": "2015-09-01"}.
Debugging
Parameter permintaan
| Parameter | Tipe | Wajib | Contoh | Deskripsi |
| Action | String | Ya | UpdateStack | Operasi yang ingin Anda lakukan. Tetapkan nilainya ke UpdateStack. |
| StackId | String | Ya | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | ID stack. |
| ClientToken | String | Tidak | 123e4567-e89b-12d3-a456-42665544**** | Token client yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menggunakan client untuk menghasilkan nilai ini, tetapi pastikan bahwa nilainya 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 Ensure idempotence. |
| StackPolicyDuringUpdateBody | String | Tidak | {"Statement": [{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]} | Struktur yang berisi isi kebijakan stack pengganti sementara. Isi kebijakan harus berukuran 1 hingga 16.384 byte. Jika Anda ingin memperbarui resource yang dilindungi, Anda harus menentukan kebijakan stack pengganti sementara selama pembaruan. Jika Anda tidak menentukan kebijakan stack pengganti sementara, kebijakan yang sudah terkait dengan stack akan digunakan. Parameter ini hanya berlaku ketika parameter ChangeSetType diatur ke UPDATE. Anda hanya dapat menentukan salah satu dari parameter berikut:
|
| TimeoutInMinutes | Long | Tidak | 10 | Periode timeout untuk operasi pembaruan stack.
|
| TemplateBody | String | Tidak | {"ROSTemplateFormatVersion": "2015-09-01"} | Struktur yang berisi isi templat. Isi templat harus berukuran 1 hingga 524.288 byte. Jika panjang isi templat melebihi batas atas, kami sarankan Anda menambahkan parameter ke badan permintaan HTTP POST untuk mencegah kegagalan permintaan akibat URL yang terlalu panjang. Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, dan TemplateId. |
| StackPolicyURL | String | Tidak | oss://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. Ukuran file kebijakan maksimal 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 maksimal 1.350 byte. |
| StackPolicyDuringUpdateURL | String | Tidak | oss://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. Ukuran file kebijakan maksimal 16.384 byte. Catatan Jika Anda tidak menentukan ID wilayah bucket OSS, nilai parameter RegionId akan digunakan. Panjang URL maksimal 1.350 byte. Jika Anda ingin memperbarui resource yang dilindungi, Anda harus menentukan kebijakan stack pengganti sementara selama pembaruan. Jika Anda tidak menentukan kebijakan stack pengganti sementara, kebijakan yang sudah 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 | String | Tidak | {"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} | Struktur yang berisi isi kebijakan stack. Isi kebijakan harus berukuran 1 hingga 16.384 byte. Catatan Anda hanya dapat menentukan salah satu dari parameter StackPolicyBody dan StackPolicyURL. |
| UsePreviousParameters | Boolean | Tidak | true | Menentukan apakah akan menggunakan nilai yang ditentukan dalam permintaan sebelumnya untuk parameter yang tidak Anda tentukan dalam permintaan saat ini. Nilai valid:
|
| RegionId | String | Ya | cn-beijing | ID wilayah tempat stack dideploy. Anda dapat memanggil operasi DescribeRegions untuk mengambil daftar wilayah terbaru. |
| DisableRollback | Boolean | Tidak | false | Menentukan apakah akan melakukan rollback resource dalam stack jika pembaruan stack gagal. Nilai default: false. Nilai valid:
|
| TemplateURL | String | Tidak | oss://ros-template/demo | 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. Isi templat harus berukuran 1 hingga 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, dan TemplateId. |
| RamRoleName | String | Tidak | test-role | Nama role RAM. Resource Orchestration Service (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. Pastikan bahwa hak istimewa minimal diberikan kepada role RAM. Jika Anda tidak menentukan parameter ini, ROS akan mengasumsikan role RAM yang sudah terkait dengan stack. Jika tidak ada role RAM yang tersedia, ROS akan menggunakan kredensial temporary yang dihasilkan dari kredensial akun Anda. Panjang nama role RAM maksimal 64 byte. |
| ReplacementOption | String | Tidak | Disabled | Menentukan apakah akan mengaktifkan fitur pembaruan penggantian. Jika Anda tidak dapat mengubah properti resource, Anda dapat mengaktifkan fitur pembaruan penggantian untuk mengganti properti resource tersebut. Jika fitur pembaruan penggantian digunakan, resource yang ada akan dihapus dan resource baru akan dibuat. ID fisik resource baru berbeda dari ID fisik resource yang dihapus. Nilai default: Disabled. Nilai valid:
Catatan Perubahan memiliki prioritas lebih tinggi daripada pembaruan penggantian. |
| TemplateId | String | Tidak | 5ecd1e10-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, dan TemplateId. |
| TemplateVersion | String | Tidak | v1 | Versi templat. Parameter ini hanya berlaku ketika parameter TemplateId ditentukan. |
| Parameters.N.ParameterKey | String | Ya | Amount | Nama parameter N. Jika Anda tidak menentukan nama dan nilai parameter, ROS akan menggunakan nama dan nilai default dalam templat. Nilai maksimum N: 200. Catatan Parameter Parameters bersifat opsional. Jika Anda menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey dan Parameters.N.ParameterValue. |
| Parameters.N.ParameterValue | String | Ya | 12 | Nilai parameter N. Nilai maksimum N: 200. Catatan Parameter Parameters bersifat opsional. Jika Anda menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey dan Parameters.N.ParameterValue. |
| Tags.N.Key | String | Ya | usage | Kunci tag N yang ingin Anda tambahkan ke stack. Nilai valid N: 1 hingga 20. Catatan
|
| Tags.N.Value | String | Tidak | test | Nilai tag N yang ingin Anda tambahkan ke stack. Nilai valid N: 1 hingga 20. Catatan Tag stack akan dipropagasikan ke setiap resource yang mendukung fitur tag dalam stack. Untuk informasi selengkapnya, lihat Propagate tags. |
| Parallelism | Long | Tidak | 1 | 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. Catatan
|
| ResourceGroupId | String | Tidak | rg-acfmxazb4ph6aiy**** | ID kelompok sumber daya. |
| DryRun | Boolean | Tidak | false | Menentukan apakah hanya akan memvalidasi stack dalam permintaan. Nilai default: false. Nilai valid:
Catatan Saat tidak ada perubahan yang dilakukan selama pembaruan, aturan berikut berlaku: Jika Anda mengatur parameter DryRun ke false, kode kesalahan NotSupported akan dikembalikan. Jika Anda mengatur parameter DryRun ke true, tidak ada kesalahan yang dilaporkan. |
Untuk informasi selengkapnya tentang parameter permintaan umum, lihat Common parameters.
Parameter respons
| Parameter | Tipe | Contoh | Deskripsi |
| RequestId | String | B288A0BE-D927-4888-B0F7-B35EF84B6E6F | ID permintaan. |
| StackId | String | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | ID stack. |
| DryRunResult | Object | Hasil validasi. Parameter ini hanya dikembalikan jika parameter DryRun diatur ke true. |
|
| ParametersAllowedToBeModified | Array of String | param1 | Parameter yang dapat dimodifikasi. Jika Anda hanya mengubah nilai parameter dalam templat stack dan menggunakan templat tersebut untuk memperbarui stack, tidak akan terjadi kesalahan validasi. |
| ParametersConditionallyAllowedToBeModified | Array of String | param2 | Parameter yang dapat dimodifikasi dalam kondisi tertentu. Jika Anda hanya mengubah nilai parameter dalam templat stack dan menggunakan templat tersebut untuk memperbarui stack, nilai baru parameter tersebut menentukan apakah terjadi kesalahan validasi. |
| ParametersUncertainlyAllowedToBeModified | Array of String | param3 | Parameter yang dapat dimodifikasi dalam kondisi tidak pasti. Jika Anda hanya mengubah nilai parameter dalam templat stack dan menggunakan templat tersebut untuk memperbarui stack, lingkungan eksekusi aktual menentukan apakah terjadi kesalahan validasi. |
| ParametersNotAllowedToBeModified | Array of String | param4 | Parameter yang tidak dapat dimodifikasi. Jika Anda hanya mengubah nilai parameter dalam templat stack dan menggunakan templat tersebut untuk memperbarui stack, akan terjadi kesalahan validasi. |
| ParametersCauseInterruptionIfModified | Array of String | param1 | Parameter yang perubahannya menyebabkan gangguan layanan. Jika Anda hanya mengubah nilai parameter dalam templat stack dan menggunakan templat tersebut untuk memperbarui stack, akan terjadi gangguan layanan. Catatan
|
| ParametersConditionallyCauseInterruptionIfModified | Array of String | param2 | Parameter yang perubahannya menyebabkan gangguan layanan dalam kondisi tertentu. Jika Anda hanya mengubah nilai parameter dalam templat stack dan menggunakan templat tersebut untuk memperbarui stack, nilai baru dan tipe pembaruan menentukan apakah terjadi gangguan layanan. Catatan
|
| ParametersUncertainlyCauseInterruptionIfModified | Array of String | param3 | Parameter yang perubahannya menyebabkan gangguan layanan dalam kondisi tidak pasti. Jika Anda hanya mengubah nilai parameter dalam templat stack dan menggunakan templat tersebut untuk memperbarui stack, lingkungan eksekusi aktual menentukan apakah terjadi gangguan layanan. Catatan
|
Contoh
Permintaan contoh
https://ros.aliyuncs.com/?Action=UpdateStack
&RegionId=cn-beijing
&StackId=4a6c9851-3b0f-4f5f-b4ca-a14bf691****
&TemplateBody={"ROSTemplateFormatVersion": "2015-09-01"}
&<Common request parameters>
Respons sukses contoh
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<UpdateStackResponse>
<StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>
<RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
</UpdateStackResponse>
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 status HTTP |
Kode kesalahan |
Pesan kesalahan |
Deskripsi |
400 |
CircularDependency |
Circular Dependency Found: {reason}. |
Pesan kesalahan yang dikembalikan karena templat berisi dependensi melingkar. reason menunjukkan penyebab kesalahan. |
400 |
InvalidSchema |
{reason}. |
Pesan kesalahan yang dikembalikan karena format templat 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 templat 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 templat 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 templat 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 templat berisi bagian yang tidak valid. section menunjukkan nama bagian. |
400 |
InvalidTemplateVersion |
The template version is invalid: {reason}. |
Pesan kesalahan yang dikembalikan karena versi templat tidak valid. reason menunjukkan penyebab kesalahan. |
400 |
StackPolicyValidationFailed |
Action denied by stack policy: {reason}. |
Pesan kesalahan yang dikembalikan karena pembaruan 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 templat. 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 templat. 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. |
404 |
TemplateNotFound |
The Tempalte ({ ID }) could not be found. |
Pesan kesalahan yang dikembalikan karena templat tidak ada. ID menunjukkan ID templat. |
404 |
TemplateNotFound |
The Template { ID } with version { version } could not be found. |
Pesan kesalahan yang dikembalikan karena templat atau versi templat tidak ada. ID menunjukkan ID templat. version menunjukkan versi templat. |