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 de plus amples informations, veuillez consulter 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 CloudFormation modèle Resources syntaxe 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 ${Identifier} de ou &{Identifier} dans les OutputValue paramètres OutputKey et sont remplacées par les valeurs du Collection paramètre.

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. Lorsque vous utilisez le&{Identifier}, des caractères non alphanumériques peuvent être transmis dans le. Collection

OutputKey

La clé du modèle transformé. ${Identifier}ou &{Identifier} doit être inclus dans le OutputKey paramètre. 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 autorise l'utilisation de caractères non alphanumériques dans le Collection paramètre. OutputKey Pour un exemple de cela, voirTransmission de caractères non alphanumériques dans le formulaire CollectionFn::ForEach.

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.