AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

AWS::ApiGateway::RestApi

AWS::ApiGateway::RestApi リソースには、HTTPS エンドポイントによって呼び出し可能な Amazon API Gateway リソースおよびメソッドの集合体が含まれています。詳細については、Amazon API Gateway REST API リファレンスの「restapi:create」を参照してください。

注記

2016 年 1 月 1 日に、Swagger 仕様が OpenAPI Initiative に提供され、OpenAPI 仕様の基礎となりました。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::ApiGateway::RestApi", "Properties" : { "ApiKeySourceType" : String, "BinaryMediaTypes" : [ String, ... ], "Body" : JSON object, "BodyS3Location" : S3Location, "CloneFrom" : String, "Description" : String, "EndpointConfiguration" : EndpointConfiguration, "FailOnWarnings" : Boolean, "MinimumCompressionSize" : Integer, "Name" : String, "Parameters" : { String:String, ... }, "Policy" : JSON object } }

YAML

Type: AWS::ApiGateway::RestApi Properties: ApiKeySourceType: String BinaryMediaTypes: - 文字列 Body: JSON object BodyS3Location: S3Location CloneFrom: String Description: String EndpointConfiguration: EndpointConfiguration FailOnWarnings: Boolean MinimumCompressionSize: Integer Name: String Parameters: String: String Policy: JSON object

プロパティ

ApiKeySourceType

使用量プランに沿ってリクエストを計測するための API キーのソース。有効な値は次のとおりです。

  • リクエストの HEADER ヘッダーから API キーを読み込むための X-API-Key

  • カスタムオーソライザーからの AUTHORIZER から API キーを読み込むための UsageIdentifierKey

Required: No

Type: String

更新に伴う要件: 中断はありません。

BinaryMediaTypes

RestApi リソースでサポートされているバイナリメディアタイプのリスト。(image/png または application/octet-stream など)。デフォルトでは、RestApi は UTF-8 でエンコードされたテキストペイロードのみをサポートしています。詳細については、API Gateway 開発者ガイド の「API Gateway のバイナリペイロードのサポートの有効化」を参照してください。重複は許可されません。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

Body

JSON 形式で RESTful API のセットを定義する OpenAPI 仕様。YAML テンプレートについては、YAML 形式で仕様を提供できます。

Required: No

Type: JSON object

更新に伴う要件: 中断はありません。

BodyS3Location

OpenAPI ファイルを示す Amazon Simple Storage Service (Amazon S3) の場所。RESTful API のセットを JSON または YAML 形式で定義します。

Required: No

Type: Amazon API Gateway RestApi S3Location

更新に伴う要件: 中断はありません。

CloneFrom

クローンする API Gateway RestApi リソースの ID。

Required: No

Type: String

更新に伴う要件: 中断はありません。

Description

この API Gateway RestApi リソースの説明。

Required: No

Type: String

更新に伴う要件: 中断はありません。

EndpointConfiguration

API のエンドポイントタイプのリスト。API の作成時にこのプロパティを使用します。既存の API をインポートする場合、Parameters プロパティを使用してエンドポイントの設定タイプを指定します。

必須: いいえ

タイプ: EndpointConfiguration

更新に伴う要件: 中断はありません

FailOnWarnings

API Gateway で RestApi リソースが作成されているときに警告が発生した場合に、リソースをロールバックするかどうかを示します。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

MinimumCompressionSize

API で圧縮を有効にするために使用される (0 から 10485760 (10M) バイト (を含む) 負でない数)、または圧縮を無効にする (null 値)、null が使用可能な整数。圧縮を有効にした場合、ペイロードサイズがこの値よりも小さいとペイロードに圧縮または解凍が適用されません。ゼロに設定すると、任意のペイロードサイズの圧縮を許可します。

Required: No

Type: Integer

更新に伴う要件: 中断はありません。

Name

API Gateway RestApi リソースの名前。

Required: Conditional.OpenAPI 定義を指定しない場合は必須です。

Type: String

更新に伴う要件: 中断はありません。

Parameters

リクエストのカスタムヘッダーパラメーター。

