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
Tópicos
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
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
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