¿Cómo resuelvo los errores “Model Validation Failed” (Error de validación del modelo) en CloudFormation?

Última actualización: 06/04/2022

Cuando creo un recurso con AWS CloudFormation, recibo el error “Model Validation Failed” (Error de validación del modelo) en los eventos de la pila.

Descripción corta

Los valores Type (Tipo), Allowed (Permitido), Minimum (Mínimo), Maximum (Máximo) y Pattern (Patrón) son los criterios de aceptación para crear una propiedad de recurso mediante una plantilla de CloudFormation. Si uno de estos valores de propiedad no está definido correctamente, recibirá uno de los siguientes errores “Model Validation Failed” (Error de validación del modelo):

  • Model Validation Failed (#PropertyName: Failed validation constraint for keyword [type] - Error de validación del modelo (#PropertyName: Error de la restricción de validación para la palabra clave [type])
  • Model Validation Failed (#PropertyName: Failed validation constraint for keyword [type] - Error de validación del modelo (#PropertyName: Error de la restricción de validación para la palabra clave [pattern])
  • Model Validation Failed (#PropertyName: expected type: Number, found: String) - Error de validación del modelo: tipo esperado Número, encontrado: Cadena)

Nota: los mensajes de error anteriores son ejemplos. En el error que recibe, se especifica el PropertyName (Nombre de propiedad).

Resolución

  1. En el evento de pila de CloudFormation, identifique la propiedad del tipo de recurso que falló. Por ejemplo, Namespace (Espacio de nombres) es una propiedad del recurso AWS::CloudWatch::Alarm.
  2. Identifique el tipo de recurso que está experimentando el error. Por ejemplo, AWS::CloudWatch::Alarm.
  3. Examine las propiedades del recurso.
  4. Compare los valores de propiedad que se definen en la plantilla con los valores de propiedad correctos que encontró en el paso 3.
    Nota: algunas propiedades no incluyen valores límite de caracteres mínimos o máximos.
  5. Si los valores de las propiedades del recurso no cumplen con los criterios de aceptación, edite la plantilla con los valores requeridos.
  6. Actualice la pila de CloudFormation con la nueva plantilla.

A continuación, se muestra un ejemplo de criterios de aceptación de la propiedad Namespace (Espacio de nombres) para el tipo de recurso AWS::CloudWatch:Alarm:

Required: No (Requerido: No)

Type: String (Tipo: Cadena)

Minimum: 1 (Mínimo: 1)

Maximum: 255 (Máximo: 255)

Pattern (Patrón): [^:].* (Patrón: [^:].*)

Update requires: No interruption (Requisitos de actualización: Sin interrupciones)

Nota: Para que se acepten los criterios de Namespace (Espacio de nombres), Type (Tipo) debe tener el valor String (Cadena), el límite de caracteres debe estar entre 1 y 255 y Pattern (Patrón) tener el valor [^:].*.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?