The AWS::ApiGatewayV2::Model
resource updates data model for a
WebSocket API. For more information, see Model Selection Expressions in the API Gateway Developer
Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{
"Type" : "AWS::ApiGatewayV2::Model",
"Properties" : {
"ApiId" : String
,
"ContentType" : String
,
"Description" : String
,
"Name" : String
,
"Schema" : Json
}
}
YAML
Type: AWS::ApiGatewayV2::Model
Properties:
ApiId: String
ContentType: String
Description: String
Name: String
Schema: Json
Properties
ApiId
-
The API identifier.
Required: Yes
Type: String
Update requires: Replacement
ContentType
-
The content-type for the model, for example, "application/json".
Required: No
Type: String
Update requires: No interruption
Description
-
The description of the model.
Required: No
Type: String
Update requires: No interruption
Name
-
The name of the model.
Required: Yes
Type: String
Update requires: No interruption
Schema
-
The schema for the model. For application/json models, this should be JSON schema draft 4 model.
Required: Yes
Type: Json
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the model ID, such as abc123
.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt
.
ModelId
-
The model ID.
Examples
Model creation example
The following example creates a model
resource called
MyModel
for an API called
MyApi
.
JSON
{
"MyModel": {
"Type": "AWS::ApiGatewayV2::Model",
"Properties": {
"Name": "ModelName",
"ApiId": {
"Ref": "MyApi"
},
"ContentType": "application/json",
"Schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "DummySchema",
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
}
}
}
YAML
MyModel:
Type: 'AWS::ApiGatewayV2::Model'
Properties:
Name: ModelName
ApiId: !Ref MyApi
ContentType: application/json
Schema:
$schema: 'http://json-schema.org/draft-04/schema#'
title: DummySchema
type: object
properties:
id:
type: string
See also
-
CreateModel in the Amazon API Gateway Version 2 API Reference