Menghilangkan drift stack dengan mendeteksi drift terlebih dahulu.
Deskripsi operasi
Batasan: Anda hanya dapat menghilangkan drift pada stack yang telah mengalami drift. Untuk itu, Anda harus terlebih dahulu memanggil operasi DetectStackDrift guna mendeteksi drift pada stack, lalu memanggil operasi GetStackDriftDetectionStatus untuk memeriksa status drift stack dan memastikan bahwa stack tersebut benar-benar mengalami drift, sebelum akhirnya memanggil operasi UpdateStackTemplateByResources untuk menghilangkan drift tersebut.
Pada topik ini, drift dihilangkan untuk stack dengan ID 4a6c9851-3b0f-4f5f-b4ca-a14bf691****. Stack tersebut dideploy di wilayah China (Hangzhou).
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ros:UpdateStackTemplateByResources |
update |
*stack
|
None | None |
Sintaks permintaan
POST /V2/UpdateStackTemplateByResources HTTP/1.1
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| StackId |
string |
Yes |
ID stack. |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
| DryRun |
boolean |
No |
Menentukan apakah hanya akan menampilkan pratinjau templat yang telah dikoreksi dalam permintaan ini. Nilai default: false. Nilai yang valid:
Catatan
Kami menyarankan Anda mengatur parameter DryRun ke true untuk melihat pratinjau templat yang telah dikoreksi. Jika konten templat sesuai harapan, atur parameter DryRun ke false untuk menjalankan koreksi. |
false |
| RegionId |
string |
Yes |
ID wilayah stack. Anda dapat memanggil operasi DescribeRegions untuk menanyakan daftar wilayah terbaru. |
cn-hangzhou |
| ClientToken |
string |
No |
Token client yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menghasilkan nilai ini dari sisi client, tetapi harus memastikan nilainya unik di antara permintaan yang berbeda. Panjang token maksimal 64 karakter dan dapat berisi huruf, angka, tanda hubung (-), serta garis bawah (_). Untuk informasi selengkapnya, lihat Cara memastikan idempotensi. |
123e4567-e89b-12d3-a456-42665544**** |
| TemplateFormat |
string |
No |
Format templat yang dikembalikan. Nilai default: JSON. Nilai yang valid:
|
JSON |
| LogicalResourceId |
array |
No |
ID logis resource. |
Vpc |
|
string |
No |
ID logis resource N, yang digunakan untuk memfilter resource. Koreksi templat hanya berlaku untuk resource dalam daftar ini. Secara default, semua resource yang mengalami drift akan dikoreksi. Jika daftar resource yang dikoreksi berisi resource dalam status DELETED, ROS mungkin akan menyesuaikan resource yang tidak ada dalam daftar tetapi mereferensikan resource yang dihapus tersebut guna memastikan kebenaran templat baru. |
WebServer |
Untuk informasi selengkapnya tentang parameter permintaan umum, lihat Parameter umum.
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
ID permintaan. |
B288A0BE-D927-4888-B0F7-B35EF84B6E6F |
| NewTemplateBody |
string |
Konten templat setelah dikoreksi. |
{\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test2\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}} |
| OldTemplateBody |
string |
Konten templat sebelum dikoreksi. |
{\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test1\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}} |
| Kode status HTTP | Kode error | Pesan error | Deskripsi |
| 400 | StackDriftDetectionNotAvailable | There is no complete drift detection for stack ({ID}). | Pesan error yang dikembalikan karena belum ada pendeteksian drift yang lengkap pada stack tersebut. ID menunjukkan ID stack. |
| 400 | StackAlreadyInSync | This is not need to correct stack drifts, stack ({ID}) is already in sync. | Pesan error yang dikembalikan karena tidak ada drift dan koreksi templat tidak diperlukan. ID menunjukkan ID stack. |
| 400 | CorrectStackDriftsFailure | {reason} | Pesan error yang dikembalikan karena stack tidak dapat dikoreksi. reason menunjukkan alasan spesifiknya. |
| 404 | StackNotFound | The Stack ({name}) could not be found. | Pesan error yang dikembalikan karena stack yang ditentukan tidak ditemukan. name menunjukkan nama atau ID stack. |
| 404 | ResourceNotFound | The Resource ({name}) could not be found in Stack {stack}. | Pesan error yang dikembalikan karena resource yang ditentukan tidak ditemukan dalam stack yang ditentukan. name menunjukkan nama resource, dan stack menunjukkan nama atau ID stack. |
Contoh
Respons sukses
JSONformat
{
"RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"NewTemplateBody": "{\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\", \\\"Resources\\\": {\\\"Vpc\\\": {\\\"Type\\\": \\\"ALIYUN::ECS::VPC\\\", \\\"Properties\\\": {\\\"VpcName\\\": \\\"test\\\", \\\"CidrBlock\\\": \\\"192.168.0.0/16\\\", \\\"Description\\\": \\\"test2\\\"}}}, \\\"Outputs\\\": {\\\"VpcId\\\": {\\\"Value\\\": {\\\"Fn::GetAtt\\\": [\\\"Vpc\\\", \\\"VpcId\\\"]}}}}",
"OldTemplateBody": "{\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\", \\\"Resources\\\": {\\\"Vpc\\\": {\\\"Type\\\": \\\"ALIYUN::ECS::VPC\\\", \\\"Properties\\\": {\\\"VpcName\\\": \\\"test\\\", \\\"CidrBlock\\\": \\\"192.168.0.0/16\\\", \\\"Description\\\": \\\"test1\\\"}}}, \\\"Outputs\\\": {\\\"VpcId\\\": {\\\"Value\\\": {\\\"Fn::GetAtt\\\": [\\\"Vpc\\\", \\\"VpcId\\\"]}}}}"
}
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.