Tous les produits
Search
Centre de documentation

Resource Orchestration Service:Fn::GetStackOutput

Dernière mise à jour :Aug 10, 2026

La fonction intrinsèque Fn::GetStackOutput permet d'interroger la sortie d'une pile.

Déclaration

  • JSON

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

    • Syntaxe du nom complet de la fonction :

      Fn::GetStackOutput: Stack, OutputName, RegionId
    • Syntaxe de la forme abrégée :

      !GetStackOutput [Stack, OutputName, RegionId]

Paramètres

  • Stack : Obligatoire. Nom ou ID de la pile. La valeur doit être de type String.

  • OutputName : Obligatoire. Nom d'une sortie définie dans la section Outputs de la pile. La valeur doit être de type String.

  • RegionId : Facultatif. ID de région de la pile référencée. La valeur doit être de type String. Par défaut, la région de la pile appelant la fonction est utilisée.

Valeur de retour

La valeur de la sortie identifiée par OutputName. Le type correspond à celui de la valeur de sortie.

Une chaîne vide est renvoyée dans les cas suivants :

  • Un paramètre obligatoire est vide.

  • La pile n'existe pas ou a été supprimée.

  • La pile est en cours d'exécution ou sa suppression a échoué.

  • La sortie spécifiée n'existe pas dans la pile.

Limites

  • Seules les références unidirectionnelles sont prises en charge. La pile A peut référencer la sortie de la pile B, et la pile B peut référencer la sortie de la pile C. En revanche, la pile B ne peut pas référencer la sortie de la pile A (ce qui créerait une référence circulaire) et une pile ne peut pas référencer sa propre sortie (par exemple, A→A n'est pas pris en charge).

  • La profondeur de référence maximale est de 3. Une chaîne A→B→C est prise en charge, mais pas A→B→C→D.

Remarque

A, B, C, D et E représentent le nom d'une sortie dans une pile. La profondeur de référence maximale correspond à la profondeur maximale de l'argument OutputName dans la fonction Fn::GetStackOutput.

Modèles d'exemple

L'exemple suivant présente trois piles (stack_a, stack_b et stack_c) où la sortie de chaque pile dépend de celle de la pile précédente. La sortie finale de stack_c correspond à stack_depth_3, la valeur initialement définie dans stack_a.

  • 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

Exemples

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