Fn::FindInMap enhancements - AWS CloudFormation

Fn::FindInMap enhancements

Cuando agregue la transformación de AWS::LanguageExtensions a una plantilla de AWS CloudFormation, puede usar funciones intrínsecas para definir los campos de Fn::FindInMap. También puede utilizar un nuevo campo opcional para devolver un valor predeterminado si no se encuentra un mapeo.

Para obtener más información sobre la transformación de AWS::LanguageExtensions, consulte Transformación AWS::LanguageExtensions.

Para obtener más información acerca de la función intrínseca Fn::FindInMap, consulte Fn::FindInMap.

Declaración

JSON

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

YAML

Sintaxis del nombre de función completo:

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

Sintaxis de la forma abreviada:

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

Parámetros

DefaultValue

El valor que Fn::FindInMap resolverá si TopLevelKey o SecondLevelKey no se pueden encontrar en el mapa de MapName. Este campo es opcional.

Todos los parámetros MapName, TopLevelKey, SecondLevelKey y DefaultValue pueden ser una función intrínseca siempre que pueda resolverse en un valor válido durante la transformación.

Ejemplo

El siguiente es un ejemplo del uso de funciones intrínsecas para definir la clave de nivel superior:

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

A continuación se muestra un ejemplo, utilizando valores predeterminados:

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

Funciones compatibles

Puede utilizar las siguientes funciones en los parámetros de las mejoras de Fn::FindInMap::