Ketika pengembang template membuat tumpukan yang berisi resource kustom, Resource Orchestration Service (ROS) mengirimkan permintaan ke penyedia resource kustom. Bidang RequestType dalam permintaan diatur ke Buat.
Permintaan
Permintaan Buat mencakup bidang-bidang berikut:
RequestType
Bidang ini diatur ke Buat.
ResponseURL
URL publik yang telah ditandatangani. URL ini menerima respons dari penyedia resource kustom ke ROS.
IntranetResponseURL
URL internal yang telah ditandatangani. Anda dapat menggunakan URL ini di Elastic Compute Service (ECS). URL ini menerima respons dari penyedia resource kustom ke ROS.
StackId
ID tumpukan yang berisi resource kustom.
StackName
Nama tumpukan yang berisi resource kustom.
ResourceOwnerId
ID akun Alibaba Cloud tempat tumpukan dengan resource kustom dimiliki.
CallerId
ID akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) yang digunakan untuk melakukan operasi ini.
RegionId
ID wilayah dari tumpukan yang berisi resource kustom.
RequestId
ID unik dari permintaan.
ResourceType
Jenis resource yang dipilih oleh pengembang template untuk resource kustom dalam template. Nama jenis resource kustom dapat memiliki panjang hingga 68 karakter dan dapat berisi huruf, angka, garis bawah (_), at signs (@), dan tanda hubung (-).
LogicalResourceId
Nama (ID logis) yang ditentukan oleh pengembang template untuk resource kustom dalam template.
ResourceProperties
Bidang ini berisi parameter dalam bagian Properties dari permintaan yang dikirim oleh pengembang template. Isi tersebut didefinisikan oleh penyedia resource kustom.
Contoh:
{
"RequestType" : "Create",
"RequestId" : "unique id for this create request",
"ResponseURL" : "pre-signed-url-for-create-response",
"IntranetResponseURL" : "pre-signed-intranet-url-for-create-response",
"ResourceType" : "Custom::MyCustomResourceType",
"LogicalResourceId" : "name of resource in template",
"StackId" : "stack id",
"StackName" : "stack name",
"ResourceOwnerId": "resource owner id",
"CallerId": "caller id",
"RegionId": "region id",
"ResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}Respons
Berhasil
Ketika permintaan Buat dikirim, penyedia resource kustom harus mengirimkan respons yang mencakup bidang-bidang berikut ke ROS:
Status
Hanya SUCCESS yang dikembalikan.
RequestId
ID unik dari permintaan. Nilai respons ini harus disalin dari permintaan.
LogicalResourceId
Nama (ID logis) yang ditentukan oleh pengembang template untuk resource kustom dalam template. Nilai respons ini harus disalin dari permintaan.
StackId
ID tumpukan yang berisi resource kustom. Nilai respons ini harus disalin dari permintaan.
PhysicalResourceId
Nilai ini harus unik bagi penyedia resource kustom. Nilai tersebut dapat memiliki panjang hingga 255 byte. Nilai tersebut tidak boleh berupa string kosong dan harus identik untuk resource yang sama di semua respons.
Data
Opsional. Pasangan nama-nilai yang akan dikirim dalam respons. Anda dapat menggunakan fungsi Fn::GetAtt untuk mengakses nilai yang disediakan di sini berdasarkan nama dalam template.
Contoh:
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this create request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "stack id (copied from request)",
"PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor",
"Data" : {
"keyThatCanBeUsedInGetAtt1" : "data for key 1",
"keyThatCanBeUsedInGetAtt2" : "data for key 2"
}
}Gagal
Ketika permintaan Buat gagal, penyedia resource kustom harus mengirimkan respons yang mencakup bidang-bidang berikut ke ROS:
Status
Hanya FAILED yang dikembalikan.
Reason
Alasan kegagalan respons.
RequestId
ID unik dari permintaan. Nilai respons ini harus disalin dari permintaan.
LogicalResourceId
Nama (ID logis) yang ditentukan oleh pengembang template untuk resource kustom dalam template. Nilai respons ini harus disalin dari permintaan.
StackId
ID tumpukan yang berisi resource kustom. Nilai respons ini harus disalin dari permintaan.
Contoh:
{
"Status" : "FAILED",
"Reason" : "Required failure reason string",
"RequestId" : "unique id for this create request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "stack id (copied from request)"
}