全部产品
Search
文档中心

Resource Orchestration Service:Mengembangkan sebuah modul

更新时间:Jul 02, 2025

Mirip dengan template, modul adalah file teks JSON atau YAML yang dikodekan dalam UTF-8. Topik ini menjelaskan konsep dasar modul, termasuk konvensi penamaan, batasan, dan struktur.

Konvensi Penamaan

Modul mengikuti konvensi penamaan empat bagian berikut: MODULE::Organisasi::Layanan::KasusPenggunaan.

  • MODULE: Ini adalah nilai tetap.

  • Organisasi: Nama organisasi Anda.

    • Nama harus memiliki panjang minimal dua karakter dan dapat berisi huruf dan angka.

    • Nama tidak boleh berisi string huruf kecil berikut: alicloud, alibaba, atau aliyun.

    • Nama tidak boleh dimulai dengan string huruf kecil berikut: acs.

    • Nama tidak boleh diatur ke salah satu dari string huruf kecil berikut: ros, dev, test, atau debug.

  • Layanan: Nama layanan.

    Nama harus memiliki panjang minimal dua karakter dan dapat berisi huruf dan angka.

  • KasusPenggunaan: Nama sumber daya.

    Nama harus memiliki panjang minimal dua karakter dan dapat berisi huruf dan angka.

Catatan

Jika Anda mengatur Organisasi ke SHARE saat membuat modul, Anda harus mengatur Layanan ke ID akun Alibaba Cloud saat ini. Sebagai contoh, Anda dapat menentukan MODULE::SHARE::123456789::KasusPenggunaan dalam skenario ini.

Modul kustom untuk mana Organisasi diatur ke SHARE disebut sebagai modul bersama. Pengguna lain dapat melihat dan menggunakan modul bersama Anda, tetapi tidak dapat memodifikasi atau menghapusnya.

Batasan

  • Anda tidak dapat menentukan Transform dan Workspace dalam modul.

  • Anda hanya dapat menentukan Rules kosong dalam modul.

  • Anda dapat menyusun modul kustom hingga tiga tingkat kedalaman. Jika Anda menggunakan modul publik bersamaan dengan modul kustom, modul kustom tetap pada tiga tingkat kedalaman.

    Gambar berikut hanya menunjukkan modul publik yang disusun hingga empat tingkat kedalaman. ModuleA berada di Tingkat 1, ModuleB berada di Tingkat 2, ModuleC berada di Tingkat 3, dan ModuleD berada di Tingkat 4.

    image.png

Struktur Modul

ROSTemplateFormatVersion: '2015-09-01'
Description: Deskripsi modul. Bagian Description memberikan informasi seperti skenario, arsitektur, dan metode penggunaan modul. 
Metadata: 
# Metadata modul. Bagian Metadata memberikan informasi seperti tata letak untuk visualisasi. 
Parameters: 
# Parameter modul. Saat menggunakan modul, Anda dapat menentukan nilai parameter dari template atau modul yang berisi modul tersebut. 
Mappings: 
# Pemetaan modul, yang berada dalam struktur bersarang. 
Conditions: 
# Kondisi modul, yang menentukan apakah sistem dapat membuat sumber daya. 
Resources: 
# Detail sumber daya atau modul anak yang terkandung dalam modul. Detail mencakup properti dan asosiasi. 
Outputs: 
# Output modul. Output dapat digunakan oleh template atau modul yang berisi modul tersebut.

(Wajib) ROSTemplateFormatVersion

Bagian modul mematuhi persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Wajib) ROSTemplateFormatVersion.

(Opsional) Description

Bagian modul sesuai dengan persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Opsional) Description.

Kami merekomendasikan agar Anda menentukan Description. Anda dapat menentukan beberapa bahasa dalam Description. Deskripsi dapat membantu pengguna menggunakan modul dengan cara yang tepat. Tab Module Content pada halaman detail modul menampilkan deskripsi. Contoh berikut memberikan contoh tentang cara menentukan beberapa bahasa dalam Description:

Description:
  en: |-
    This is a demo.

(Opsional) Metadata

Bagian modul mengikuti persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Opsional) Metadata.

Saat ROS melakukan operasi tumpukan dan memproses serta menghasilkan template, bagian Metadata dalam modul diabaikan.

Untuk memastikan penggunaan modul yang tepat, kami merekomendasikan agar Anda menambahkan Metadata ke modul. Bagian Metadata modul sepenuhnya disalin ke template contoh yang ditampilkan di tab Sample Template pada halaman detail modul. Ini mengoptimalkan efek tampilan template.

