Seções do modelo
Os modelos do CloudFormation são divididos em seções diferentes, e cada seção se destina a conter um tipo específico de informação. Algumas seções devem ser declaradas em uma ordem específica e, para outras, a ordem não importa. No entanto, à medida que você cria o modelo, pode ser útil usar a ordem lógica da lista a seguir, porque valores em uma seção podem fazer referência a valores de uma seção anterior.
Importante
Ao criar modelos, não use seções importantes duplicadas, por exemplo, a seção Resources
. Embora o CloudFormation possa aceitar o modelo, ele terá um comportamento indefinido ao processá-lo e poderá provisionar recursos incorretamente ou retornar erros inexplicáveis.
- Format Version (opcional)
-
A versão de modelo do CloudFormation com a qual o modelo é conforme.
- Description (opcional)
-
Uma sequência de texto que descreve o modelo. Esta seção deve sempre seguir a seção template format version.
- Metadata (opcional)
-
Os objetos que fornecem informações adicionais sobre o modelo.
- Parameters (opcional)
-
Os valores a serem passados para seu modelo no runtime (ao criar ou atualizar uma pilha). Você pode fazer referência a parâmetros nas seções
Resources
eOutputs
do modelo. - Rules (opcional)
-
Valida um parâmetro ou uma combinação de parâmetros repassados para um modelo durante uma criação de pilha ou atualização de pilha.
- Mappings (opcional)
-
Um mapeamento de chaves e valores associados que você pode usar para especificar valores de parâmetros condicionais, semelhante a uma tabela de pesquisa. Você pode vincular uma chave a um valor correspondente usando a função intrínseca
Fn::FindInMap
nas seçõesResources
eOutputs
. - Conditions (opcional)
-
As condições que controlam se determinados recursos são criados ou se determinadas propriedades de recursos são atribuídas a um valor durante a criação ou a atualização da pilha. Por exemplo, condicionalmente, você pode criar um recurso que depende de se a pilha é de um ambiente de teste ou de produção.
- Transform (opcional)
-
Especifica uma ou mais macros que deveriam ser aplicadas durante o processamento do modelo. Em aplicações sem servidor (também chamadas de aplicações do Lambda), especifique a versão do AWS Serverless Application Model (AWS SAM)
que deve ser usada. Quando você especifica uma transformação, você pode usar a sintaxe do AWS SAM para declarar recursos em seu modelo. O modelo define a sintaxe que você pode usar e como ela é processada. Você também pode usar a transformação
AWS::Include
para trabalhar com trechos de modelo que são armazenados separadamente do modelo principal do CloudFormation. Você pode armazenar seus arquivos de trechos em um bucket do Amazon S3 e, em seguida, reutilizar as funções em vários modelos. - Resources (obrigatório)
-
Especifica os recursos da pilha e suas propriedades, como uma instância do Amazon EC2 ou um bucket do Amazon S3. Você pode fazer referência a recursos nas seções
Resources
eOutputs
do modelo. - Outputs (opcional)
-
Descreve os valores que são retornados sempre que você visualiza as propriedades da pilha. Por exemplo, você pode declarar uma saída para o nome de um bucket do S3 e, em seguida, chamar o comando da describe-stacksAWS CLI para visualizar o nome.