View a markdown version of this page

Validação de modelos com cfn-lint - AWS CloudFormation

Validação de modelos com cfn-lint

O CloudFormation Linter (cfn-lint) compara os modelos JSON e YAML com os esquemas do provedor de recursos do CloudFormation e com as regras adicionais. Ele pode encontrar propriedades de recursos inválidas, valores incompatíveis e problemas comuns antes do envio de um modelo para o CloudFormation.

O código-fonte, as notas da versão, as configurações e a lista completa de regras estão disponíveis no repositório cfn-lint no GitHub.

Instalar o cfn-lint

Instale cfn-lint do Python Package Index (PyPI):

python3 -m pip install cfn-lint

No macOS, você também pode instalá-lo com o Homebrew:

brew install cfn-lint

Para saber as versões compatíveis do Python e outros métodos de instalação, consulte as instruções de instalação no GitHub.

Executar cfn-lint

Aprovar um ou mais caminhos de modelo no comando:

cfn-lint template.yaml cfn-lint template-one.yaml template-two.json

Para verificar modelos em mais de uma Região da AWS, use a opção --regions:

cfn-lint --regions us-east-1 us-west-2 -- template.yaml

O comando retorna um código de saída diferente de zero quando encontra problemas. Você pode usar esse comportamento para interromper uma compilação automatizada quando um modelo não for aprovado nas verificações selecionadas.

Configurar verificações

Use um arquivo .cfnlintrc, .cfnlintrc.yaml ou .cfnlintrc.yml para manter as configurações do projeto com seus modelos. Você pode usar esse arquivo para selecionar modelos, incluir ou ignorar verificações, escolher Regiões da AWS e configurar o comportamento das regras. Para conhecer todas as configurações, consulte Arquivo de configuração na documentação do projeto no GitHub.

Incluir cfn-lint em seu fluxo de trabalho

Você pode executar cfn-lint a partir de editores compatíveis, seja automaticamente antes de um commit do Git ou como parte de uma compilação automatizada. O CloudFormation Language Server também usa cfn-lint para mostrar os problemas enquanto você digita. Para saber a configuração do Language Server, consulte CloudFormation Language Server.

Para saber os plug-ins do editor, o GitHub Actions, a configuração pré-confirmação, as regras personalizadas e obter mais exemplos, consulte a documentação do projeto cfn-lint no GitHub.