メニュー
AWS CloudFormation
ユーザーガイド (API Version 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" : { "BinaryMediaTypes" : [ String, ... ], "Body" : JSON object, "BodyS3Location" : S3Location, "CloneFrom" : String, "Description" : String, "EndpointConfiguration" : EndpointConfiguration, "FailOnWarnings" : Boolean, "Name" : String, "Parameters" : { String:String, ... } } }

YAML

Type: "AWS::ApiGateway::RestApi" Properties: BinaryMediaTypes: - 文字列 Body: JSON object BodyS3Location: S3Location CloneFrom: String Description: String EndpointConfiguration: EndpointConfiguration FailOnWarnings: Boolean Name: String Parameters: String: 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 Gateway RestApi EndpointConfiguration

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

FailOnWarnings

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

Required: No

Type: Boolean

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

Name

API Gateway RestApi リソースの名前。

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

Type: String

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

Parameters

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

Required: No

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

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

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref により a1bcdef2gh のような RestApi 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

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

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