Bagian Parameters dalam sebuah templat mendefinisikan nilai input yang ditentukan pengguna saat pembuatan stack, sehingga menjadikan templat fleksibel dan dapat digunakan kembali.
Sintaksis
Setiap parameter memiliki nama dan sekumpulan properti. Nama parameter hanya boleh terdiri dari huruf dan angka serta harus unik dalam satu templat. Gunakan properti Label untuk menetapkan alias.
Tabel berikut menjelaskan properti yang didukung.
|
Property |
Required |
Description |
|
Type |
Yes |
Tipe data parameter. Nilai yang valid:
Catatan
AllowedPattern tidak mendukung tipe |
|
Default |
No |
Nilai default suatu parameter. Jika tidak ada nilai yang ditentukan saat pembuatan stack, ROS akan menggunakan nilai default ini. Jika tidak ada nilai default yang didefinisikan, sistem akan melaporkan error. Catatan
Jika nilai default diatur ke |
|
AllowedValues |
No |
Nilai-nilai yang valid untuk suatu parameter. |
|
AllowedPattern |
No |
Ekspresi reguler untuk memvalidasi parameter bertipe String. Penerapan properti ini pada parameter non-String akan menyebabkan error. Tambahkan dua backslash (\\) sebelum setiap karakter khusus berikut:
Catatan
Tanda hubung (-) yang digunakan sebagai karakter pertama atau terakhir dalam rentang tidak perlu di-escape. Contoh: [a-z-]. |
|
MaxLength |
No |
Jumlah maksimum karakter yang diizinkan untuk parameter bertipe String. |
|
MinLength |
No |
Jumlah minimum karakter yang diperlukan untuk parameter bertipe String. |
|
MaxValue |
No |
Nilai numerik maksimum yang diizinkan untuk parameter bertipe Number. |
|
MinValue |
No |
Nilai numerik minimum yang diizinkan untuk parameter bertipe Number. |
|
NoEcho |
No |
Jika diatur ke |
|
Confirm |
No |
Mengharuskan nilai parameter dimasukkan dua kali ketika NoEcho diatur ke Catatan
Properti Confirm hanya dapat diatur ke |
|
Description |
Deskripsi suatu parameter. Mendukung nilai terlokalisasi:
Catatan
Konsol akan menampilkan deskripsi yang sesuai dengan pengaturan bahasa saat ini. |
|
|
ConstraintDescription |
No |
Pesan error yang ditampilkan ketika batasan parameter dilanggar. |
|
Label |
No |
Alias berkode UTF-8 untuk parameter. Dalam formulir web berbasis templat, nilai |
|
AssociationProperty |
No |
Secara otomatis memvalidasi nilai parameter dan menyediakan daftar opsi yang valid. Untuk informasi selengkapnya mengenai nilai AssociationProperty yang didukung oleh ROS beserta contohnya, lihat AssociationProperty and AssociationPropertyMetadata. |
|
AssociationPropertyMetadata |
No |
Peta yang membatasi AssociationProperty dan menyaring item yang cocok. Properti ini bertipe Map. Untuk informasi lebih lanjut mengenai korespondensi antara AssociationProperty dan AssociationPropertyMetadata beserta contohnya, lihat AssociationProperty and AssociationPropertyMetadata. |
|
TextArea |
No |
Apakah parameter mendukung jeda baris. Nilai yang valid:
Pada contoh berikut, parameter Content mendukung jeda baris:
|
|
Required |
No |
Apakah parameter bersifat wajib. Nilai yang valid:
Pada contoh berikut, parameter ECSInstanceId bersifat wajib.
Catatan
Properti Required hanya memengaruhi tampilan frontend dan tidak memberlakukan validasi backend. |
|
Placeholder |
No |
Petunjuk yang ditampilkan di bidang input untuk suatu parameter.
|
Contoh: Mendefinisikan parameter InstanceType
Misalnya, Anda membuat stack untuk aplikasi web yang terdiri dari satu instance SLB, dua instance ECS, dan satu instance ApsaraDB RDS. Anda dapat memilih tipe instance ECS yang berbeda sesuai kebutuhan workload. Kode berikut mendefinisikan parameter InstanceType dalam sebuah templat:
Parameters:
InstanceType:
Type: String
AllowedValues:
- ecs.t1.small
- ecs.s1.medium
- ecs.m1.medium
- ecs.c1.large
Default: ecs.t1.small
Label: ECS Instance Type
Description: Select an instance type. Default value: ecs.t1.small. Valid values: ecs.t1.small, ecs.s1.medium, ecs.m1.medium, and ecs.c1.large.
Dengan definisi ini, Anda dapat memilih nilai InstanceType yang berbeda setiap kali membuat stack. Jika parameter InstanceType tidak ditentukan, nilai default ecs.t1.small akan digunakan.
Kode berikut mereferensikan parameter InstanceType dalam definisi resource:
Webserver:
Type: ALIYUN::ECS::Instance
InstanceType:
Ref: InstanceType