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

Lorsque vous ajoutez la AWS::LanguageExtensions transformation dans un AWS CloudFormation modèle, vous pouvez utiliser des fonctions intrinsèques pour définir les champs deFn::FindInMap. Vous pouvez également utiliser un nouveau champ facultatif pour renvoyer une valeur par défaut si aucun mappage n'est trouvé.

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

Pour plus d'informations sur la fonction intrinsèque Fn::FindInMap, consultez Fn::FindInMap.

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

Paramètres

DefaultValue

Valeur de résolution de Fn::FindInMap si TopLevelKey et/ou SecondLevelKey sont introuvables sur la carte MapName. 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.

Exemple

Voici un exemple d'utilisation de fonctions intrinsèques permettant de définir la clé de niveau supérieur :

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] #...

Voici un exemple d'utilisation des valeurs par défaut :

JSON

{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "InstanceConfiguration", { "Ref": "AWS::Region" }, "Type", { "DefaultValue": "m5.small" } ] //... }

YAML

Transform: 'AWS::LanguageExtensions' #... !FindInMap - 'InstanceConfiguration' - !Ref 'AWS::Region' - 'Type' - DefaultValue: m5.small #...

Fonctions prises en charge

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