AWS::ApiGatewayV2::IntegrationResponse
The AWS::ApiGatewayV2::IntegrationResponse
resource updates an
integration response for an WebSocket API. For more information, see Set up WebSocket API Integration Responses in API Gateway in the
API Gateway Developer Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::ApiGatewayV2::IntegrationResponse", "Properties" : { "ApiId" :
String
, "ContentHandlingStrategy" :String
, "IntegrationId" :String
, "IntegrationResponseKey" :String
, "ResponseParameters" :Json
, "ResponseTemplates" :Json
, "TemplateSelectionExpression" :String
} }
YAML
Type: AWS::ApiGatewayV2::IntegrationResponse Properties: ApiId:
String
ContentHandlingStrategy:String
IntegrationId:String
IntegrationResponseKey:String
ResponseParameters:Json
ResponseTemplates:Json
TemplateSelectionExpression:String
Properties
ApiId
-
The API identifier.
Required: Yes
Type: String
Update requires: Replacement
ContentHandlingStrategy
-
Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are
CONVERT_TO_BINARY
andCONVERT_TO_TEXT
, with the following behaviors:CONVERT_TO_BINARY
: Converts a response payload from a Base64-encoded string to the corresponding binary blob.CONVERT_TO_TEXT
: Converts a response payload from a binary blob to a Base64-encoded string.If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
Required: No
Type: String
Update requires: No interruption
IntegrationId
-
The integration ID.
Required: Yes
Type: String
Update requires: Replacement
IntegrationResponseKey
-
The integration response key.
Required: Yes
Type: String
Update requires: No interruption
ResponseParameters
-
A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of
method.response.header.{name}
, where name is a valid and unique header name. The mapped non-static value must match the pattern ofintegration.response.header.{name}
orintegration.response.body.{JSON-expression}
, where{name}
is a valid and unique response header name and{JSON-expression}
is a valid JSON expression without the$
prefix.Required: No
Type: Json
Update requires: No interruption
ResponseTemplates
-
The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
Required: No
Type: Json
Update requires: No interruption
TemplateSelectionExpression
-
The template selection expression for the integration response. Supported only for WebSocket APIs.
Required: No
Type: String
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the integration response resource ID, such as
abcd123
.
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
.
IntegrationResponseId
-
The integration response ID.
Examples
Integration response creation example
The following example creates an IntegrationResponse
resource for an API named MyApi
that has an
integration
resource called
MyIntegration
.
JSON
{ "IntegrationResponse": { "Type": "AWS::ApiGatewayV2::IntegrationResponse", "Properties": { "IntegrationId": { "Ref": "MyIntegration" }, "IntegrationResponseKey": "/400/", "ApiId": { "Ref": "MyApi" } } } }
YAML
IntegrationResponse: Type: 'AWS::ApiGatewayV2::IntegrationResponse' Properties: IntegrationId: !Ref MyIntegration IntegrationResponseKey: /400/ ApiId: !Ref MyApi
See also
-
CreateIntegrationResponse in the Amazon API Gateway Version 2 API Reference