Fn::FindInMap enhancements - AWS CloudFormation

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::FindInMap enhancements

La AWS::LanguageExtensions transformation améliore la fonctionnalité de la fonction Fn::FindInMap intrinsèque dans les CloudFormation modèles.

La Fn::FindInMap fonction est utilisée pour récupérer une valeur à partir d'un mappage défini dans la Mappings section d'un CloudFormation modèle. Cependant, la fonction Fn::FindInMap standard présente des limites, notamment l’impossibilité de gérer les mappages manquants ou d’utiliser une fonction Fn::FindInMap contenant certaines fonctions intrinsèques imbriquées.

La transformation AWS::LanguageExtensions répond à ces limites en introduisant les améliorations suivantes :

  • Prise en charge des valeurs par défaut : vous pouvez spécifier une valeur par défaut à renvoyer si aucun mappage n’est trouvé.

  • Prise en charge élargie des fonctions intrinsèques : vous pouvez également utiliser un plus large éventail de fonctions intrinsèques pour définir les champs de Fn::FindInMap, par rapport à la fonction Fn::FindInMap standard.

Déclaration

JSON

{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey", {"DefaultValue": "DefaultValue"} ] }

YAML

Syntaxe pour le nom complet de la fonction :

Fn::FindInMap: - MapName - TopLevelKey - SecondLevelKey - DefaultValue: DefaultValue

Syntaxe pour la forme courte :

!FindInMap - MapName - TopLevelKey - SecondLevelKey - DefaultValue: DefaultValue

Parameters

DefaultValue

La valeur qui Fn::FindInMap sera résolue si le TopLevelKey and/or SecondLevelKey n'est pas trouvé sur la MapName carte. Ce champ est facultatif.

Tous les paramètres MapName, TopLevelKey, SecondLevelKey et DefaultValue peuvent être des fonctions intrinsèques tant qu'ils peuvent être résolus en une valeur valide lors de la transformation.

Exemples

Les exemples suivants montrent comment définir les champs de Fn::FindInMap lorsque vous ajoutez la transformation AWS::LanguageExtensions.

Utilisation d’une valeur par défaut

L’exemple suivant illustre l’utilisation d’une valeur par défaut dans la fonction Fn::FindInMap.

JSON

{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "RegionMap", { "Ref": "AWS::Region" }, "InstanceType", { "DefaultValue": "t3.micro" } ] //... }

YAML

Transform: 'AWS::LanguageExtensions' #... !FindInMap - 'RegionMap' - !Ref 'AWS::Region' - 'InstanceType' - DefaultValue: t3.micro #...

Utilisation de fonctions intrinsèques pour définir la clé de premier niveau

L’exemple suivant illustre l’utilisation d’une fonction Fn::FindInMap avec les fonctions intrinsèques Fn::Select et Fn::Split vectorisées, afin de définir la clé de premier niveau.

JSON
{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "MyMap", { "Fn::Select": [ 0, { "Fn::Split": [ "|", { "Ref": "InputKeys" } ] } ] }, "SecondKey" ] //... }
YAML
Transform: 'AWS::LanguageExtensions' #... !FindInMap: [MyMap, !Select [0, !Split [|, !Ref InputKeys]], SecondKey] #...

Fonctions prises en charge

Vous pouvez utiliser les fonctions suivantes dans les paramètres des améliorations Fn::FindInMap: :

Ressources connexes

Pour plus d’informations et d’exemples sur l’utilisation de la fonction intrinsèque Fn::FindInMap, consultez Fn::FindInMap.

Pour plus d'informations sur la transformation AWS::LanguageExtensions, consultez AWS::LanguageExtensionsTransformation .