AWS::ApiGateway::RestAPI リソースの書き込み専用プロパティの問題を解決する方法 - AWS CloudFormation

AWS::ApiGateway::RestAPI リソースの書き込み専用プロパティの問題を解決する方法

このトピックでは、IaC ジェネレーターを使用するときの AWS::ApiGateway::RestApi リソースの書き込み専用プロパティの問題を解決する方法について説明します。

問題

生成されたテンプレートに AWS::ApiGateway::RestApi リソースが含まれている場合、BodyBodyS3LocationCloneFrom プロパティが UNSUPPORTED_PROPERTIES として認識されたことを示す警告が表示されます。これは、これらが任意の書き込み専用プロパティであるためです。IaC ジェネレーターは、これらのプロパティがこのリソースに適用されているかどうかを認識しません。したがって、生成されたテンプレートではこれらのプロパティは省略されます。

解決方法

REST API の Body プロパティを設定するには、生成されたテンプレートを更新します。

  1. Amazon API Gateway GetExport API アクションを使用して API をダウンロードします。例えば、aws apigateway get-export AWS CLI コマンドを使用します。詳細については、「API Gateway デベロッパーガイド」の「API Gateway から REST API をエクスポートする」を参照してください。

  2. GetExport API アクションのレスポンスから Body プロパティを取得します。これを Amazon S3 バケットにアップロードします。

  3. 生成されたテンプレートをダウンロードします。

  4. このテンプレートに BodyS3Location/BucketBodyS3Location/Key のプロパティを追加し、Body が保存されているバケット名とキーを指定します。

  5. 生成されたテンプレートを IaC ジェネレーターのコンソールで開き、[編集したテンプレートをインポート] をクリックします。