All Products
Search
Document Center

:ValidateTemplate

Last Updated:May 29, 2026

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

OpenAPI Explorer secara otomatis menghitung nilai signature. Untuk kenyamanan Anda, kami menyarankan agar Anda memanggil operasi ini di OpenAPI Explorer. OpenAPI Explorer secara dinamis menghasilkan kode contoh operasi ini untuk berbagai SDK.

Parameter permintaan

ParameterTypeWajibContohDeskripsi
ActionStringYaValidateTemplate

Operasi yang ingin Anda lakukan. Tetapkan nilai ke ValidateTemplate.

TemplateURLStringTidakoss://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.

RegionIdStringTidakcn-hangzhou

ID wilayah tempat templat berada. Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah terbaru.

TemplateBodyStringTidak{"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.

ClientTokenStringTidak123e4567-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.

ValidationOptionStringTidakNone

Menentukan apakah akan mengaktifkan validasi tambahan untuk templat. Nilai default: None. Nilai yang valid:

  • None: tidak mengaktifkan validasi tambahan.
  • EnableTerraformValidation: menjalankan perintah terraform validate di Terraform CLI untuk mengaktifkan validasi tambahan pada Terraform template.
  • EnableFastTerraformValidation: menjalankan perintah yang mirip dengan perintah terraform validate di Terraform CLI untuk mengaktifkan validasi tambahan pada Terraform template.
    Catatan Dibandingkan dengan metode EnableTerraformValidation, metode EnableFastTerraformValidation memvalidasi templat dengan kecepatan lebih tinggi, tetapi tingkat integritasnya lebih rendah.

Untuk informasi selengkapnya tentang parameter permintaan umum, lihat Common parameters.

Parameter respons

ParameterTypeContohDeskripsi
DescriptionStringNo description

Deskripsi templat.

ParametersArray 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.

RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

ID permintaan.

OutputsArray of Output

Item output dari templat.

OutputKeyStringinstance_id

Nama dari output item.

DescriptionStringThe instance ID of my ECS.

Deskripsi dari output item.

LabelStringInstance ID

Alias dari output item.

ResourceTypesObject

Jenis-jenis resource yang digunakan dalam templat.

ResourcesArray of StringALIYUN::ECS::InstanceGroup

Jenis-jenis resource biasa.

DataSourcesArray of StringDATASOURCE::VPC::Vpcs

Jenis resource DataSource.

ResourcesArray of Resource

Resource biasa yang didefinisikan dalam templat.

Catatan
  • Untuk templat Resource Orchestration Service (ROS), resource yang definisinya memuat parameter Count tidak ditampilkan sebagai daftar.
  • Untuk templat Terraform, resource yang definisinya memuat parameter count atau for_each tidak ditampilkan sebagai daftar.
ResourceTypeStringALIYUN::ECS::InstanceGroup

Jenis resource reguler.

ResourcePathStringserver

Jalur sumber daya reguler. Dalam kebanyakan kasus, jalur sumber daya reguler sama dengan nama sumber daya tersebut.

LogicalResourceIdPatternStringserver

Pola pembentukan ID logis dari resource biasa.

Jika resource didefinisikan dalam templat ROS, aturan berikut berlaku:

  • Resource yang definisinya tidak mengandung parameter Count: Jika nama resource yang didefinisikan dalam templat adalah server, nilai parameter LogicalResourceIdPattern dan ResourcePath adalah server.
  • Resource yang definisinya mengandung parameter Count: Jika nama resource yang didefinisikan dalam templat adalah server, nilai parameter LogicalResourceIdPattern adalah server[*], dan nilai parameter ResourcePath adalah server.

Jika resource dan modules didefinisikan dalam templat Terraform, aturan berikut berlaku:

  • Resource dan module yang definisinya tidak mengandung parameter count atau for_each: Jika nama resource yang didefinisikan dalam templat adalah server, nilai parameter LogicalResourceIdPattern dan ResourcePath adalah server.
  • Resource dan module yang definisinya mengandung parameter count atau for_each: Jika nama resource yang didefinisikan dalam templat adalah server, nilai parameter LogicalResourceIdPattern adalah server[*], dan nilai parameter ResourcePath adalah server.

Contoh nilai parameter LogicalResourceIdPattern untuk resource dalam templat Terraform:

  • Nilai yang valid untuk parameter LogicalResourceIdPattern jika resource berada dalam root module:
    • server: Dalam kasus ini, parameter count atau for_each tidak terdapat dalam resource tersebut. Nilai parameter ResourcePath adalah server.
    • server[*]: Dalam kasus ini, parameter count atau for_each terdapat dalam resource tersebut. Nilai parameter ResourcePath adalah server.
  • Nilai yang valid untuk parameter LogicalResourceIdPattern jika resource berada dalam child module:
    • app.server: Dalam kasus ini, parameter count atau for_each tidak terdapat dalam module app maupun resource server. Nilai parameter ResourcePath adalah app.server.
    • app.server[*]: Dalam kasus ini, parameter count atau for_each terdapat dalam resource server, tetapi tidak dalam module app. Nilai parameter ResourcePath adalah app.server.
    • app[*].server: Dalam kasus ini, parameter count atau for_each terdapat dalam module app, tetapi tidak dalam resource server. Nilai parameter ResourcePath adalah app.server.
    • app[*].server[*]: Dalam kasus ini, parameter count atau for_each terdapat dalam module app dan resource server. Nilai parameter ResourcePath adalah app.server.
    • app.app_group[*].server: Dalam kasus ini, parameter count atau for_each terdapat dalam module app_group, tetapi tidak dalam module app maupun resource server. Nilai parameter ResourcePath adalah app.app_group.server. Module app_group merupakan child module dari module app.
UpdateInfoObject

Informasi pembaruan tentang stack tersebut.

ParametersAllowedToBeModifiedArray of Stringparam1

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.

ParametersCauseInterruptionIfModifiedArray of Stringparam1

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
  • Parameter ini hanya didukung untuk sejumlah kecil tipe resource.
  • Parameter ini hanya berlaku untuk perubahan yang dilakukan pada stack ROS.
ParametersConditionallyAllowedToBeModifiedArray of Stringparam2

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.

ParametersConditionallyCauseInterruptionIfModifiedArray of Stringparam2

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
  • Parameter ini hanya didukung untuk sejumlah kecil tipe resource.
  • Parameter ini hanya berlaku untuk perubahan yang dilakukan pada stack ROS.
ParametersNotAllowedToBeModifiedArray of Stringparam3

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.

ParametersUncertainlyAllowedToBeModifiedArray of Stringparam4

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.

ParametersUncertainlyCauseInterruptionIfModifiedArray of Stringparam4

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
  • Parameter ini hanya didukung untuk sejumlah kecil tipe resource.
  • Parameter ini hanya berlaku untuk perubahan yang dilakukan pada stack ROS.

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.