All Products
Search
Document Center

Resource Orchestration Service:Parameters

Last Updated:Aug 22, 2026

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:

  • String: string. Contoh: "ecs.s1.medium".

  • Number: bilangan bulat atau bilangan titik mengambang. Contoh: 3.14.

  • CommaDelimitedList: daftar nilai yang dipisahkan koma. Gunakan Fn::Select untuk mengambil nilai berdasarkan indeks. Contoh: "80, foo, bar".

  • Json: string JSON. Contoh: {"foo": "bar"} atau [1, 2, 3].

  • Boolean: nilai boolean. Contoh: true atau false.

  • ALIYUN::OOS::Parameter::Value: parameter umum yang disimpan di Parameter Store CloudOps Orchestration Service (OOS). Untuk informasi selengkapnya, lihat Common parameters. Contoh: my_image.

  • ALIYUN::OOS::SecretParameter::Value: parameter terenkripsi yang disimpan di OOS Parameter Store (Encryption parameters). Contoh: my_password.

Catatan

AllowedPattern tidak mendukung tipe ALIYUN::OOS::Parameter::Value dan ALIYUN::OOS::SecretParameter::Value.

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 null, parameter tersebut dianggap kosong dan validasi dilewati.

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 true, ROS akan menyamarkan nilai parameter dengan tanda bintang (*) di tampilan pembuatan stack dan detail stack.

Confirm

No

Mengharuskan nilai parameter dimasukkan dua kali ketika NoEcho diatur ke true. Nilai default: false.

Catatan

Properti Confirm hanya dapat diatur ke true untuk parameter bertipe String yang properti NoEcho-nya bernilai true.

Description

Deskripsi suatu parameter. Mendukung nilai terlokalisasi:

  • zh-cn: deskripsi dalam bahasa Tiongkok.

  • en: deskripsi dalam bahasa Inggris.

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 Label dipetakan ke nama parameter.

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:

  • true

  • false (default)

Pada contoh berikut, parameter Content mendukung jeda baris:

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Content:
    Type: String
    TextArea: true
Outputs:
  TestContent:
    Value:
      Ref: Content

Required

No

Apakah parameter bersifat wajib. Nilai yang valid:

  • true: Parameter wajib diisi.

  • false: Parameter opsional.

Pada contoh berikut, parameter ECSInstanceId bersifat wajib.

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  CreateNewECS:
    Type: Boolean
    Label: Whether to Create New Instance
    Default: false
  ECSInstanceId:
    Type: String
    Required: true  # Gunakan Required untuk menentukan apakah parameter wajib diisi (efek frontend).
    Default: Null
    AssociationPropertyMetadata:
      Visible:
        Condition:
          Fn::Equals:
            - ${CreateNewECS}
            - false
Catatan

Properti Required hanya memengaruhi tampilan frontend dan tidak memberlakukan validasi backend.

Placeholder

No

Petunjuk yang ditampilkan di bidang input untuk suatu parameter.

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Placeholder:
    Type: String
    Placeholder:
      en: Placeholder

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