Il s’agit du nouveau Guide de référence des modèles CloudFormation . Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le guide de AWS CloudFormation l'utilisateur.
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.
Fn::ForEach
La fonction intrinsèque Fn::ForEach prend une collection et un fragment, et applique les éléments de la collection à l’identifiant du fragment fourni. Fn::ForEach peut contenir d’autres fonctions intrinsèques, y compris Fn::ForEach elle-même, et être utilisée dans les sections Conditions, Outputs et Resources (y compris les propriétés des ressources). Elle ne peut être utilisé dans aucune des sections suivantes : AWSTemplateFormatVersion, Description, Metadata, Transform, Parameters, Mappings, Rules ou Hooks.
Si vous utilisez la fonction intrinsèque Fn::ForEach dans votre modèle, vous devez également utiliser AWS::LanguageExtensionsTransformation .
L'utilisation de la fonction intrinsèque Fn::ForEach ne modifie pas les quotas qui s'appliquent au modèle obtenu. Les quotas incluent la taille maximale et le nombre maximal de ressources d'un modèle. Pour plus d’informations, consultez Comprendre les quotas CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
Déclaration
JSON
"Fn::ForEach::LoopLogicalName": [
"Identifier",
["Value1","Value2"], // Collection
{"OutputKey": {OutputValue}}
]
YAML
'Fn::ForEach::LoopLogicalName':
- Identifier
- - Value1 # Collection
- Value2
- 'OutputKey':
OutputValue
Paramètres
- Nom logique de la boucle
-
ID logique de la boucle. Le nom doit être unique dans le modèle et ne doit entrer en conflit avec aucune valeur d’ID logique dans la section
Resourcesdu modèle. Ce nom n’apparaît pas dans la sortie transformée. Il sert uniquement de référence interne dans le modèle CloudFormation. - Identifiant
-
Identifiant de l’espace réservé qui est remplacé dans les paramètres
OutputKeyetOutputValue. Toutes les instances de${Identifier}ou&{Identifier}dans les paramètresOutputKeyetOutputValuesont remplacées par les valeurs du paramètreCollection. - Collection
-
La collection de valeurs sur laquelle itérer. Il peut s'agir d'un tableau dans ce paramètre, ou il peut s'agir d'une fonction intrinsèque Ref à
CommaDelimitedList. Lors de l’utilisation de&{Identifier}, des caractères non alphanumériques peuvent être transmis dansCollection. - Clé de sortie
-
Clé apparaissant dans le modèle transformé.
${Identifier}ou&{Identifier}doivent être inclus dans le paramètreOutputKey. Par exemple, siFn::ForEachest utilisé dans la sectionResourcesdu modèle, il s’agit de l’ID logique généré pour chaque ressource.La syntaxe
&{}autorise l’utilisation de caractères non alphanumériques dansCollectionau sein du paramètreOutputKey. Pour en voir un exemple, consultez Transmission de caractères non alphanumériques dans Collection pour Fn::ForEach. - Valeur de sortie
-
Valeur répliquée dans le modèle transformé pour chaque élément du paramètre
Collection. Par exemple, si la fonction intrinsèqueFn::ForEachest utilisée dans la sectionResourcesdu modèle, il s’agit du fragment de modèle répété pour configurer chaque ressource.
Valeur renvoyée
Objet développé qui contient le fragment d'objet répété une fois pour chaque élément de la collection, où l'identifiant du fragment est remplacé par l'élément de la collection.
Fonctions prises en charge
Vous pouvez utiliser les fonctions suivantes dans la fonction intrinsèque Fn::ForEach.
-
Fonctions de condition :
Exemples
Vous trouverez des exemples pour les sections Conditions, Outputs et Resources dans Exemples.