Memvalidasi templat yang akan digunakan untuk membuat stack.
Topik ini memberikan contoh cara memvalidasi templat yang akan digunakan untuk membuat stack. Dalam contoh ini, parameter TemplateURL diatur ke oss://ros/template/demo.
Debugging
Parameter permintaan
| Parameter | Type | Wajib | Contoh | Deskripsi |
| Action | String | Ya | ValidateTemplate | Operasi yang ingin Anda lakukan. Tetapkan nilai ke ValidateTemplate. |
| TemplateURL | String | Tidak | oss://ros/template/demo | URL dari file yang berisi isi templat. URL tersebut harus mengarah ke templat yang berada di server web HTTP atau HTTPS, atau di bucket Object Storage Service (OSS), seperti oss://ros/template/demo atau oss://ros/template/demo?RegionId=cn-hangzhou. Isi templat dapat memiliki panjang maksimum 524.288 byte. Catatan Jika Anda tidak menentukan ID wilayah bucket OSS, nilai parameter RegionId akan digunakan. Anda hanya dapat menentukan salah satu dari parameter TemplateBody dan TemplateURL. Panjang URL dapat mencapai maksimum 1.024 byte. |
| RegionId | String | Tidak | cn-hangzhou | ID wilayah tempat templat berada. Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah terbaru. |
| TemplateBody | String | Tidak | {"ROSTemplateFormatVersion":"2015-09-01"} | Struktur yang berisi badan templat. Panjang badan templat harus antara 1 hingga 524.288 byte. Jika panjang badan templat melebihi batas atas tersebut, kami menyarankan Anda menambahkan parameter ke badan permintaan HTTP POST untuk mencegah kegagalan permintaan yang disebabkan oleh URL yang terlalu panjang. Anda hanya dapat menentukan salah satu dari parameter TemplateBody atau TemplateURL. |
| ClientToken | String | Tidak | 123e4567-e89b-12d3-a456-42665544**** | Token client yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menggunakan client untuk menghasilkan nilai tersebut, tetapi harus memastikan bahwa nilainya unik di antara permintaan yang berbeda. Panjang token dapat mencapai 64 karakter, dan dapat berisi huruf, angka, tanda hubung (-), serta garis bawah (_). Untuk informasi selengkapnya, lihat Ensure idempotence. |
| ValidationOption | String | Tidak | None | Menentukan apakah akan mengaktifkan validasi tambahan untuk templat. Nilai default: None. Nilai yang valid:
|
Untuk informasi selengkapnya tentang parameter permintaan umum, lihat Common parameters.
Parameter respons
| Parameter | Type | Contoh | Deskripsi |
| Description | String | No description | Deskripsi templat. |
| Parameters | Array of Object | [{"Description": "", "Label": "param_integer", "NoEcho": "false", "ParameterKey": "param_integer", "Type": "Number"},{ "Description": "", "Label": "param_float", "NoEcho": "false", "ParameterKey": "param_float", "Type": "Number"}] | Parameter-parameter dalam bagian Parameters pada templat. Bagian Parameters berisi parameter yang harus Anda tentukan saat menggunakan templat untuk membuat stack. Anda dapat menggunakan parameter tersebut untuk menentukan detail stack, seperti username, password, dan tipe instans Elastic Compute Service (ECS) di wilayah yang ditentukan. |
| RequestId | String | B288A0BE-D927-4888-B0F7-B35EF84B6E6F | ID permintaan. |
| Outputs | Array of Output | Item output dari templat. | |
| OutputKey | String | instance_id | Nama dari output item. |
| Description | String | The instance ID of my ECS. | Deskripsi dari output item. |
| Label | String | Instance ID | Alias dari output item. |
| ResourceTypes | Object | Jenis-jenis resource yang digunakan dalam templat. | |
| Resources | Array of String | ALIYUN::ECS::InstanceGroup | Jenis-jenis resource biasa. |
| DataSources | Array of String | DATASOURCE::VPC::Vpcs | Jenis resource DataSource. |
| Resources | Array of Resource | Resource biasa yang didefinisikan dalam templat. Catatan
| |
| ResourceType | String | ALIYUN::ECS::InstanceGroup | Jenis resource reguler. |
| ResourcePath | String | server | Jalur sumber daya reguler. Dalam kebanyakan kasus, jalur sumber daya reguler sama dengan nama sumber daya tersebut. |
| LogicalResourceIdPattern | String | server | Pola pembentukan ID logis dari resource biasa. Jika resource didefinisikan dalam templat ROS, aturan berikut berlaku:
Jika resource dan modules didefinisikan dalam templat Terraform, aturan berikut berlaku:
Contoh nilai parameter LogicalResourceIdPattern untuk resource dalam templat Terraform:
|
| UpdateInfo | Object | Informasi pembaruan tentang stack tersebut. | |
| ParametersAllowedToBeModified | Array of String | param1 | Parameter yang dapat dimodifikasi. Jika Anda hanya mengubah nilai parameter dalam template stack dan menggunakan template tersebut untuk memperbarui stack, tidak akan terjadi error validasi. |
| ParametersCauseInterruptionIfModified | Array of String | param1 | Parameter yang perubahannya menyebabkan gangguan layanan. Jika Anda hanya mengubah nilai parameter dalam template stack dan menggunakan template tersebut untuk memperbarui stack, gangguan layanan akan terjadi. Catatan
|
| ParametersConditionallyAllowedToBeModified | Array of String | param2 | Parameter yang dapat dimodifikasi dalam kondisi tertentu. Jika Anda hanya mengubah nilai parameter dalam template stack dan menggunakan template tersebut untuk memperbarui stack, nilai baru parameter tersebut akan menentukan apakah terjadi error validasi. |
| ParametersConditionallyCauseInterruptionIfModified | Array of String | param2 | Parameter yang perubahannya menyebabkan gangguan layanan dalam kondisi tertentu. Jika Anda hanya mengubah nilai parameter dalam template stack dan menggunakan template tersebut untuk memperbarui stack, nilai baru dan jenis pembaruan akan menentukan apakah gangguan layanan terjadi. Catatan
|
| ParametersNotAllowedToBeModified | Array of String | param3 | Parameter yang tidak dapat dimodifikasi. Jika Anda hanya mengubah nilai parameter dalam template stack dan menggunakan template tersebut untuk memperbarui stack, error validasi akan terjadi. |
| ParametersUncertainlyAllowedToBeModified | Array of String | param4 | Parameter yang dapat dimodifikasi dalam kondisi tidak pasti. Jika Anda hanya mengubah nilai parameter dalam template stack dan menggunakan template tersebut untuk memperbarui stack, lingkungan yang sedang berjalan menentukan apakah terjadi error validasi atau tidak. |
| ParametersUncertainlyCauseInterruptionIfModified | Array of String | param4 | Parameter yang perubahannya menyebabkan gangguan layanan dalam kondisi yang tidak pasti. Jika Anda hanya mengubah nilai parameter dalam template stack dan menggunakan template tersebut untuk memperbarui stack, lingkungan yang sedang berjalan menentukan apakah gangguan layanan terjadi atau tidak. Catatan
|
Contoh
Permintaan contoh
http(s)://ros.aliyuncs.com/?Action=ValidateTemplate
&TemplateURL=oss://ros/template/demo
&<Common request parameters>Respons sukses contoh
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<ValidateTemplateResponse>
<Description>No description</Description>
<Parameters>
<Description/>
<Label>param_integer</Label>
<NoEcho>false</NoEcho>
<ParameterKey>param_integer</ParameterKey>
<Type>Number</Type>
</Parameters>
<Parameters>
<Description/>
<Label>param_float</Label>
<NoEcho>false</NoEcho>
<ParameterKey>param_float</ParameterKey>
<Type>Number</Type>
</Parameters>
<RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
<Outputs>
<OutputKey>instance_id</OutputKey>
<Description>The instance ID of my ECS.</Description>
</Outputs>
<ResourceTypes>
<Resources>ALIYUN::ECS::InstanceGroup</Resources>
<DataSources>DATASOURCE::VPC::Vpcs</DataSources>
</ResourceTypes>
</ValidateTemplateResponse>JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"Description" : "No description",
"Parameters" : [ {
"Description" : "",
"Label" : "param_integer",
"NoEcho" : "false",
"ParameterKey" : "param_integer",
"Type" : "Number"
}, {
"Description" : "",
"Label" : "param_float",
"NoEcho" : "false",
"ParameterKey" : "param_float",
"Type" : "Number"
} ],
"RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"Outputs" : {
"OutputKey" : "instance_id",
"Description" : "The instance ID of my ECS."
},
"ResourceTypes" : {
"Resources" : "ALIYUN::ECS::InstanceGroup",
"DataSources" : "DATASOURCE::VPC::Vpcs"
}
}Kode kesalahan
Untuk daftar kode kesalahan, lihat Service error codes.
Kode kesalahan | Pesan kesalahan | Kode status HTTP | Deskripsi |
InvalidTemplate | {reason}. | 400 | Pesan error yang dikembalikan karena templat yang ditentukan tidak valid. reason menunjukkan penyebab error tersebut. |
IInvalidParameter | {reason}. | 400 | Pesan error yang dikembalikan karena parameter yang ditentukan dalam templat tidak valid. reason menunjukkan penyebab error tersebut. |