リソースプロバイダータイプを使用して AWS CloudFormation でリソースを作成すると、次のエラーが表示されます。
「物理リソースの作成を待っている状態でリソースがタイムアウトしました」
簡単な説明
リソースが 60 秒以内に primaryIdentifier または物理 ID を返さない場合、「Resource timed out waiting for creation of physical resource」というエラーが表示されます。このエラーは、リソースの CreateHandler が、 リソースプロバイダースキーマファイル organization-service-resource.json のプライマリ識別子として指定されたプロパティを返さないために発生します。
リソースプロバイダーの使用に関連するその他のエラーについては、次の記事を参照してください。
解決方法
1. organization-service-resource.json ファイルで、 primaryIdentifier の定義がこの形式に従っていることを確認します。ここで、Id はプロパティセクションで定義されているプロパティです。
"primaryIdentifier": [
"/properties/Id"
]
**注意:**organization-service-resource.json 形式はプロジェクトのルートディレクトリにあります。
2. CreateHandler で、 model オブジェクトの プライマリ識別子 プロパティを設定します。以下はその例です。
final ResourceModel model = request.getDesiredResourceState();
model.setId("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
関連情報
AWS CloudFormation CLI (GitHub ウェブサイトから)