Comment résoudre les erreurs « Model Validation Failed » (« Échec de la validation du modèle ») dans CloudFormation ?

Dernière mise à jour : 06/04/2022

Lorsque je crée une ressource avec AWS CloudFormation, je reçois une erreur « Échec de la validation du modèle » dans mes événements de pile.

Brève description

Les valeurs Type, Allowed, Minimum, Maximum et Pattern sont les critères d'acceptation pour la création d'une propriété de la ressource à l'aide d'un modèle CloudFormation. Si l'une de ces valeurs de propriété n'est pas correctement définie, l'une des erreurs suivantes « Échec de la validation du modèle » s'affiche :

  • Model Validation Failed (#PropertyName: Failed validation constraint for keyword [type]) (Échec de la validation du modèle (#PropertyName : échec de la contrainte de validation pour le mot-clé [type]))
  • Model Validation Failed (#PropertyName: Failed validation constraint for keyword [pattern]) (Échec de la validation du modèle (#PropertyName : échec de la contrainte de validation pour le mot-clé [modèle]))
  • Model validation failed (#PropertyName: expected type: Number, found: String) (Échec de la validation du modèle (#PropertyName : type attendu : nombre, trouvé : chaîne))

Remarque : les messages d'erreur précédents sont des exemples. Dans l'erreur que vous recevez, PropertyName est spécifié.

Solution

  1. Dans l'événement de pile CloudFormation, identifiez la propriété du type de ressource qui a échoué. Par exemple, Namespace est une propriété de la ressource AWS::CloudWatch::Alarm.
  2. Identifiez le type de ressource qui rencontre l'erreur. Par exemple, AWS::CloudWatch::Alarm.
  3. Recherchez les propriétés de la ressource.
  4. Comparez les valeurs de propriété définies dans le modèle avec les valeurs de propriété correctes que vous avez trouvées à l'étape 3.
    Remarque : certaines propriétés n'incluent pas de limites de caractères minimales ou maximales.
  5. Si les valeurs de propriété de la ressource ne répondent pas aux critères d'acceptation, modifiez le modèle avec les valeurs requises.
  6. Mettez à jour la pile CloudFormation en utilisant le nouveau modèle.

Voici un exemple de critères d'acceptation pour la propriété Namespace pour le type de ressource AWS::CloudWatch:Alarm :

Obligatoire : No

Type : String

Minimum : 1

Maximum : 255

Modèle : [^:].*

La mise à jour nécessite : No interruption (aucune interruption)

Remarque : pour que les critères Namespace soient acceptés, le type doit être défini sur String, la limite de caractères doit être comprise entre 1 et 255 et le modèle doit être [^:].*.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?