(Opsional) Parameters

Bagian modul memenuhi persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Opsional) Parameters.

Parameter modul tidak mendukung penegakan batasan, termasuk parameter Type, AllowedValues, AllowedPattern, MaxLength, MinLength, MaxValue, dan MinValue.

Jika parameter modul dibiarkan kosong dan memiliki nilai default yang ditentukan oleh Default, nilai default akan digunakan saat ROS melakukan operasi tumpukan dan memproses serta menghasilkan template.

Batasan: Nama parameter tidak boleh berisi titik (.) atau titik dua (:).

Konfigurasi yang direkomendasikan:

  • Untuk memastikan penggunaan modul yang tepat, Anda dapat mengonfigurasi properti parameter modul yang selengkap mungkin dengan properti parameter template.

    • Tab Properties pada halaman detail modul menampilkan semua properti dalam korespondensi satu-satu dengan parameter modul. Data di kolom Type, Required, Description, dan Constraint setiap properti dihasilkan berdasarkan properti parameter yang dikonfigurasi dalam konten modul.

    • Tab Sample Template pada halaman detail modul menampilkan template contoh modul. Dalam template, bagian Parameters dihasilkan berdasarkan properti parameter yang dikonfigurasi dalam konten modul. Ini memastikan validitas pengaturan parameter dan mengoptimalkan efek tampilan template.

  • Anda dapat mengonfigurasi properti yang mendukung konfigurasi multibahasa untuk parameter modul, seperti properti Description dan Label.

(Opsional) Mappings

Bagian modul mematuhi persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Opsional) Mappings.

Batasan: Nama lengkap pemetaan tidak boleh diduplikasi. Untuk informasi lebih lanjut tentang nama lengkap, lihat Referensi kondisi dalam modul.

(Opsional) Conditions

Modul ini mengikuti persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Opsional) Conditions.

Batasan:

  • Nama kondisi tidak boleh berisi ampersand (&).

  • Nama lengkap kondisi tidak boleh diduplikasi. Untuk informasi lebih lanjut tentang nama lengkap, lihat Referensi kondisi dalam modul.

(Opsional) Resources

Bagian modul sesuai dengan persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Opsional) Resources.

Anda dapat menetapkan DependsOn suatu sumber daya ke asterisk (*). Dalam hal ini, saat ROS melakukan operasi tumpukan dan memproses serta menghasilkan template, sumber daya tersebut akan bergantung pada semua sumber daya yang nilai DependsOn-nya tidak diatur ke asterisk (*).

Batasan:

  • Nama logis suatu sumber daya tidak boleh berisi titik (.).

  • Anda tidak dapat menggunakan tipe sumber daya ALIYUN::ROS::Stack, ALIYUN::ROS::StackGroup, dan ALIYUN::ROS::StackInstances di bagian Resources.

  • Anda tidak dapat menggunakan fungsi Fn::GetStackOutput di bagian Resources.

  • Anda tidak dapat menentukan Metadata dan Count untuk modul anak.

  • Anda harus menentukan Version untuk modul anak.

  • Nama logis lengkap sumber daya atau modul tidak boleh diduplikasi. Untuk informasi lebih lanjut tentang nama logis lengkap, lihat Referensi sumber daya dalam modul.

  • Anda hanya dapat menggunakan modul publik atau modul bersama lainnya dalam modul bersama.

(Opsional) Outputs

Bagian modul sesuai dengan persyaratan yang sama dengan bagian template. Untuk informasi lebih lanjut, lihat (Opsional) Outputs.

Batasan:

  • Nama output tidak boleh berisi titik (.).

  • Anda tidak dapat menggunakan fungsi Fn::GetStackOutput di bagian Outputs.

Konfigurasi yang direkomendasikan: Anda dapat menentukan Description untuk setiap output.

  • Tab Return Values pada halaman detail modul menampilkan semua nilai kembali dalam korespondensi satu-satu dengan output yang dikonfigurasi dalam konten modul. Data di kolom Deskripsi nilai kembali dihasilkan berdasarkan Description yang ditentukan untuk output dalam konten modul.

  • Tab Sample Template pada halaman detail modul menampilkan template contoh modul. Dalam template, bagian Outputs dihasilkan berdasarkan output yang dikonfigurasi dalam konten modul. Ini mengoptimalkan efek tampilan template.