AWS::ApiGateway::RestAPI リソースの書き込み専用プロパティの問題を解決する方法
このトピックでは、IaC ジェネレーターを使用するときの AWS::ApiGateway::RestApi リソースの書き込み専用プロパティの問題を解決する方法について説明します。
問題
生成されたテンプレートに AWS::ApiGateway::RestApi
リソースが含まれている場合、Body
、BodyS3Location
、CloneFrom
プロパティが UNSUPPORTED_PROPERTIES
として認識されたことを示す警告が表示されます。これは、これらが任意の書き込み専用プロパティであるためです。IaC ジェネレーターは、これらのプロパティがこのリソースに適用されているかどうかを認識しません。したがって、生成されたテンプレートではこれらのプロパティは省略されます。
解決方法
REST API の Body
プロパティを設定するには、生成されたテンプレートを更新します。
-
Amazon API Gateway GetExport API アクションを使用して API をダウンロードします。例えば、aws apigateway get-export AWS CLI コマンドを使用します。詳細については、「API Gateway デベロッパーガイド」の「API Gateway から REST API をエクスポートする」を参照してください。
-
GetExport
API アクションのレスポンスからBody
プロパティを取得します。これを Amazon S3 バケットにアップロードします。 -
生成されたテンプレートをダウンロードします。
-
このテンプレートに
BodyS3Location/Bucket
とBodyS3Location/Key
のプロパティを追加し、Body
が保存されているバケット名とキーを指定します。 -
生成されたテンプレートを IaC ジェネレーターのコンソールで開き、[編集したテンプレートをインポート] をクリックします。