Publié le: Jul 26, 2023

AWS CloudFormation annonce une fonctionnalité de mise en boucle avec la fonction intrinsèque Fn::ForEach. Avec Fn::ForEach, vous pouvez répliquer des parties de vos modèles avec un minimum de lignes de code. Vous pouvez utiliser Fn::ForEach pour simplifier la mise en page de votre modèle et permettre à vous et à vos pairs de revoir votre code plus facilement et plus rapidement. Fn::ForEach permet de réduire les erreurs humaines telles que la mise à jour de mauvaises propriétés ou le fait de ne pas mettre à jour plusieurs propriétés cibles dans votre modèle.

Pour utiliser Fn::ForEach, vous devez déclarer la transformation AWS::LanguageExtensions. La transformation des extensions de langage étend les fonctionnalités du langage de modèle JSON/YAML de base CloudFormation. Avec ce lancement, vous pouvez utiliser Fn::ForEach dans les sections Ressources, Propriétés des ressources, Conditions et Sorties de vos modèles. Par exemple, vous pouvez déclarer cinq instances d'AWS::DynamoDB::Table avec des noms d'identifiant uniques à l'aide de Fn::ForEach au lieu de répliquer les mêmes lignes de code. De plus, vous pouvez utiliser des boucles Fn::ForEach imbriquées et combiner Fn::ForEach avec d'autres fonctions intrinsèques telles que Fn::Join pour générer des modèles avancés. Par exemple, vous pouvez combiner des ressources telles que des VPC, des sous-réseaux et des passerelles de transit sous forme de boucles imbriquées pour créer une pile réseau. Reportez-vous au guide de l'utilisateur pour obtenir des exemples de modèles.

La fonction intrinsèque Fn::ForEach est disponible dans les régions AWS où CloudFormation est disponible. Reportez-vous au tableau des régions AWS pour voir les régions AWS dans lesquelles CloudFormation est disponible.

Fn::ForEach est le résultat de discussions ouvertes avec la communauté CloudFormation via notre référentiel Github Language Discussion. Nous remercions la communauté d'avoir partagé ses commentaires. Consultez le référentiel de discussions linguistiques pour demander des fonctionnalités linguistiques et laissez des commentaires sur les propositions de demande de commentaires (RFC) concernant de nouvelles fonctionnalités linguistiques.