J'ai tenté de créer une pile AWS CloudFormation, mais l'opération a échoué avec un des messages d'erreur suivants :

  • « JSON not well-formed »
  • « YAML not well-formed »
  • « Unresolved resource dependencies [XXXXXXXX] in the Resources block of the template »
  • « The [environmental resource] 'XXXXXXXX' does not exist »
  • « Invalid template property or properties [XXXXXXXX] »
  • « Unrecognized parameter type: XXXXXXXX »
  • « Invalid template parameter property 'XXXXXXXX' »
  • « Encountered unsupported property XXXXXXXX »
  • « Value of property XXXXXXXX must be of type String »

Ces erreurs résultent d'un formatage JSON ou YAML, de définitions de ressources, ou de références à des ressources incorrects dans le modèle.

Lorsque vous résolvez les problèmes, vérifiez que les conditions ci-dessous sont remplies :

1. Le modèle respecte la syntaxe JSON ou YAML correcte. Pensez à utiliser les outils de ligne de commande, tels que le validateur de modèle CloudFormation de l'interface de ligne de commande AWS, des outils basés sur un navigateur tels que http://jsonlint.com/, ou des outils basés sur un éditeur de texte, tels que le package linter-jsonlint d'Atom pour vérifier votre syntaxe JSON. Pensez à utiliser les outils basés sur un navigateur YAML Lint ou Online YAML Parser pour vérifier votre syntaxe YAML.

2. Des ID de ressources logiques existent ou sont définis dans votre modèle, ou des ID physiques de ressources de votre environnement existent. Des ID définis de manière incorrecte entraînent ces types d'erreurs. Ainsi, dans l'exemple suivant, « test » est référencé pour la propriété ImageId, mais le modèle ne contient aucun ID de ressource logique ou paramètre nommé « test » :

Remarque : les modèles AWS CloudFormation sont stockés dans des fichiers texte dont le format respecte la norme JSON ou YAML. L'exemple suivant répertorie le même modèle enregistré en utilisant les deux formats. Pour plus d'informations sur la prise en charge de YAML, consultez Concepts de base des modèles, Mise à jour d'AWS CloudFormation – YAML, références entre piles, substitution simplifiée et YAML Version 1.2.

{

"Parameters" : {},

    "Resources" : {

        "EC2Instance01" : {

            "Type" : "AWS::EC2::Instance",

            "Properties" : {

                "ImageId" : {"Ref": "test"},

                …

            }

        }

    }

}

Parameters:

    Ressources:

        EC2Instance01:

            Type: AWS::EC2::Instance

            Properties:

                ImageID:

                    Ref: test

                     …

Il en résulte un message d'erreur « Unresolved resource dependencies [test] in the Resources block of the template ». Pour plus d'informations sur les définitions de ressources et leur syntaxe, consultez Ressources.

3. Les sections de modèles et définitions de ressources utilisent des propriétés, valeurs, et types de valeurs valides. Des propriétés ou des types de valeurs définis de manière incorrecte entraînent ces types d'erreurs. Pour plus d'informations sur les propriétés spécifiques aux ressources, consultez Informations de référence sur les types de propriété des ressources.

pile CloudFormation, modèle, validation, format, erreur, propriété, type, valeur, dépendances de ressources non résolues, non pris en charge, non valide, YAML, JSON


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.

Date de publication : 28/08/2015

Date de mise à jour : 20/10/2016