Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Outputs
La section facultative Outputs
déclare des valeurs de sortie que vous pouvez importer dans d'autres piles (pour créer des références entre piles), renvoyer dans une réponse (pour décrire des appels de pile) ou afficher dans la console AWS CloudFormation. Par exemple, vous pouvez générer le nom de compartiment S3 d'une pile pour faciliter la recherche du compartiment.
Important
CloudFormation n’édite ni n’obscurcit aucune information que vous incluez dans l’a section Sorties. Nous vous recommandons vivement de ne pas utiliser cette section pour produire des informations sensibles, telles que des mots de passe ou des secrets.
Les valeurs de sortie sont disponibles une fois l'opération de pile terminée. Les valeurs de sortie de pile ne sont pas disponibles lorsqu'un état de pile est dans l'un de ces IN_PROGRESS
états. Nous ne recommandons pas d'établir des dépendances entre un runtime de service et la valeur de sortie de la pile, car ces dernières peuvent ne pas être disponibles à tout moment.
Syntaxe
La section Outputs
se compose du nom de clé Outputs
, suivi d'un espace et d'un signe deux-points. Vous pouvez déclarer un maximum de 200 sorties dans un modèle.
L'exemple suivant illustre la structure de la section Outputs
.
JSON
Utilisez des accolades pour délimiter toutes les déclarations de sortie. Délimitez les différentes sorties avec des virgules.
"Outputs" : { "
Logical ID
" : { "Description" : "Information about the value
", "Value" : "Value to return
", "Export" : { "Name" : "Name of resource to export
" } } }
YAML
Outputs:
Logical ID
: Description:Information about the value
Value:Value to return
Export: Name:Name of resource to export
Champs de sortie
La section Outputs
peut inclure les champs suivants.
- ID logique
-
Identificateur de la sortie actuelle. L'ID logique doit être alphanumérique (
a–z
,A–Z
,0–9
) et ne doit correspondre à aucun autre ID logique dans le modèle. - Description (facultative)
-
Type
String
qui décrit la valeur de sortie. La valeur de la déclaration de la description doit être une chaîne littérale dont la taille doit être comprise entre 0 et 1024 octets. Vous ne pouvez pas utiliser une fonction ou un paramètre pour spécifier la description. - Valeur (obligatoire)
-
Valeur de la propriété retournée par la commande
aws cloudformation describe-stacks
. La valeur d'une sortie peut inclure des littéraux, des références de paramètre, des pseudo-paramètres, une valeur de mappage ou des fonctions intrinsèques. - Export (facultatif)
-
Nom de la sortie de ressource à exporter pour une référence entre piles.
Note
Les restrictions suivantes s'appliquent aux références entre piles :
-
Pour chaque Compte AWS, les noms
Export
doivent être uniques au sein d’une région. -
Il n’est pas possible de créer des références entre piles entre différentes régions. Vous pouvez utiliser la fonction intrinsèque
Fn::ImportValue
pour importer uniquement les valeurs qui ont été exportées dans la même région. -
Pour les sorties, la valeur de la propriété
Name
d'unExport
ne peut pas utiliser de fonctionsRef
ouGetAtt
qui dépendent d'une ressource.De même, la fonction
ImportValue
ne peut pas inclure de fonctionsRef
ouGetAtt
qui dépendent d'une ressource. -
Vous ne pouvez pas supprimer une pile si une autre pile fait référence à l'une de ses sorties.
-
Vous ne pouvez ni modifier ni supprimer une valeur de sortie référencée par une autre pile.
Vous pouvez utiliser des fonctions intrinsèques pour personnaliser la valeur
Name
d'une exportation. Les exemples suivants utilisent la fonctionFn::Join
.JSON
"Export" : { "Name" : { "Fn::Join" : [ ":", [ { "Ref" : "AWS::StackName" }, "AccountVPC" ] ] } }
YAML
Export: Name: !Join [ ":", [ !Ref "AWS::StackName", AccountVPC ] ]
-
Pour associer une condition à une sortie, définissez la condition dans la section Conditions
du modèle.
Exemples
Les exemples suivants illustrent la fonctionnement d'une sortie de pile.
Sortie de pile
Dans l'exemple suivant, la sortie nommée BackupLoadBalancerDNSName
renvoie le nom DNS pour la ressource associée à l'ID logique BackupLoadBalancer
uniquement lorsque la condition CreateProdResources
a la valeur true. (La deuxième sortie montre comment spécifier plusieurs sorties.)
JSON
"Outputs" : { "BackupLoadBalancerDNSName" : { "Description": "The DNSName of the backup load balancer", "Value" : { "Fn::GetAtt" : [ "BackupLoadBalancer", "DNSName" ]}, "Condition" : "CreateProdResources" }, "InstanceID" : { "Description": "The Instance ID", "Value" : { "Ref" : "EC2Instance" } } }
YAML
Outputs: BackupLoadBalancerDNSName: Description: The DNSName of the backup load balancer Value: !GetAtt BackupLoadBalancer.DNSName Condition: CreateProdResources InstanceID: Description: The Instance ID Value: !Ref EC2Instance
Sortie entre piles
Dans les exemples suivants, la sortie nommée StackVPC
retourne l'ID d'un VPC et exporte ensuite la valeur pour un référencement entre piles avec le nom VPCID
ajouté au nom de la pile.
JSON
"Outputs" : { "StackVPC" : { "Description" : "The ID of the VPC", "Value" : { "Ref" : "MyVPC" }, "Export" : { "Name" : {"Fn::Sub": "${AWS::StackName}-VPCID" } } } }
YAML
Outputs: StackVPC: Description: The ID of the VPC Value: !Ref MyVPC Export: Name: !Sub "${AWS::StackName}-VPCID"