

# AWS::ApiGateway::RestAPI リソースの書き込み専用プロパティの問題を解決する方法
<a name="generate-IaC-apigateway-restapi"></a>

このトピックでは、IaC ジェネレーターを使用するときの [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-apigateway-restapi.html) リソースの書き込み専用プロパティの問題を解決する方法について説明します。

## 問題
<a name="apigateway-restapi-write-only-properties-issue"></a>

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

## 解決策
<a name="apigateway-restapi-write-only-properties-resolution"></a>

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

1. Amazon API Gateway [https://docs.aws.amazon.com/apigateway/latest/api/API_GetExport.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetExport.html) API アクションを使用して API をダウンロードします。例えば、[https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-export.html](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-export.html) AWS CLI コマンドを使用します。詳細については、「API Gateway デベロッパーガイド」の「[API Gateway から REST API をエクスポートする](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-export-api.html)」を参照してください。

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

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

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

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