ALIYUN::ROS::CustomResource memungkinkan Anda membuat resource kustom.
Dalam templat ROS, Anda dapat menggunakan tipe resource ALIYUN::ROS::CustomResource atau Custom::String untuk mendefinisikan resource kustom.
Resource kustom memungkinkan Anda menulis logika konfigurasi kustom dalam templat ROS. ROS menjalankan logika ini selama operasi stack, seperti saat membuat, memperbarui, atau menghapus stack. Untuk informasi selengkapnya, lihat Ikhtisar resource kustom.
Resource kustom harus mengirimkan respons ke URL respons yang telah ditandatangani sebelumnya. Jika ROS tidak menerima respons tersebut, operasi stack akan gagal. ResponseURL memungkinkan respons melalui jaringan publik, sedangkan InnerResponseURL memungkinkan respons melalui jaringan pribadi Alibaba Cloud.
Sintaks
{
"Type": "ALIYUN::ROS::CustomResource",
"Properties": {
"ServiceToken": String,
"Timeout": Number,
"Parameters": Map
}
}Properti
Properti | Tipe | Wajib | Izinkan pembaruan | Deskripsi | Batasan |
ServiceToken | String | Ya | Tidak | Token layanan yang diberikan penyedia layanan kepada developer templat untuk mengakses layanan tersebut. Saat ini, didukung fungsi Function Compute, topik SMQ ( Simple Message Queue (formerly MNS) ) , antrian SMQ, serta HTTP & HTTPS. Panjangnya bisa mencapai 512 karakter. | Nilai yang valid:
Contoh:
|
Timeout | Number | Ya | Ya | Periode timeout bagi penyedia layanan kustom untuk memberikan respons. Satuan: detik. |
|
Parameters | Map | Tidak | Ya | Parameter yang akan diteruskan ke penyedia layanan kustom. Tentukan properti ini sesuai spesifikasi dari penyedia layanan kustom. | Tidak ada. |
Nilai kembali
Fn::GetAtt
Outputs: Data yang dikembalikan oleh penyedia layanan kustom, berupa objek map.
*: Kunci dalam map Outputs.
Contoh
ROSTemplateFormatVersion: '2015-09-01'
Resources:
CustomResource:
Type: ALIYUN::ROS::CustomResource
Properties:
ServiceToken: acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function
Parameters:
Key1: Value1
Key2: Value2
Timeout: 60
Parameters:
Parameters:
Type: Json
Description: Parameters to be passed to service provider.
Outputs:
Outputs:
Description: Output data received from service provider.
Value:
Fn::GetAtt:
- CustomResource
- Outputs{
"ROSTemplateFormatVersion": "2015-09-01",
"Resources": {
"CustomResource": {
"Type": "ALIYUN::ROS::CustomResource",
"Properties": {
"ServiceToken": "acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function",
"Parameters": {
"Key1": "Value1",
"Key2": "Value2"
},
"Timeout": 60
}
}
},
"Parameters": {
"Parameters": {
"Type": "Json",
"Description": "Parameters to be passed to service provider."
}
},
"Outputs": {
"Outputs": {
"Description": "Output data received from service provider.",
"Value": {
"Fn::GetAtt": [
"CustomResource",
"Outputs"
]
}
}
}
}Catatan
Menentukan nama untuk tipe resource kustom
Untuk resource kustom, Anda dapat menggunakan ALIYUN::ROS::CustomResource sebagai tipe resource atau menentukan nama tipe resource Anda sendiri, misalnya Custom::MyCustomResourceTypeName.
Nama tipe resource kustom dapat berisi huruf, angka, dan karakter khusus berikut:
_@-. Panjang nama maksimal 68 karakter, dan tidak dapat diubah selama pembaruan.Penggunaan nama tipe resource kustom membantu Anda membedakan jenis resource kustom dalam stack secara cepat. Misalnya, jika Anda memiliki dua resource kustom yang melakukan dua tes ping berbeda, Anda dapat menentukan tipe resource sebagai Custom::PingTester alih-alih ALIYUN::ROS::CustomResource agar lebih mudah dikenali sebagai tester ping.
Mengganti resource kustom selama pembaruan
PhysicalResourceId suatu resource tidak dapat diganti selama pembaruan di ROS.
Mengambil nilai kembali
Untuk resource kustom, nilai kembali ditentukan oleh penyedia layanan kustom. Anda dapat mengambil nilai-nilai tersebut dari properti yang ditentukan penyedia dengan memanggil Fn::GetAtt.