Validación de plantillas con cloudformation-validate
El proyecto cloudformation-validate
La herramienta incluye las reglas y las definiciones de recursos de CloudFormation que necesita, por lo que se ejecuta sin acceso a la red ni credenciales de AWS después de la instalación.
Temas
Seleccione un método de validación.
-
Línea de comandos: ejecute
cfn-validatepara comprobar una plantilla o todas las plantillas de un directorio desde una terminal o una compilación automática. -
Biblioteca: agregue el validador a una aplicación de Rust, Node.js, Python, Go o JVM y procese los resultados en su código.
-
AWS CDK: valide las plantillas automáticamente después de que CDK las sintetice.
-
Reglas personalizadas: agregue comprobaciones escritas en CEL, Rego o el lenguaje de reglas de Guard. Para ver ejemplos y formatos de reglas compatibles, consulte la Referencia de reglas personalizadas
en GitHub. Para ver la sintaxis de las reglas de Guard, consulte Validación de plantillas con Guard en esta guía.
Instalación de la herramienta de línea de comandos
Abra la última versión de cfn-validatecfn-validate para su sistema operativo y procesador. Siga la guía de instalacióncfn-validate, agregarlo a su PATH y verificar el archivo descargado.
Ejecución de la validación
El comando utiliza la siguiente sintaxis:
cfn-validateTEMPLATE_OR_DIRECTORY[OPTIONS]
Compruebe una plantilla:
cfn-validate template.yaml
Pase un directorio para comprobar de forma recursiva todos los archivos .yaml, .yml y .json:
cfn-validate ./templates/
El comando escribe un informe de validación JSON estructurado en la salida estándar. Utilice --format standard para una salida compacta o --format detailed para el informe detallado predeterminado.
El comando devuelve 0 cuando no encuentra ningún error o diagnóstico grave, 1 cuando detecta un error o diagnóstico grave y 2 si se produce un error de uso o de inicialización, como una opción no válida o un archivo que no existe.
Para ver todos los motores, filtros, formatos de salida y parámetros, consulte la referencia de la CLI de cfn-validate
Adición de reglas personalizadas
Utilice --rule-source para cargar un archivo de reglas Rego o CEL personalizado. Utilice --guard-rule-source para cargar un directorio o archivo de reglas de Guard. Puede repetir cualquiera de las dos opciones para cargar varios orígenes de reglas:
cfn-validate template.yaml --rule-source ./rules/my-rule.rego cfn-validate template.yaml --guard-rule-source ./guard-rules/
Para ver ejemplos y formatos de reglas, consulte la Referencia de reglas personalizadas
Inserción de la biblioteca de validación
Instale el paquete publicado para su lenguaje de programación para ejecutar las mismas comprobaciones sin conexión desde su aplicación. Cree un motor de validación una vez, reutilícelo para varias plantillas y procese los diagnósticos estructurados devueltos para cada plantilla. También puede configurar reglas CEL, Rego o Guard personalizadas a través de la API de la biblioteca.
| Idioma | Paquete publicado | API y ejemplos |
|---|---|---|
| Rust | cloudformation-validate en crates.io |
API de Rust y ejemplos |
| Node.js | @aws/cloudformation-validate en npm |
API de Node.js y ejemplos |
| Python | cloudformation-validate en PyPI |
API de Python y ejemplos |
| Go | Módulo validación CloudFormation de Go |
API de Go y ejemplos |
| JVM (Java o Kotlin) | software.amazon.cloudformation:cloudformation-validate en Central de Maven |
API de JVM y ejemplos |
Para ver las instrucciones de instalación y las plataformas compatibles, consulte la guía de instalación de enlaces de idiomas
Para ver ejemplos completos en todos los idiomas y enlaces a cada guía de API, consulte Embedding as a library
Use con AWS CDK
Si utiliza AWS CDK, no necesita instalar el validador por separado. La biblioteca de construcciones de AWS CDK incluye un valor predeterminado CloudFormationValidatePlugin que ejecuta automáticamente las mismas comprobaciones después de sintetizar las plantillas de CloudFormation.
cdk synth
CDK informa de los posibles errores de implementación y de los resultados de las prácticas recomendadas junto con sus resultados de validación. Puede configurar de forma explícita CloudFormationValidatePlugin cuando quiera agregar reglas Rego o Guard personalizadas.
Para obtener información sobre la configuración de los complementos, las confirmaciones y los informes de validación, consulte Template and Policy Validation en la Referencia de la API de AWS CDK.
Descripción del alcance de validación
Para conocer las limitaciones de la validación local y los pasos a seguir antes de la implementación, consulte Descripción del alcance de validación.