Publié le: Jan 11, 2023

Aujourd'hui, AWS CloudFormation met la transformation des extensions de langage à jour de manière à prendre en charge les valeurs par défaut et les fonctions intrinsèques supplémentaires dans Fn::FindInMap. Les clients peuvent utiliser ces fonctionnalités pour réduire la taille de leurs modèles CloudFormation et améliorer leur lisibilité. La transformation de langage étend le langage des modèles CloudFormation avec des fonctions telles que Fn::Length, Fn::JsonToString et bien plus encore. Les clients peuvent modulariser leurs modèles en groupes avec des attributs différents dans Paramètres et Mappages, et utiliser Fn::FindInMap pour faire référence aux attributs de ces groupes. Par exemple, vous pouvez utiliser Fn::FindInMap pour le type de ressource EC2 avec une section de Mappages contenant une seule carte, RegionMap, qui associe les AMI aux régions AWS et à vos instances EC2. Grâce à ces améliorations linguistiques, vous pouvez utiliser des fonctions intrinsèques telles que Fn::Split, Fn::Select, entre autres, dans Fn::FindInMap. Auparavant, Fn::FindInMap prenait en charge uniquement les fonctions intrinsèques Ref. De plus, vous pouvez définir des valeurs par défaut de type chaîne ou de liste dans Fn::FindInMap. Pour consulter la liste des fonctions intrinsèques prises en charge et en savoir plus sur Fn:FindInMap, consultez le guide de l'utilisateur.

Vous pouvez utiliser Fn::Select et Fn::Split avec Fn::FindInMap pour le type de ressource AWS::KMS::Key afin d'appliquer des contraintes de valeur de paramètres telles que la propriété KeyUsage. Vous y parviendrez avec moins de lignes de code, en évitant de déclarer plusieurs conditions. De même, vous pouvez utiliser les valeurs par défaut de Fn::FindInMap pour minimiser la nécessité de spécifier toutes les permutations possibles de valeurs dans un mappage. Par exemple, il n'est pas nécessaire de créer un mappage pour chaque région, vous pouvez plutôt utiliser des valeurs par défaut pour spécifier des conditions différentes. Pour consulter ces exemples et des exemples supplémentaires, reportez-vous à notre référentiel GitHub.

Ces fonctionnalités sont disponibles dans les régions USA Est (Ohio et Virginie du Nord), USA Ouest (Californie du Nord et Oregon), Afrique (Le Cap), Asie-Pacifique (Hong Kong, Jakarta, Mumbai, Osaka, Séoul, Singapour, Sydney et Tokyo), Canada (Centre), Chine (Beijing) exploitée par Sinnet et Chine (Ningxia) exploitée par NWCD, Europe (Francfort, Irlande, Londres, Milan, Paris, Espagne et Stockholm), Moyen-Orient (Bahreïn), Amérique du Sud (São Paulo) et AWS GovCloud (US). 

Pour en savoir plus sur la transformation des extensions de langage, consultez la documentation CloudFormation.

Pour connaître les bases des modèles et l'utilisation des paramètres et des mappages, consultez notre guide de démarrage.