全部产品
Search
文档中心

Resource Orchestration Service:Tampilkan set parameter yang berbeda berdasarkan nilai dari sebuah parameter

更新时间:Jun 26, 2025

Saat membuat template, Anda mungkin ingin mengaitkan sebuah parameter dengan set parameter yang berbeda. Jika parameter memiliki beberapa nilai, Anda dapat mengonfigurasi set parameter yang berbeda berdasarkan nilai yang ditentukan untuk parameter tersebut. Topik ini menjelaskan cara menampilkan set parameter yang berbeda berdasarkan nilai dari sebuah parameter. Dalam contoh ini, parameter targetPeriodUnit dan targetPeriod ditampilkan berdasarkan nilai dari parameter targetInstanceChargeType.

Sintaksis Template

Anda dapat menentukan parameter AssociationProperty dan AssociationPropertyMetadata di bagian Parameters dari sebuah template sehingga set parameter yang berbeda ditampilkan berdasarkan nilai yang Anda tentukan untuk sebuah parameter. Dalam contoh ini, nilai dari parameter targetInstanceChargeType ditentukan. Untuk AssociationPropertyMetadata, Anda harus menentukan fungsi dalam Visible untuk menentukan apakah set parameter yang berbeda ditampilkan. Contoh kode berikut menunjukkan cara menentukan Visible:

Visible:
  Condition: Object #Satu atau lebih kondisi berdasarkan mana set parameter yang berbeda ditampilkan.

Informasi berikut menjelaskan fungsi yang dapat Anda tentukan untuk Condition dan contohnya:

  • Fungsi: "Fn::Equals": ['${targetInstanceChargeType}', "PostPaid"].

  • Fungsi: "Fn::Not": ${condition}.

  • Fungsi: "Fn::And": [${condition1}, ${condition2}, ...].

  • Fungsi: "Fn::Or": [${condition1}, ${condition2}, ...].

Contoh Template

Dalam contoh template berikut, AssociationProperty ditentukan untuk mendapatkan metode penagihan, dan AssociationPropertyMetadata ditentukan untuk menambahkan kondisi filter untuk set parameter yang berbeda. Dengan cara ini, konsol ROS dapat menyaring parameter saat Anda membuat sumber daya.

ROSTemplateFormatVersion: '2015-09-01'
Description:
  en: Template ini mendukung instance tunggal dengan gambar kustom, termasuk skenario menggunakan VPC, VSwitch, SecurityGroup yang ada atau membuat baru dan membuat ECS dengan model prabayar atau pascabayar.
Parameters:
  targetInstanceChargeType:
    Description:
      name-en: targetInstanceChargeType
    Type: String
    AssociationProperty: ChargeType
  targetPeriodUnit:
    Description:
      name-en: Unit periode langganan
    Type: String
    AllowedValues:
      - Minggu
      - Bulan
    Default: Bulan
    AssociationPropertyMetadata:
      Visible:
        Condition:
          Fn::Not:
            Fn::Equals:
              - ${targetInstanceChargeType}
              - PostPaid
  targetPeriod:
    Description:
      name-en: Periode langganan instance
      en: 'Nilai valid: Nilai valid ketika PeriodUnit disetel ke Minggu: 1, 2, 3, dan 4. Nilai valid ketika PeriodUnit disetel ke Bulan: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, dan 60.'
    Type: Number
    AllowedValues:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 12
      - 24
      - 36
      - 48
      - 60
    Default: 1
    AssociationPropertyMetadata:
      Visible:
        Condition:
          Fn::Not:
            Fn::Equals:
              - ${targetInstanceChargeType}
              - PostPaid

Parameter:

  • targetInstanceChargeType: metode penagihan. Parameter AssociationProperty disetel ke ChargeType. Dalam hal ini, konsol ROS menyaring parameter berdasarkan nilai dari parameter targetInstanceChargeType.

  • targetPeriodUnit: unit metode penagihan langganan. Parameter AssociationPropertyMetadata disetel ke {"Visible": {"Condition": {"Fn::Not": {"Fn::Equals": ["${targetInstanceChargeType}","PostPaid"]}}}}, yang menentukan bahwa parameter targetPeriodUnit ditampilkan jika parameter targetInstanceChargeType tidak disetel ke PostPaid.

    Catatan

    Nilai valid dari parameter targetInstanceChargeType adalah PrePaid dan PostPaid.

  • targetPeriod: durasi sumber daya langganan yang ingin Anda beli. Parameter AssociationPropertyMetadata disetel ke {"Visible": {"Condition": {"Fn::Not": {"Fn::Equals": ["${targetInstanceChargeType}","PostPaid"]}}}}, yang menentukan bahwa parameter targetPeriod ditampilkan jika parameter targetInstanceChargeType tidak disetel ke PostPaid.

Contoh GUI

Jika Anda memilih metode penagihan langganan saat menggunakan template di atas untuk membuat tumpukan, konsol ROS menampilkan parameter seperti pada gambar berikut.

targetInstanceChargeType