Um template do AWS CloudFormation é simplesmente um arquivo de texto em formato YAML ou JSON.
A seguir, abordaremos as 9 seções principais usadas em um template para definir e modificar os recursos necessários.
Versão do formato (AWSTemplateFormatVersion)
É aqui que você especifica a versão do formato do template. Os recursos do template podem variar dependendo de qual você escolher. Se você não escolher um, o padrão do CloudFormation será a versão mais recente.
Descrição (Description)
Use a área de descrição para adicionar comentários sobre o seu template, como sua finalidade.
Metadados (Metadata)
Use objetos JSON ou YAML nesta seção para fornecer mais detalhes sobre os recursos em seu template.
Parâmetros (Parameters)
Nesta seção, você declara os parâmetros que são passados para o template quando uma stack é criada ou atualizada. Dessa forma, você pode especificar valores exclusivos para uso nas propriedades dos recursos de sua stack e personalizar efetivamente um template sempre que for usado. Ele também permite que você use um único template em várias contas e regiões ou especifique informações exclusivas para o aplicativo ou a configuração que está sendo implantada.
Mapeamentos (Mappings)
Pode haver casos em que você queira adicionar lógica ao seu template. Com Mapeamentos, você pode usar um valor de entrada como uma condição que determina outro valor.
Condições (Conditions)
Condições são instruções que determinam se um recurso é criado ou se uma propriedade é atribuída a um valor quando uma stack é criada ou atualizada. Por exemplo, uma condição pode verificar se um valor é maior ou menor que outro valor e, com base no resultado, criar um recurso condicional. Isso dá ao mesmo template a flexibilidade para ser usado em diferentes ambientes.
Transformar (Transform)
Você pode especificar uma ou mais macros que permitem a reutilização de componentes de template. Eles são frequentemente usados para condensar ou simplificar seu código.
Recursos (Resources)
É aqui que você lista os recursos que serão criados pelo template. É também onde você especifica as propriedades necessárias para criar cada recurso.
Resultado (Output)
Nesta seção, você pode especificar os valores que deseja que sejam retornados e disponíveis após a criação da stack. Por exemplo, pode haver valores de saída que você precise ter à mão para importar para outras stacks ou você pode querer acesso fácil a uma saída específica, como uma URL criada no template.
Este conteúdo faz parte do Bootcamp Data Engineering com AWS & Cia