API インポート時のパラメータ指定の詳細については、AWS CLI Command Referenceimport-rest-api オペレーションを参照してください。

Required: No

タイプ: 文字列から文字列へのマッピング

更新に伴う要件: 中断はありません。

Policy

この RestApi リソースのアクセス権限を JSON 形式で含むポリシードキュメント。

Required: No

Type: JSON object

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref により RestApi のような a1bcdef2gh ID が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。このセクションでは、利用可能な属性とサンプル戻り値のリストが示されます。

RootResourceId

RestApi リソースのルートソース ID (a0bc123d4e など)。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

次の例では、OpenAPI 仕様に基づいて API Gateway RestApi リソースを作成します。

JSON

"MyRestApi": { "Type": "AWS::ApiGateway::RestApi", "Properties": { "Body": { OpenAPI specification } "Description": "A test API", "Name": "MyRestAPI" } }

YAML

MyRestApi: Type: AWS::ApiGateway::RestApi Properties: Body: OpenAPI specification Description: "A test API" Name: "MyRestAPI"

次の例では、エンドポイントタイプを使用して API Gateway RestApi リソースを作成します。

JSON

{ "Parameters": { "apiName": { "Type": "String" }, "type": { "Type": "String" } }, "Resources": { "MyRestApi": { "Type": "AWS::ApiGateway::RestApi", "Properties": { "EndpointConfiguration": { "Types": [ { "Ref": "type" } ] }, "Name": { "Ref": "apiName" } } } } }

YAML

Parameters: apiName: Type: String type: Type: String Resources: MyRestApi: Type: AWS::ApiGateway::RestApi Properties: EndpointConfiguration: Types: - !Ref type Name: !Ref apiName

次の例では、リージョンのエンドポイントタイプを使用して API Gateway RestApi リソースをインポートします。

JSON

{ "Resources": { "RestApi": { "Type": "AWS::ApiGateway::RestApi", "Properties": { "Body": { "swagger": 2, "info": { "version": "0.0.1", "title": "test" }, "basePath": "/pete", "schemes": [ "https" ], "definitions": { "Empty": { "type": "object" } } }, "Name": "myApi", "Parameters": { "endpointConfigurationTypes": "REGIONAL" } } } } }

YAML

Resources : RestApi : Type : AWS::ApiGateway::RestApi Properties : Body : swagger : 2.0 info : version : 0.0.1 title : test basePath : /pete schemes : - https definitions: Empty : type : object Name : myApi Parameters: endpointConfigurationTypes: REGIONAL

次の例では、ApiKeySourceType、BinaryMediaTypes および MinimumCompressionSize を使用した API Gateway RestApi リソースを作成します。

JSON

{ "Parameters": { "apiKeySourceType": { "Type": "String" }, "apiName": { "Type": "String" }, "binaryMediaType1": { "Type": "String" }, "binaryMediaType2": { "Type": "String" }, "minimumCompressionSize": { "Type": "String" } }, "Resources": { "MyRestApi": { "Type": "AWS::ApiGateway::RestApi", "Properties": { "ApiKeySourceType": { "Ref": "apiKeySourceType" }, "BinaryMediaTypes": [ { "Ref": "binaryMediaType1" }, { "Ref": "binaryMediaType2" } ], "MinimumCompressionSize": { "Ref": "minimumCompressionSize" }, "Name": { "Ref": "apiName" } } } } }

YAML

Parameters: apiKeySourceType: Type: String apiName: Type: String binaryMediaType1: Type: String binaryMediaType2: Type: String minimumCompressionSize: Type: String Resources: MyRestApi: Type: AWS::ApiGateway::RestApi Properties: ApiKeySourceType: !Ref apiKeySourceType BinaryMediaTypes: - !Ref binaryMediaType1 - !Ref binaryMediaType2 MinimumCompressionSize: !Ref minimumCompressionSize Name: !Ref apiName

以下の資料も参照してください。

  • Amazon API Gateway REST API リファレンスrestapi:create オペレーション

  • AWS CLI Command Referenceimport-rest-api オペレーション