Fn::ForEach - AWS CloudFormation

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, Resources (y compris les propriétés des ressources). Elle ne peut pas être utilisée dans les sections Version de format, Description, Metadata, Transform, Parameters, Mappings, Rules ou Hooks. Pour obtenir des exemples, consultez Exemples.

Important

Vous devez utiliser la transformation Transformation AWS::LanguageExtensions pour utiliser la fonction intrinsèque Fn::ForEach.

Important

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 CloudFormation quotas.

Déclaration

JSON

"Fn::ForEach::UniqueLoopName": [ "Identifier", ["Value1","Value2"], // Collection {"OutputKey": {OutputValue}} ]

YAML

'Fn::ForEach::UniqueLoopName': - Identifier - - Value1 # Collection - Value2 - 'OutputKey': OutputValue

Paramètres

UniqueLoopName

Nom de cette boucle. Le nom doit être unique dans le modèle et ne doit pas entrer en conflit avec les valeurs d'ID logiques de la section Resources du modèle. Ce nom ne figure pas dans la sortie transformée.

Identifier

Identifiant que vous souhaitez remplacer dans les paramètres OutputKey et OutputValue qui représentent le fragment de modèle répliqué. Toutes les instances de ${Identifier} ou &{Identifier} dans les paramètres OutputKey et OutputValue sont remplacées par les valeurs du paramètre Collection.

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 dans la Collection.

OutputKey

La clé du modèle transformé. ${Identifier} ou &{Identifier} doit être inclus dans le paramètre OutputKey. Par exemple, si la fonction intrinsèque Fn::ForEach est utilisée dans la section Resources du modèle, il s'agit de l'ID logique de chaque ressource.

La syntaxe &{} permet d’utiliser des caractères non alphanumériques présents dans la Collection dans le paramètre OutputKey.

OutputValue

La valeur qui est répliquée dans le modèle transformé pour chaque élément du paramètre Collection. Par exemple, si la fonction intrinsèque Fn::ForEach est utilisée dans la section Resources du modèle, il s'agit du fragment de modèle qui est 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.

Exemples

Pour obtenir des exemples, consultez Exemples.