

# Validación de plantillas con `cfn-lint`
<a name="cfn-lint"></a>

CloudFormation Linter (`cfn-lint`) compara las plantillas JSON y YAML con los [esquemas de proveedores de recursos de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/resource-type-schemas.html) y reglas adicionales. Puede encontrar propiedades de recursos no válidas, valores no admitidos y problemas comunes antes de enviar una plantilla a CloudFormation.

El código de origen, las notas de la versión, la configuración y la lista completa de reglas están disponibles en el [repositorio cfn-lint en GitHub](https://github.com/aws-cloudformation/cfn-lint).

**Topics**
+ [Instalar `cfn-lint`](#cfn-lint-install)
+ [Ejecuta `cfn-lint`](#cfn-lint-run)
+ [Configuración de comprobaciones](#cfn-lint-configure)
+ [Agregue `cfn-lint` a su flujo de trabajo.](#cfn-lint-integrate)

## Instalar `cfn-lint`
<a name="cfn-lint-install"></a>

Instale `cfn-lint` desde el Índice de paquetes de Python (PyPI):

```
python3 -m pip install cfn-lint
```

En macOS, puede instalarlo con Homebrew:

```
brew install cfn-lint
```

Para ver las versiones de Python compatibles y otros métodos de instalación, consulte las [instrucciones de instalación](https://github.com/aws-cloudformation/cfn-lint#install) en GitHub.

## Ejecuta `cfn-lint`
<a name="cfn-lint-run"></a>

Pase una o más rutas de plantilla al comando:

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

Para revisar plantillas en más de una Región de AWS, utilice la opción `--regions`:

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

El comando devuelve un código de salida distinto de cero cuando encuentra problemas. Puede usar este comportamiento para detener una compilación automática cuando una plantilla no supere las comprobaciones seleccionadas.

## Configuración de comprobaciones
<a name="cfn-lint-configure"></a>

Utilice un archivo `.cfnlintrc`, `.cfnlintrc.yaml` o `.cfnlintrc.yml` para conservar la configuración del proyecto con sus plantillas. Puede usar este archivo para seleccionar plantillas, incluir o ignorar las comprobaciones, elegir Regiones de AWS y configurar el comportamiento de las reglas. Para ver todos los ajustes, consulte el [archivo de configuración](https://github.com/aws-cloudformation/cfn-lint#config-file) en la documentación del proyecto en GitHub.

## Agregue `cfn-lint` a su flujo de trabajo.
<a name="cfn-lint-integrate"></a>

Puede ejecutar `cfn-lint` desde editores compatibles, automáticamente antes de una confirmación de Git o como parte de una compilación automática. El servidor de lenguaje de CloudFormation también usa `cfn-lint` para mostrar los problemas mientras usted escribe. Para obtener información sobre la configuración del servidor de lenguaje, consulte [Servidor de lenguaje de CloudFormation](ide-extension.md).

Para ver los complementos del editor, las acciones de GitHub, la configuración previa a la confirmación, las reglas personalizadas y más ejemplos, consulte la [documentación del proyecto cfn-lint](https://github.com/aws-cloudformation/cfn-lint) en GitHub.