Publicado en: Jan 11, 2023

Hoy, AWS CloudFormation actualiza la transformación de extensiones de lenguaje para admitir valores predeterminados y funciones intrínsecas adicionales en Fn::FindInMap. Los clientes pueden usar estas funciones para minimizar el tamaño de sus plantillas de CloudFormation y mejorar su legibilidad. La transformación de lenguaje amplía el lenguaje de las plantillas de CloudFormation con funciones como Fn::Length, Fn::JSONToString y muchas más. Los clientes pueden modular sus plantillas en grupos con diferentes atributos en parámetros y mapeos, y usar Fn::findInMap para hacer referencia a los atributos de estos grupos. Por ejemplo, puede usar Fn::findInMap para el tipo de recurso EC2 con una sección de mapeos que contenga un único mapa, RegionMap, que asocia las AMI de las regiones de AWS a sus instancias de EC2. Con estas mejoras del lenguaje, puedes usar funciones intrínsecas como Fn::Split, Fn::Select y otras dentro de Fn::FindInMap. Anteriormente, Fn::FindInMap solo admitía funciones intrínsecas de Ref. Además, puede definir los valores predeterminados del tipo de cadena o lista en Fn::FindInMap. Para ver la lista de funciones intrínsecas admitidas y obtener más información sobre Fn::FindInMap, consulte la guía del usuario.

Puede utilizar Fn::Select y Fn::Split con Fn::FindInMap para el tipo de recurso AWS::KMS::Key con el fin de imponer restricciones a los valores de los parámetros, como la propiedad KeyUsage. Puede lograr esto en menos líneas de código, en lugar de declarar varias condiciones. Del mismo modo, puede utilizar los valores predeterminados en Fn::findInMap para minimizar la necesidad de especificar todas las posibles permutaciones de valores en un mapeo. Por ejemplo, no es necesario crear un mapeo para cada región sino que, en cambio, puede utilizar valores predeterminados para especificar condiciones que no son iguales. Para ver estos y otros ejemplos, consulte nuestro repositorio de GitHub.

Estas características se encuentran disponibles en Este de EE. UU. (Ohio y Norte de Virginia), Oeste de EE. UU. (Norte de California y Oregón), África (Ciudad del Cabo), Asia-Pacífico (Hong Kong, Yakarta, Bombay, Osaka, Seúl, Singapur, Sídney y Tokio), Canadá (centro), China (Pekín), operada por Sinnet, y China (Ningxia), operada por NWCD, Europa (Fráncfort, Irlanda, Londres, Milán, París y Estocolmo), Oriente Medio (Baréin), América del Sur (São Paulo) y AWS GovCloud (EE. UU.). 

Para obtener más información sobre la transformación de extensiones de lenguaje, consulte la documentación de CloudFormation.

Para conocer los conceptos básicos de las plantillas sobre cómo utilizar los parámetros y los mapeos, consulte nuestra guía de introducción.