# IntegrationConfig

Result of binding an Integration to a Method.

- Source: [`aws-apigateway/lib/integration.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-apigateway/lib/integration.ts#L185)

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_apigateway as apigateway } from 'aws-cdk-lib';
import { aws_iam as iam } from 'aws-cdk-lib';

declare const role: iam.Role;
declare const vpcLink: apigateway.VpcLink;
const integrationConfig: apigateway.IntegrationConfig = {
  type: apigateway.IntegrationType.AWS,

  // the properties below are optional
  deploymentToken: 'deploymentToken',
  integrationHttpMethod: 'integrationHttpMethod',
  options: {
    cacheKeyParameters: ['cacheKeyParameters'],
    cacheNamespace: 'cacheNamespace',
    connectionType: apigateway.ConnectionType.INTERNET,
    contentHandling: apigateway.ContentHandling.CONVERT_TO_BINARY,
    credentialsPassthrough: false,
    credentialsRole: role,
    integrationResponses: [{
      statusCode: 'statusCode',

      // the properties below are optional
      contentHandling: apigateway.ContentHandling.CONVERT_TO_BINARY,
      responseParameters: {
        responseParametersKey: 'responseParameters',
      },
      responseTemplates: {
        responseTemplatesKey: 'responseTemplates',
      },
      selectionPattern: 'selectionPattern',
    }],
    passthroughBehavior: apigateway.PassthroughBehavior.WHEN_NO_MATCH,
    requestParameters: {
      requestParametersKey: 'requestParameters',
    },
    requestTemplates: {
      requestTemplatesKey: 'requestTemplates',
    },
    responseTransferMode: apigateway.ResponseTransferMode.BUFFERED,
    timeout: cdk.Duration.minutes(30),
    vpcLink: vpcLink,
  },
  uri: 'uri',
};
```

## Properties

- `deploymentToken`: string — This value is included in computing the Deployment's fingerprint.

  **Default:** undefined deployments are not triggered for any change to this integration.

  When the fingerprint
  changes, a new deployment is triggered.
  This property should contain values associated with the Integration that upon changing
  should trigger a fresh the Deployment needs to be refreshed.

- `integrationHttpMethod`: string — The integration's HTTP method type.

  **Default:** no integration method specified.

  Required unless you use a MOCK integration.

- `options`: [IntegrationOptions](/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationOptions.html) — Integration options.

  **Default:** no integration options

- `type`: [IntegrationType](/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IntegrationType.html) (required) — Specifies an API method integration type.

- `uri`: string — The Uniform Resource Identifier (URI) for the integration.

  **Default:** no URI. Usually applies to MOCK integration
