AWS CloudFormation のリソースプロバイダーで Fn::GetAtt 関数を使用すると、次のエラーが表示されます。
「Attribute 'Key' does not exist」(属性「キー」が存在しません)
簡単な説明
CloudFormation は、必要なプロパティを受け取っていないため、「Attribute 'Key' does not exist」(属性「キー」が存在しません) というエラーを返します。リソースの ReadHandler は、organization-service-resource.json リソースプロバイダーのスキーマファイルの readOnlyProperties リストから指定されたプロパティを返す必要があります。
リソースプロバイダーの使用に関連するその他のエラーについては、次の記事を参照してください。
解決方法
1. organization-service-resource.json ファイルで、readOnlyProperties 定義が次の形式を使用していることを確認します。ここで、Output はプロパティセクションで定義されているプロパティです。例:
"readOnlyProperties": [
"/properties/Output"
],
注: organization-service-resource.json 形式はプロジェクトのルートディレクトリにあります。
2. ReadHandler で、model オブジェクトのプロパティを設定します。例:
final ResourceModel model = request.getDesiredResourceState();
model.setOutput("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
関連情報
AWS CloudFormation CLI (GitHub ウェブサイトから)