ALIYUN::ROS::WaitConditionHandle digunakan untuk menerima sinyal. Anda dapat menggunakannya bersama dengan ALIYUN::ROS::WaitCondition untuk mengelola proses eksekusi suatu stack. Saat membuat instance Elastic Compute Service (ECS), sebuah sinyal dikirim selama eksekusi data pengguna.
Sintaksis
{
"Type": "ALIYUN::ROS::WaitConditionHandle",
"Properties": {
"Mode": String,
"Count": Integer
}
}Properti
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
Mode | String | Tidak | Ya | Mode di mana sistem menghapus sinyal yang ada sebelum sumber daya diperbarui. | Nilai valid:
|
Count | Integer | Tidak | Ya | Jika Anda menetapkan properti Mode ke Full, sistem menghapus sinyal yang ada yang ID-nya adalah bilangan bulat lebih besar dari nilai properti Count sebelum sumber daya diperbarui. | Nilai default: -1. Properti Count berlaku ketika kondisi berikut terpenuhi:
Jika properti Count berlaku, sistem menghapus sinyal yang ada yang ID-nya adalah bilangan bulat lebih besar dari nilai properti Count sebelum sumber daya diperbarui. Jika sinyal yang ID-nya bukan bilangan bulat ada, sumber daya gagal diperbarui. Catatan Dalam skenario di mana Anda ingin melakukan skalabilitas elastis dengan memperbarui stack, kami sarankan Anda menetapkan properti Count dalam ALIYUN::ROS::WaitConditionHandle ke nilai properti Count dalam ALIYUN::ROS::WaitCondition. |
Nilai kembali
Fn::GetAtt
CurlCli: Perintah cURL yang dihasilkan dari sumber daya dalam ALIYUN::ROS::WaitConditionHandle. Anda dapat menjalankan perintah ini untuk mengirim hasil eksekusi atau status data pengguna ke Resource Orchestration Service (ROS).
WindowsCurlCli: Awalan perintah cURL untuk Windows. Anda dapat menjalankan perintah ini untuk mengirim sinyal yang menunjukkan apakah eksekusi berhasil atau gagal. Windows tidak mendukung perintah cURL secara default, sehingga Anda harus menginstal curl.exe dan menambahkannya ke PATH sebelum menjalankan perintah. Gunakan
-d "{\"status\": \" SUCCESS \"}untuk menandakan keberhasilan dan-d "{\"status\": \" FAILURE \"}untuk menandakan kegagalan.PowerShellCurlCli: Awalan perintah cURL untuk PowerShell. Anda dapat menjalankan perintah ini untuk mengirim sinyal yang menunjukkan apakah eksekusi berhasil atau gagal. Cmdlet diperkenalkan pada PowerShell 3.0, sehingga Anda harus menggunakan versi 3.0 atau lebih baru. Gunakan
$PSVersionTable.PSVersionuntuk memeriksa nomor versi PowerShell. Tambahkan-Body '{"status": " SUCCESS "}untuk menandakan keberhasilan dan-Body '{"status": " FAILURE "}untuk menandakan kegagalan.Headers: Header permintaan HTTP POST. Anda dapat menggunakan header ini untuk mengirim sinyal yang menunjukkan apakah eksekusi berhasil atau gagal ke program Anda.
URL: URL permintaan HTTP POST. Anda dapat menggunakan URL ini untuk mengirim sinyal yang menunjukkan apakah eksekusi berhasil atau gagal ke program Anda.
Dalam badan permintaan CurlCli, WindowsCurlCli, dan PowerShellCurlCli, Anda dapat menggunakan parameter id dalam format STRING untuk menentukan ID sinyal.
Contoh:
-d "{\"status\": \" SUCCESS \", \"id\": \"test\"}".Jika sinyal memiliki ID yang sama, sinyal terbaru akan menimpa sinyal sebelumnya.
Jika Anda tidak menentukan ID sinyal, ROS akan menggunakan bilangan bulat sebagai ID sinyal. ID sinyal dihitung berdasarkan rumus berikut: ID Sinyal = Jumlah sinyal yang ada + 1.
Dalam badan permintaan CurlCli, WindowsCurlCli, dan PowerShellCurlCli, Anda dapat menggunakan parameter
reasondalam format STRING untuk menentukan alasan keberhasilan atau kegagalan eksekusi sinyal. Alasan tersebut akan muncul dalam acara stack yang mencatat notifikasi sinyal.Contoh:
-d "{\"status\": \" SUCCESS \", \"reason\": \"nginx is installed successfully.\"}".Setelah menentukan bidang
reason, konten yang diminta akan muncul dalam acara stack yang mencatat notifikasi sinyal.Dalam badan permintaan CurlCli, WindowsCurlCli, dan PowerShellCurlCli, Anda dapat menggunakan parameter
datadalam format STRING untuk menentukan data yang terkait dengan sinyal. Anda dapat menggunakan properti Data, ErrorData, atau JoinedErrorData dalam nilai kembali ALIYUN::ROS::WaitCondition untuk menanyakan data tersebut.Contoh:
-d "{\"id\" : \"ssh_pub_key\", \"data\" : \"$pub_key\"}".Anda dapat menggunakan parameter
statusuntuk menentukan tipe sinyal, sepertiSUCCESS,FAILURE, danWARNING. Informasi berikut menggambarkan tipe sinyal dalam urutan prioritas menurun, serta hubungan antara tipe sinyal dan hasil operasi pada sumber daya:Jika sinyal yang diterima adalah tipe
FAILURE, operasi gagal dilakukan pada sumber daya.Jika jumlah sinyal yang diterima kurang dari nilai properti Count dalam rentang waktu tertentu, operasi pada sumber daya habis waktu.
Jika jumlah sinyal yang diterima lebih besar dari atau sama dengan nilai properti Count dan semua sinyal adalah tipe
WARNING, operasi gagal dilakukan pada sumber daya.Dalam kasus lain, operasi pada sumber daya berhasil.