Lorsque j'utilise mon type de fournisseur de ressources pour créer une ressource dans AWS CloudFormation, l'erreur suivante s'affiche : « Resource timed out waiting for creation of physical resource. »
Résolution
Lorsque les ressources ne renvoient pas leur primaryIdentifier ou ID physique dans les 60 secondes, le message d'erreur « Resource timed out waiting for creation of physical resource » s'affiche. Cette erreur se produit car le CreateHandler de votre ressource ne renvoie pas la propriété spécifiée comme primaryIdentifier dans le fichier de schéma du type de ressource.
**Remarque :**le fichier utilise le format d'appellation organization-service-resource.json. Par exemple, article-ec2-subnet.json est le nom de fichier d'une ressource Amazon Elastic Cloud Compute (Amazon EC2) nommée Article::EC2::Subnet.
Pour résoudre le problème, procédez comme suit :
- Dans votre fichier de schéma de type de ressource, vérifiez que la définition du primaryIdentifier utilise le format suivant :
"primaryIdentifier": [
"/properties/Id"
]
**Remarque :**Remplacez Id par l'ID de propriété. Le fichier de type de schéma de ressource se trouve dans le répertoire racine de votre projet.
- Dans votre fichier CreateHandler, définissez la propriété primaryIdentifier dans l'objet modèle.
Exemple :
final ResourceModel model = request.getDesiredResourceState();
model.setId("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
Remarque : Remplacez Id par l'identifiant principal de la ressource et abcdxyz par une valeur d'identifiant unique pour votre propriété.
Si vous recevez une autre erreur lorsque vous utilisez votre fournisseur de ressources, consultez les articles suivants du centre de connaissances AWS pour résoudre les problèmes :
Informations connexes
CloudFormation CLI sur le site Web GitHub.