AWS::ApiGatewayV2::IntegrationResponse - AWS CloudFormation (original) (raw)
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
and CONVERT_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 ofmethod.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}_
or integration.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 asabcd123
.
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 anintegration
resource calledMyIntegration
.
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