Publicado: Jan 11, 2023

Hoje, o AWS CloudFormation atualiza a transformação de extensão de linguagem para oferecer suporte a valores padrão e funções intrínsecas adicionais em Fn::FindInMap. Os clientes podem usar esses recursos para minimizar o tamanho dos modelos do CloudFormation e melhorar sua legibilidade. A transformação da linguagem estende a linguagem de modelo do CloudFormation com funções como Fn::Length e Fn::JsonToString, entre outras. Os clientes podem modularizar modelos em grupos com atributos diferentes em Parâmetros e Mapeamentos e usar Fn::FindInMap para fazer referência aos atributos desses grupos. Por exemplo, você pode usar Fn::FindInMap para o tipo de recurso do EC2 com uma seção de Mapeamentos contendo um único mapa, RegionMap, que associa AMIs às regiões da AWS para instâncias do EC2. Com esses aprimoramentos de linguagem, você pode usar funções intrínsecas, como Fn::Split, Fn::Select e outras em Fn::FindInMap. Anteriormente, Fn::FindInMap oferecia suporte apenas a funções intrínsecas Ref. Além disso, você pode definir valores padrão do tipo string ou lista em Fn::FindInMap. Para ver a lista de funções intrínsecas com suporte e saber mais sobre Fn:FindInMap, consulte o guia do usuário.

Você pode usar Fn::Select e Fn::Split com Fn::FindInMap para o tipo de recurso AWS::KMS::Key a fim de aplicar restrições de valor de parâmetros, como a propriedade KeyUsage. Você pode fazer isso com linhas de código, sem precisar declarar várias condições. Da mesma forma, você pode usar valores padrão em Fn::FindInMap para minimizar a necessidade de especificar todas as permutações possíveis de valores em um mapeamento. Por exemplo, você não precisa criar um mapeamento para cada região. Em vez disso, use valores padrão para especificar condições “diferente de”. Para ver esses e outros exemplos, consulte nosso repositório do GitHub.

Esses recursos estão disponíveis nas regiões Leste dos EUA (Ohio e N. da Virgínia), Oeste dos EUA (N. da Califórnia e Oregon), África (Cidade do Cabo), Ásia-Pacífico (Hong Kong, Jacarta, Mumbai, Osaka, Seul, Singapura, Sydney e Tóquio), Canadá (Central), China (Pequim) operada pela Sinnet e China (Ningxia), operada pela NWCD, Europa (Frankfurt, Irlanda, Londres, Milão, Paris e Estocolmo), Oriente Médio (Bahrein), América do Sul (São Paulo) e AWS GovCloud (EUA). 

Para saber mais sobre a transformação da extensão de linguagem, consulte a documentação do CloudFormation.

Para aprender os conceitos básicos de modelos para usar parâmetros e mapeamentos, consulte o guia de conceitos básicos.