全部产品
Search
文档中心

Resource Orchestration Service:Keluaran

更新时间:Jul 02, 2025

Bagian Keluaran digunakan untuk menentukan nilai-nilai yang dikembalikan oleh Resource Orchestration Service (ROS) saat operasi GetStack dipanggil. Sebagai contoh, jika ID instance Elastic Compute Service (ECS) didefinisikan sebagai keluaran, ID tersebut akan dikembalikan ketika operasi GetStack dijalankan.

Sintaks

Deklarasi keluaran mencakup nama dan deskripsi keluaran. Setiap keluaran dapat memiliki beberapa nilai yang dikembalikan dalam bentuk array. Contoh kode berikut mengilustrasikan sintaks bagian Keluaran:

Keluaran:
  Nama Keluaran 1:
    Deskripsi: deskripsi dari keluaran.
    Kondisi: kondisi yang menentukan apakah akan mengembalikan properti sumber daya tertentu.
    Nilai: ekspresi dari nilai keluaran.
    Label: alias dari keluaran.
  Nama Keluaran 2:
    Deskripsi: deskripsi dari keluaran.
    Kondisi: kondisi yang menentukan apakah akan mengembalikan properti sumber daya tertentu.
    Nilai:
      - Ekspresi 1 dari nilai keluaran.
      - Ekspresi 2 dari nilai keluaran.
      - ...
    Label: alias dari keluaran.
  • Nama: Nama keluaran yang mengidentifikasi keluaran tersebut dan harus unik dalam sebuah template.

  • Deskripsi: Deskripsi opsional untuk keluaran.

  • Nilai: Nilai wajib yang dikembalikan untuk properti sumber daya saat operasi GetStack dipanggil.

  • Kondisi: Kondisi opsional yang menentukan apakah sumber daya dibuat dan informasinya dikembalikan. Sumber daya hanya dibuat jika kondisi bernilai benar.

  • Label: Alias opsional untuk keluaran.

  • NoEcho: Menentukan apakah nilai parameter yang dikembalikan disamarkan. Jika NoEcho diatur ke true, ROS akan menyamarkan nilai tersebut sebagai tanda bintang (*).

  • Console.Url: URL konsol opsional yang ditampilkan pada tab Informasi Tumpukan halaman detail tumpukan.

Catatan

Di dalam nilai keluaran, Anda dapat mendefinisikan fungsi dan literal seperti angka, string, kamus, serta daftar. Anda juga dapat menggunakan Ref untuk mereferensikan nilai dan Fn::GetAtt untuk meminta nilai properti sumber daya.

Contoh

Pada contoh berikut, dua keluaran digunakan. Keluaran pertama adalah properti InstanceId dari WebServer, sedangkan keluaran kedua adalah properti PublicIp dan PrivateIp dari WebServer.

Keluaran:
  InstanceId:
    Nilai:
      Fn::GetAtt:
        - WebServer
        - InstanceId
  PublicIp & PrivateIp:
    Nilai:
      - Fn::GetAtt:
          - WebServer
          - PublicIp
      - Fn::GetAtt:
          - WebServer
          - PrivateIp

Pada contoh berikut, WebServer hanya dibuat jika kondisi yang ditentukan oleh MaxAmount bernilai benar.

ROSTemplateFormatVersion: '2015-09-01'
Parameter:
  MaxAmount:
    Jenis: Angka
    Default: 1
Kondisi:
  CreateWebServer:
    Fn::Not:
      Fn::Equals:
        - 0
        - Ref: MaxAmount
Sumber Daya:
  WebServer:
    Jenis: ALIYUN::ECS::InstanceGroup
    Kondisi: CreateWebServer
    Properti:
      ImageId: m-25l0r****
      InstanceType: ecs.t1.small
      MaxAmount:
        Ref: MaxAmount
Keluaran:
  WebServerIP:
    Kondisi: CreateWebServer
    Nilai:
      Fn::GetAtt:
        - WebServer
        - PublicIps

Pada contoh berikut, nilai keluaran dari berbagai jenis dikembalikan, termasuk daftar, kamus, fungsi, dan konstanta. Console.Url yang menentukan URL konsol layanan digunakan sebagai keluaran.

ROSTemplateFormatVersion: '2015-09-01'
Metadata: {}
Parameter:
  DictObjectParameter:
    Default:
      k2: v2
      k1: v1
    Jenis: Json
  NumberParameter:
    Default: 3,14
    Jenis: Angka
  StringParameter:
    Default: ecs.c1.large
    Jenis: String
  ArrayListParameter:
    Default:
      - xiaomi
      - xiaofeng
      - xiaoliang
    Jenis: Json
  EcsInstancePublicIp:
    Default: 1.1.X.X
    Jenis: String
Sumber Daya: {}
Keluaran:
  Console.Url:
    Deskripsi: Nilai Demo Url Konsol
    Nilai:
      Fn::Sub:
        - http://${EcsPublicIp}/elasticsearch-demo
        - EcsPublicIp:
            Ref: EcsInstancePublicIp
  ArrayList:
    Deskripsi: Nilai Keluaran Daftar
    Nilai:
      Ref: ArrayListParameter
  DictObject:
    Deskripsi: Nilai Keluaran Kamus
    Nilai:
      Ref: DictObjectParameter
  Angka:
    Deskripsi: Nilai Keluaran Angka
    Nilai:
      Ref: NumberParameter
  String:
    Deskripsi: Nilai Keluaran String
    Nilai:
      Ref: StringParameter

Pada contoh berikut, nilai keluaran didefinisikan untuk mengembalikan beberapa URL server web yang dipisahkan dengan koma (,).

ROSTemplateFormatVersion: '2015-09-01'
Parameter:
  WebServerAddress:
    Jenis: String
    Default: 192.168.1.1
    Label:
       
      en: WebServerAddress
Keluaran:
  WebServerAddress:
    Deskripsi:
       
      en: URL Server Web.
    Nilai:
      Fn::Sub:
        - http://${WebServerAddress}:80,http://${WebServerAddress}:8080,http://${WebServerAddress}:8881
        - WebServerAddress:
            Ref: WebServerAddress