All Products
Search
Document Center

Resource Orchestration Service:Fn::GetStackOutput

Last Updated:Jun 26, 2025

Fungsi bawaan Fn::GetStackOutput mengambil output dari sebuah tumpukan.

Deklarasi

  • JSON

    {
      "Fn::GetStackOutput": [
        Stack,
        OutputName,
        RegionId
      ]
    }
  • YAML

    • Sintaks untuk nama fungsi lengkap:

      Fn::GetStackOutput: Stack, OutputName, RegionId
    • Sintaks untuk bentuk pendek:

      !GetStackOutput [Stack, OutputName, RegionId]

Parameter

  • Stack: Diperlukan. Menentukan nama atau ID tumpukan. Nilai harus bertipe String.

  • OutputName: Diperlukan. Menentukan nama output dalam tumpukan. Nilai harus bertipe String.

  • RegionId: Opsional. Menentukan ID wilayah tumpukan. Nilai harus bertipe String. Jika tidak ditentukan, ID wilayah tumpukan yang dipanggil akan digunakan.

Nilai kembali

Output yang sesuai dengan parameter OutputName dari tumpukan. Tipe output bervariasi berdasarkan nilai output.

String kosong dikembalikan dalam kasus-kasus berikut:

  • Salah satu parameter yang diperlukan kosong.

  • Tumpukan tidak ada atau telah dihapus.

  • Tumpukan sedang berjalan atau gagal dihapus.

  • Output tidak ada.

Batasan

  • Hanya mendukung referensi satu arah. Contoh: A->B->C didukung, tetapi A->B->A atau A->A tidak didukung.

  • Kedalaman referensi maksimum yang didukung adalah 3. Contoh: A->B->C didukung, tetapi A->B->C->D->E tidak didukung.

Catatan

A, B, C, D, E mewakili nama output dalam sebuah tumpukan. Kedalaman referensi maksimum mewakili kedalaman referensi maksimum OutputName dalam fungsi Fn::GetStackOutput.

Template sampel

Berikut adalah template sampel untuk tumpukan stack_a, stack_b, dan stack_c. ID tumpukan tersebut adalah stack_a_id, stack_b_id, dan stack_c_id. Nilai output stack_a adalah stack_depth_3. Fungsi Fn::GetStackOutput dipanggil untuk mereferensikan nilai output stack_a untuk stack_b. Kemudian, fungsi Fn::GetStackOutput dipanggil untuk mereferensikan nilai output stack_b untuk stack_c. Akibatnya, nilai output stack_c adalah stack_depth_3.

  • stack_a

    ROSTemplateFormatVersion: '2015-09-01'
    Outputs:
    	OutputValueA:
      	Value: 'stack_depth_3'
  • stack_b

    ROSTemplateFormatVersion: '2015-09-01'
    Outputs:
    	OutputValueB:
      	Value: 
        	Fn::GetStackOutPut:
        	- stack_a_id
        	- OutputValueA
  • stack_c

    ROSTemplateFormatVersion: '2015-09-01'
    Outputs:
    	OutputValueC:
      	Value: 
        	Fn::GetStackOutPut:
        	- stack_b_id
        	- OutputValueB

Contoh

!GetStackOutput [4a6c9851-3b0f-4f5f-b4ca-a14bf691****, InstanceId]