libZSservicesZSamazonka-apigatewayZSamazonka-apigateway
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.APIGateway.Types.IntegrationResponse

Description

 
Synopsis

Documentation

data IntegrationResponse Source #

Represents an integration response. The status code must map to an existing MethodResponse, and parameters and templates can be used to transform the back-end response.

Creating an API

See: newIntegrationResponse smart constructor.

Constructors

IntegrationResponse' 

Fields

  • contentHandling :: Maybe ContentHandlingStrategy

    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 method response without modification.

  • responseTemplates :: Maybe (HashMap Text Text)

    Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

  • selectionPattern :: Maybe Text

    Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+ regex to match error response. However, make sure that the error response does not contain any newline (\n) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.

  • statusCode :: Maybe Text

    Specifies the status code that is used to map the integration response to an existing MethodResponse.

  • responseParameters :: Maybe (HashMap Text Text)

    A key-value map specifying response parameters that are passed to the method response from the back end. 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 of integration.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.

Instances

Instances details
Eq IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

Read IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

Show IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

Generic IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

Associated Types

type Rep IntegrationResponse :: Type -> Type #

NFData IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

Methods

rnf :: IntegrationResponse -> () #

Hashable IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

FromJSON IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

type Rep IntegrationResponse Source # 
Instance details

Defined in Amazonka.APIGateway.Types.IntegrationResponse

type Rep IntegrationResponse = D1 ('MetaData "IntegrationResponse" "Amazonka.APIGateway.Types.IntegrationResponse" "libZSservicesZSamazonka-apigatewayZSamazonka-apigateway" 'False) (C1 ('MetaCons "IntegrationResponse'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "contentHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ContentHandlingStrategy)) :*: S1 ('MetaSel ('Just "responseTemplates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text Text)))) :*: (S1 ('MetaSel ('Just "selectionPattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "statusCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "responseParameters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text Text)))))))

newIntegrationResponse :: IntegrationResponse Source #

Create a value of IntegrationResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:contentHandling:IntegrationResponse', integrationResponse_contentHandling - 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 method response without modification.

$sel:responseTemplates:IntegrationResponse', integrationResponse_responseTemplates - Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

$sel:selectionPattern:IntegrationResponse', integrationResponse_selectionPattern - Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+ regex to match error response. However, make sure that the error response does not contain any newline (\n) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.

$sel:statusCode:IntegrationResponse', integrationResponse_statusCode - Specifies the status code that is used to map the integration response to an existing MethodResponse.

$sel:responseParameters:IntegrationResponse', integrationResponse_responseParameters - A key-value map specifying response parameters that are passed to the method response from the back end. 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 of integration.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.

integrationResponse_contentHandling :: Lens' IntegrationResponse (Maybe ContentHandlingStrategy) Source #

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 method response without modification.

integrationResponse_responseTemplates :: Lens' IntegrationResponse (Maybe (HashMap Text Text)) Source #

Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

integrationResponse_selectionPattern :: Lens' IntegrationResponse (Maybe Text) Source #

Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+ regex to match error response. However, make sure that the error response does not contain any newline (\n) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.

integrationResponse_statusCode :: Lens' IntegrationResponse (Maybe Text) Source #

Specifies the status code that is used to map the integration response to an existing MethodResponse.

integrationResponse_responseParameters :: Lens' IntegrationResponse (Maybe (HashMap Text Text)) Source #

A key-value map specifying response parameters that are passed to the method response from the back end. 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 of integration.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.