import { Value } from '../../../cloudformation/Value';
/**
  <code>IntegrationResponse</code> is a property of the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html">Amazon API Gateway Method Integration</a> property type that specifies the response that API Gateway sends after a method’s backend finishes processing a request.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html">the AWS Docs</a>
*/
export interface IntegrationResponseProps {
    /** <code>ContentHandling</code>  <a name="cfn-apigateway-method-integrationresponse-contenthandling"></a>
  Specifies how to handle response payload content type conversions. Supported values are <code>CONVERT_TO_BINARY</code> and <code>CONVERT_TO_TEXT</code>, with the following behaviors:<br />
  If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.<br />
  
  Required: No<br />
  
  Allowed values: <code>CONVERT_TO_BINARY | CONVERT_TO_TEXT</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    contentHandling?: Value<'CONVERT_TO_BINARY' | 'CONVERT_TO_TEXT'>;
    /** <code>ResponseParameters</code>  <a name="cfn-apigateway-method-integration-integrationresponse-responseparameters"></a>
  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 <code>method.response.header.{name}</code>, where <code>name</code> is a valid and unique header name. The mapped non-static value must match the pattern of <code>integration.response.header.{name}</code> or <code>integration.response.body.{JSON-expression}</code>, where <code>name</code> is a valid and unique response header name and <code>JSON-expression</code> is a valid JSON expression without the <code>$</code> prefix.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    responseParameters?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>ResponseTemplates</code>  <a name="cfn-apigateway-method-integration-integrationresponse-responsetemplates"></a>
  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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    responseTemplates?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>SelectionPattern</code>  <a name="cfn-apigateway-method-integration-integrationresponse-selectionpattern"></a>
  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 <code>.+</code> regex to match error response. However, make sure that the error response does not contain any newline (<code>\n</code>) 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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    selectionPattern?: Value<string>;
    /** <code>StatusCode</code>  <a name="cfn-apigateway-method-integration-integrationresponse-statuscode"></a>
  Specifies the status code that is used to map the integration response to an existing MethodResponse.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    statusCode: Value<string>;
}
