1. Packages
  2. AWS
  3. API Docs
  4. apigatewayv2
  5. Integration
AWS v6.77.0 published on Wednesday, Apr 9, 2025 by Pulumi

aws.apigatewayv2.Integration

Explore with Pulumi AI

Manages an Amazon API Gateway Version 2 integration. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Integration("example", {
    apiId: exampleAwsApigatewayv2Api.id,
    integrationType: "MOCK",
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.apigatewayv2.Integration("example",
    api_id=example_aws_apigatewayv2_api["id"],
    integration_type="MOCK")
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewIntegration(ctx, "example", &apigatewayv2.IntegrationArgs{
			ApiId:           pulumi.Any(exampleAwsApigatewayv2Api.Id),
			IntegrationType: pulumi.String("MOCK"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var example = new Aws.ApiGatewayV2.Integration("example", new()
    {
        ApiId = exampleAwsApigatewayv2Api.Id,
        IntegrationType = "MOCK",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.Integration;
import com.pulumi.aws.apigatewayv2.IntegrationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Integration("example", IntegrationArgs.builder()
            .apiId(exampleAwsApigatewayv2Api.id())
            .integrationType("MOCK")
            .build());

    }
}
Copy
resources:
  example:
    type: aws:apigatewayv2:Integration
    properties:
      apiId: ${exampleAwsApigatewayv2Api.id}
      integrationType: MOCK
Copy

Lambda Integration

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.lambda.Function("example", {
    code: new pulumi.asset.FileArchive("example.zip"),
    name: "Example",
    role: exampleAwsIamRole.arn,
    handler: "index.handler",
    runtime: aws.lambda.Runtime.NodeJS20dX,
});
const exampleIntegration = new aws.apigatewayv2.Integration("example", {
    apiId: exampleAwsApigatewayv2Api.id,
    integrationType: "AWS_PROXY",
    connectionType: "INTERNET",
    contentHandlingStrategy: "CONVERT_TO_TEXT",
    description: "Lambda example",
    integrationMethod: "POST",
    integrationUri: example.invokeArn,
    passthroughBehavior: "WHEN_NO_MATCH",
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.lambda_.Function("example",
    code=pulumi.FileArchive("example.zip"),
    name="Example",
    role=example_aws_iam_role["arn"],
    handler="index.handler",
    runtime=aws.lambda_.Runtime.NODE_JS20D_X)
example_integration = aws.apigatewayv2.Integration("example",
    api_id=example_aws_apigatewayv2_api["id"],
    integration_type="AWS_PROXY",
    connection_type="INTERNET",
    content_handling_strategy="CONVERT_TO_TEXT",
    description="Lambda example",
    integration_method="POST",
    integration_uri=example.invoke_arn,
    passthrough_behavior="WHEN_NO_MATCH")
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := lambda.NewFunction(ctx, "example", &lambda.FunctionArgs{
			Code:    pulumi.NewFileArchive("example.zip"),
			Name:    pulumi.String("Example"),
			Role:    pulumi.Any(exampleAwsIamRole.Arn),
			Handler: pulumi.String("index.handler"),
			Runtime: pulumi.String(lambda.RuntimeNodeJS20dX),
		})
		if err != nil {
			return err
		}
		_, err = apigatewayv2.NewIntegration(ctx, "example", &apigatewayv2.IntegrationArgs{
			ApiId:                   pulumi.Any(exampleAwsApigatewayv2Api.Id),
			IntegrationType:         pulumi.String("AWS_PROXY"),
			ConnectionType:          pulumi.String("INTERNET"),
			ContentHandlingStrategy: pulumi.String("CONVERT_TO_TEXT"),
			Description:             pulumi.String("Lambda example"),
			IntegrationMethod:       pulumi.String("POST"),
			IntegrationUri:          example.InvokeArn,
			PassthroughBehavior:     pulumi.String("WHEN_NO_MATCH"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var example = new Aws.Lambda.Function("example", new()
    {
        Code = new FileArchive("example.zip"),
        Name = "Example",
        Role = exampleAwsIamRole.Arn,
        Handler = "index.handler",
        Runtime = Aws.Lambda.Runtime.NodeJS20dX,
    });

    var exampleIntegration = new Aws.ApiGatewayV2.Integration("example", new()
    {
        ApiId = exampleAwsApigatewayv2Api.Id,
        IntegrationType = "AWS_PROXY",
        ConnectionType = "INTERNET",
        ContentHandlingStrategy = "CONVERT_TO_TEXT",
        Description = "Lambda example",
        IntegrationMethod = "POST",
        IntegrationUri = example.InvokeArn,
        PassthroughBehavior = "WHEN_NO_MATCH",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.lambda.Function;
import com.pulumi.aws.lambda.FunctionArgs;
import com.pulumi.aws.apigatewayv2.Integration;
import com.pulumi.aws.apigatewayv2.IntegrationArgs;
import com.pulumi.asset.FileArchive;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Function("example", FunctionArgs.builder()
            .code(new FileArchive("example.zip"))
            .name("Example")
            .role(exampleAwsIamRole.arn())
            .handler("index.handler")
            .runtime("nodejs20.x")
            .build());

        var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder()
            .apiId(exampleAwsApigatewayv2Api.id())
            .integrationType("AWS_PROXY")
            .connectionType("INTERNET")
            .contentHandlingStrategy("CONVERT_TO_TEXT")
            .description("Lambda example")
            .integrationMethod("POST")
            .integrationUri(example.invokeArn())
            .passthroughBehavior("WHEN_NO_MATCH")
            .build());

    }
}
Copy
resources:
  example:
    type: aws:lambda:Function
    properties:
      code:
        fn::FileArchive: example.zip
      name: Example
      role: ${exampleAwsIamRole.arn}
      handler: index.handler
      runtime: nodejs20.x
  exampleIntegration:
    type: aws:apigatewayv2:Integration
    name: example
    properties:
      apiId: ${exampleAwsApigatewayv2Api.id}
      integrationType: AWS_PROXY
      connectionType: INTERNET
      contentHandlingStrategy: CONVERT_TO_TEXT
      description: Lambda example
      integrationMethod: POST
      integrationUri: ${example.invokeArn}
      passthroughBehavior: WHEN_NO_MATCH
Copy

AWS Service Integration

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Integration("example", {
    apiId: exampleAwsApigatewayv2Api.id,
    credentialsArn: exampleAwsIamRole.arn,
    description: "SQS example",
    integrationType: "AWS_PROXY",
    integrationSubtype: "SQS-SendMessage",
    requestParameters: {
        QueueUrl: "$request.header.queueUrl",
        MessageBody: "$request.body.message",
    },
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.apigatewayv2.Integration("example",
    api_id=example_aws_apigatewayv2_api["id"],
    credentials_arn=example_aws_iam_role["arn"],
    description="SQS example",
    integration_type="AWS_PROXY",
    integration_subtype="SQS-SendMessage",
    request_parameters={
        "QueueUrl": "$request.header.queueUrl",
        "MessageBody": "$request.body.message",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewIntegration(ctx, "example", &apigatewayv2.IntegrationArgs{
			ApiId:              pulumi.Any(exampleAwsApigatewayv2Api.Id),
			CredentialsArn:     pulumi.Any(exampleAwsIamRole.Arn),
			Description:        pulumi.String("SQS example"),
			IntegrationType:    pulumi.String("AWS_PROXY"),
			IntegrationSubtype: pulumi.String("SQS-SendMessage"),
			RequestParameters: pulumi.StringMap{
				"QueueUrl":    pulumi.String("$request.header.queueUrl"),
				"MessageBody": pulumi.String("$request.body.message"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var example = new Aws.ApiGatewayV2.Integration("example", new()
    {
        ApiId = exampleAwsApigatewayv2Api.Id,
        CredentialsArn = exampleAwsIamRole.Arn,
        Description = "SQS example",
        IntegrationType = "AWS_PROXY",
        IntegrationSubtype = "SQS-SendMessage",
        RequestParameters = 
        {
            { "QueueUrl", "$request.header.queueUrl" },
            { "MessageBody", "$request.body.message" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.Integration;
import com.pulumi.aws.apigatewayv2.IntegrationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Integration("example", IntegrationArgs.builder()
            .apiId(exampleAwsApigatewayv2Api.id())
            .credentialsArn(exampleAwsIamRole.arn())
            .description("SQS example")
            .integrationType("AWS_PROXY")
            .integrationSubtype("SQS-SendMessage")
            .requestParameters(Map.ofEntries(
                Map.entry("QueueUrl", "$request.header.queueUrl"),
                Map.entry("MessageBody", "$request.body.message")
            ))
            .build());

    }
}
Copy
resources:
  example:
    type: aws:apigatewayv2:Integration
    properties:
      apiId: ${exampleAwsApigatewayv2Api.id}
      credentialsArn: ${exampleAwsIamRole.arn}
      description: SQS example
      integrationType: AWS_PROXY
      integrationSubtype: SQS-SendMessage
      requestParameters:
        QueueUrl: $request.header.queueUrl
        MessageBody: $request.body.message
Copy

Private Integration

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Integration("example", {
    apiId: exampleAwsApigatewayv2Api.id,
    credentialsArn: exampleAwsIamRole.arn,
    description: "Example with a load balancer",
    integrationType: "HTTP_PROXY",
    integrationUri: exampleAwsLbListener.arn,
    integrationMethod: "ANY",
    connectionType: "VPC_LINK",
    connectionId: exampleAwsApigatewayv2VpcLink.id,
    tlsConfig: {
        serverNameToVerify: "example.com",
    },
    requestParameters: {
        "append:header.authforintegration": "$context.authorizer.authorizerResponse",
        "overwrite:path": "staticValueForIntegration",
    },
    responseParameters: [
        {
            statusCode: "403",
            mappings: {
                "append:header.auth": "$context.authorizer.authorizerResponse",
            },
        },
        {
            statusCode: "200",
            mappings: {
                "overwrite:statuscode": "204",
            },
        },
    ],
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.apigatewayv2.Integration("example",
    api_id=example_aws_apigatewayv2_api["id"],
    credentials_arn=example_aws_iam_role["arn"],
    description="Example with a load balancer",
    integration_type="HTTP_PROXY",
    integration_uri=example_aws_lb_listener["arn"],
    integration_method="ANY",
    connection_type="VPC_LINK",
    connection_id=example_aws_apigatewayv2_vpc_link["id"],
    tls_config={
        "server_name_to_verify": "example.com",
    },
    request_parameters={
        "append:header.authforintegration": "$context.authorizer.authorizerResponse",
        "overwrite:path": "staticValueForIntegration",
    },
    response_parameters=[
        {
            "status_code": "403",
            "mappings": {
                "append:header.auth": "$context.authorizer.authorizerResponse",
            },
        },
        {
            "status_code": "200",
            "mappings": {
                "overwrite:statuscode": "204",
            },
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewIntegration(ctx, "example", &apigatewayv2.IntegrationArgs{
			ApiId:             pulumi.Any(exampleAwsApigatewayv2Api.Id),
			CredentialsArn:    pulumi.Any(exampleAwsIamRole.Arn),
			Description:       pulumi.String("Example with a load balancer"),
			IntegrationType:   pulumi.String("HTTP_PROXY"),
			IntegrationUri:    pulumi.Any(exampleAwsLbListener.Arn),
			IntegrationMethod: pulumi.String("ANY"),
			ConnectionType:    pulumi.String("VPC_LINK"),
			ConnectionId:      pulumi.Any(exampleAwsApigatewayv2VpcLink.Id),
			TlsConfig: &apigatewayv2.IntegrationTlsConfigArgs{
				ServerNameToVerify: pulumi.String("example.com"),
			},
			RequestParameters: pulumi.StringMap{
				"append:header.authforintegration": pulumi.String("$context.authorizer.authorizerResponse"),
				"overwrite:path":                   pulumi.String("staticValueForIntegration"),
			},
			ResponseParameters: apigatewayv2.IntegrationResponseParameterArray{
				&apigatewayv2.IntegrationResponseParameterArgs{
					StatusCode: pulumi.String("403"),
					Mappings: pulumi.StringMap{
						"append:header.auth": pulumi.String("$context.authorizer.authorizerResponse"),
					},
				},
				&apigatewayv2.IntegrationResponseParameterArgs{
					StatusCode: pulumi.String("200"),
					Mappings: pulumi.StringMap{
						"overwrite:statuscode": pulumi.String("204"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var example = new Aws.ApiGatewayV2.Integration("example", new()
    {
        ApiId = exampleAwsApigatewayv2Api.Id,
        CredentialsArn = exampleAwsIamRole.Arn,
        Description = "Example with a load balancer",
        IntegrationType = "HTTP_PROXY",
        IntegrationUri = exampleAwsLbListener.Arn,
        IntegrationMethod = "ANY",
        ConnectionType = "VPC_LINK",
        ConnectionId = exampleAwsApigatewayv2VpcLink.Id,
        TlsConfig = new Aws.ApiGatewayV2.Inputs.IntegrationTlsConfigArgs
        {
            ServerNameToVerify = "example.com",
        },
        RequestParameters = 
        {
            { "append:header.authforintegration", "$context.authorizer.authorizerResponse" },
            { "overwrite:path", "staticValueForIntegration" },
        },
        ResponseParameters = new[]
        {
            new Aws.ApiGatewayV2.Inputs.IntegrationResponseParameterArgs
            {
                StatusCode = "403",
                Mappings = 
                {
                    { "append:header.auth", "$context.authorizer.authorizerResponse" },
                },
            },
            new Aws.ApiGatewayV2.Inputs.IntegrationResponseParameterArgs
            {
                StatusCode = "200",
                Mappings = 
                {
                    { "overwrite:statuscode", "204" },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.Integration;
import com.pulumi.aws.apigatewayv2.IntegrationArgs;
import com.pulumi.aws.apigatewayv2.inputs.IntegrationTlsConfigArgs;
import com.pulumi.aws.apigatewayv2.inputs.IntegrationResponseParameterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Integration("example", IntegrationArgs.builder()
            .apiId(exampleAwsApigatewayv2Api.id())
            .credentialsArn(exampleAwsIamRole.arn())
            .description("Example with a load balancer")
            .integrationType("HTTP_PROXY")
            .integrationUri(exampleAwsLbListener.arn())
            .integrationMethod("ANY")
            .connectionType("VPC_LINK")
            .connectionId(exampleAwsApigatewayv2VpcLink.id())
            .tlsConfig(IntegrationTlsConfigArgs.builder()
                .serverNameToVerify("example.com")
                .build())
            .requestParameters(Map.ofEntries(
                Map.entry("append:header.authforintegration", "$context.authorizer.authorizerResponse"),
                Map.entry("overwrite:path", "staticValueForIntegration")
            ))
            .responseParameters(            
                IntegrationResponseParameterArgs.builder()
                    .statusCode("403")
                    .mappings(Map.of("append:header.auth", "$context.authorizer.authorizerResponse"))
                    .build(),
                IntegrationResponseParameterArgs.builder()
                    .statusCode("200")
                    .mappings(Map.of("overwrite:statuscode", "204"))
                    .build())
            .build());

    }
}
Copy
resources:
  example:
    type: aws:apigatewayv2:Integration
    properties:
      apiId: ${exampleAwsApigatewayv2Api.id}
      credentialsArn: ${exampleAwsIamRole.arn}
      description: Example with a load balancer
      integrationType: HTTP_PROXY
      integrationUri: ${exampleAwsLbListener.arn}
      integrationMethod: ANY
      connectionType: VPC_LINK
      connectionId: ${exampleAwsApigatewayv2VpcLink.id}
      tlsConfig:
        serverNameToVerify: example.com
      requestParameters:
        append:header.authforintegration: $context.authorizer.authorizerResponse
        overwrite:path: staticValueForIntegration
      responseParameters:
        - statusCode: 403
          mappings:
            append:header.auth: $context.authorizer.authorizerResponse
        - statusCode: 200
          mappings:
            overwrite:statuscode: '204'
Copy

Create Integration Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Integration(name: string, args: IntegrationArgs, opts?: CustomResourceOptions);
@overload
def Integration(resource_name: str,
                args: IntegrationArgs,
                opts: Optional[ResourceOptions] = None)

@overload
def Integration(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                api_id: Optional[str] = None,
                integration_type: Optional[str] = None,
                credentials_arn: Optional[str] = None,
                integration_uri: Optional[str] = None,
                connection_type: Optional[str] = None,
                description: Optional[str] = None,
                integration_method: Optional[str] = None,
                integration_subtype: Optional[str] = None,
                connection_id: Optional[str] = None,
                content_handling_strategy: Optional[str] = None,
                passthrough_behavior: Optional[str] = None,
                payload_format_version: Optional[str] = None,
                request_parameters: Optional[Mapping[str, str]] = None,
                request_templates: Optional[Mapping[str, str]] = None,
                response_parameters: Optional[Sequence[IntegrationResponseParameterArgs]] = None,
                template_selection_expression: Optional[str] = None,
                timeout_milliseconds: Optional[int] = None,
                tls_config: Optional[IntegrationTlsConfigArgs] = None)
func NewIntegration(ctx *Context, name string, args IntegrationArgs, opts ...ResourceOption) (*Integration, error)
public Integration(string name, IntegrationArgs args, CustomResourceOptions? opts = null)
public Integration(String name, IntegrationArgs args)
public Integration(String name, IntegrationArgs args, CustomResourceOptions options)
type: aws:apigatewayv2:Integration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. IntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. IntegrationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. IntegrationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. IntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. IntegrationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var awsIntegrationResource = new Aws.ApiGatewayV2.Integration("awsIntegrationResource", new()
{
    ApiId = "string",
    IntegrationType = "string",
    CredentialsArn = "string",
    IntegrationUri = "string",
    ConnectionType = "string",
    Description = "string",
    IntegrationMethod = "string",
    IntegrationSubtype = "string",
    ConnectionId = "string",
    ContentHandlingStrategy = "string",
    PassthroughBehavior = "string",
    PayloadFormatVersion = "string",
    RequestParameters = 
    {
        { "string", "string" },
    },
    RequestTemplates = 
    {
        { "string", "string" },
    },
    ResponseParameters = new[]
    {
        new Aws.ApiGatewayV2.Inputs.IntegrationResponseParameterArgs
        {
            Mappings = 
            {
                { "string", "string" },
            },
            StatusCode = "string",
        },
    },
    TemplateSelectionExpression = "string",
    TimeoutMilliseconds = 0,
    TlsConfig = new Aws.ApiGatewayV2.Inputs.IntegrationTlsConfigArgs
    {
        ServerNameToVerify = "string",
    },
});
Copy
example, err := apigatewayv2.NewIntegration(ctx, "awsIntegrationResource", &apigatewayv2.IntegrationArgs{
	ApiId:                   pulumi.String("string"),
	IntegrationType:         pulumi.String("string"),
	CredentialsArn:          pulumi.String("string"),
	IntegrationUri:          pulumi.String("string"),
	ConnectionType:          pulumi.String("string"),
	Description:             pulumi.String("string"),
	IntegrationMethod:       pulumi.String("string"),
	IntegrationSubtype:      pulumi.String("string"),
	ConnectionId:            pulumi.String("string"),
	ContentHandlingStrategy: pulumi.String("string"),
	PassthroughBehavior:     pulumi.String("string"),
	PayloadFormatVersion:    pulumi.String("string"),
	RequestParameters: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	RequestTemplates: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	ResponseParameters: apigatewayv2.IntegrationResponseParameterArray{
		&apigatewayv2.IntegrationResponseParameterArgs{
			Mappings: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			StatusCode: pulumi.String("string"),
		},
	},
	TemplateSelectionExpression: pulumi.String("string"),
	TimeoutMilliseconds:         pulumi.Int(0),
	TlsConfig: &apigatewayv2.IntegrationTlsConfigArgs{
		ServerNameToVerify: pulumi.String("string"),
	},
})
Copy
var awsIntegrationResource = new Integration("awsIntegrationResource", IntegrationArgs.builder()
    .apiId("string")
    .integrationType("string")
    .credentialsArn("string")
    .integrationUri("string")
    .connectionType("string")
    .description("string")
    .integrationMethod("string")
    .integrationSubtype("string")
    .connectionId("string")
    .contentHandlingStrategy("string")
    .passthroughBehavior("string")
    .payloadFormatVersion("string")
    .requestParameters(Map.of("string", "string"))
    .requestTemplates(Map.of("string", "string"))
    .responseParameters(IntegrationResponseParameterArgs.builder()
        .mappings(Map.of("string", "string"))
        .statusCode("string")
        .build())
    .templateSelectionExpression("string")
    .timeoutMilliseconds(0)
    .tlsConfig(IntegrationTlsConfigArgs.builder()
        .serverNameToVerify("string")
        .build())
    .build());
Copy
aws_integration_resource = aws.apigatewayv2.Integration("awsIntegrationResource",
    api_id="string",
    integration_type="string",
    credentials_arn="string",
    integration_uri="string",
    connection_type="string",
    description="string",
    integration_method="string",
    integration_subtype="string",
    connection_id="string",
    content_handling_strategy="string",
    passthrough_behavior="string",
    payload_format_version="string",
    request_parameters={
        "string": "string",
    },
    request_templates={
        "string": "string",
    },
    response_parameters=[{
        "mappings": {
            "string": "string",
        },
        "status_code": "string",
    }],
    template_selection_expression="string",
    timeout_milliseconds=0,
    tls_config={
        "server_name_to_verify": "string",
    })
Copy
const awsIntegrationResource = new aws.apigatewayv2.Integration("awsIntegrationResource", {
    apiId: "string",
    integrationType: "string",
    credentialsArn: "string",
    integrationUri: "string",
    connectionType: "string",
    description: "string",
    integrationMethod: "string",
    integrationSubtype: "string",
    connectionId: "string",
    contentHandlingStrategy: "string",
    passthroughBehavior: "string",
    payloadFormatVersion: "string",
    requestParameters: {
        string: "string",
    },
    requestTemplates: {
        string: "string",
    },
    responseParameters: [{
        mappings: {
            string: "string",
        },
        statusCode: "string",
    }],
    templateSelectionExpression: "string",
    timeoutMilliseconds: 0,
    tlsConfig: {
        serverNameToVerify: "string",
    },
});
Copy
type: aws:apigatewayv2:Integration
properties:
    apiId: string
    connectionId: string
    connectionType: string
    contentHandlingStrategy: string
    credentialsArn: string
    description: string
    integrationMethod: string
    integrationSubtype: string
    integrationType: string
    integrationUri: string
    passthroughBehavior: string
    payloadFormatVersion: string
    requestParameters:
        string: string
    requestTemplates:
        string: string
    responseParameters:
        - mappings:
            string: string
          statusCode: string
    templateSelectionExpression: string
    timeoutMilliseconds: 0
    tlsConfig:
        serverNameToVerify: string
Copy

Integration Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Integration resource accepts the following input properties:

ApiId
This property is required.
Changes to this property will trigger replacement.
string
API identifier.
IntegrationType
This property is required.
Changes to this property will trigger replacement.
string
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
ConnectionId string
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
ConnectionType string
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
ContentHandlingStrategy string
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
CredentialsArn string
Credentials required for the integration, if any.
Description string
Description of the integration.
IntegrationMethod string
Integration's HTTP method. Must be specified if integration_type is not MOCK.
IntegrationSubtype Changes to this property will trigger replacement. string
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
IntegrationUri string
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
PassthroughBehavior string
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
PayloadFormatVersion string
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
RequestParameters Dictionary<string, string>
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
RequestTemplates Dictionary<string, string>
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
ResponseParameters List<IntegrationResponseParameter>
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
TemplateSelectionExpression string
The template selection expression for the integration.
TimeoutMilliseconds int
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
TlsConfig IntegrationTlsConfig
TLS configuration for a private integration. Supported only for HTTP APIs.
ApiId
This property is required.
Changes to this property will trigger replacement.
string
API identifier.
IntegrationType
This property is required.
Changes to this property will trigger replacement.
string
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
ConnectionId string
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
ConnectionType string
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
ContentHandlingStrategy string
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
CredentialsArn string
Credentials required for the integration, if any.
Description string
Description of the integration.
IntegrationMethod string
Integration's HTTP method. Must be specified if integration_type is not MOCK.
IntegrationSubtype Changes to this property will trigger replacement. string
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
IntegrationUri string
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
PassthroughBehavior string
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
PayloadFormatVersion string
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
RequestParameters map[string]string
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
RequestTemplates map[string]string
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
ResponseParameters []IntegrationResponseParameterArgs
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
TemplateSelectionExpression string
The template selection expression for the integration.
TimeoutMilliseconds int
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
TlsConfig IntegrationTlsConfigArgs
TLS configuration for a private integration. Supported only for HTTP APIs.
apiId
This property is required.
Changes to this property will trigger replacement.
String
API identifier.
integrationType
This property is required.
Changes to this property will trigger replacement.
String
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
connectionId String
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connectionType String
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
contentHandlingStrategy String
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentialsArn String
Credentials required for the integration, if any.
description String
Description of the integration.
integrationMethod String
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integrationSubtype Changes to this property will trigger replacement. String
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integrationUri String
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthroughBehavior String
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payloadFormatVersion String
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
requestParameters Map<String,String>
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
requestTemplates Map<String,String>
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
responseParameters List<IntegrationResponseParameter>
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
templateSelectionExpression String
The template selection expression for the integration.
timeoutMilliseconds Integer
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tlsConfig IntegrationTlsConfig
TLS configuration for a private integration. Supported only for HTTP APIs.
apiId
This property is required.
Changes to this property will trigger replacement.
string
API identifier.
integrationType
This property is required.
Changes to this property will trigger replacement.
string
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
connectionId string
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connectionType string
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
contentHandlingStrategy string
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentialsArn string
Credentials required for the integration, if any.
description string
Description of the integration.
integrationMethod string
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integrationSubtype Changes to this property will trigger replacement. string
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integrationUri string
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthroughBehavior string
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payloadFormatVersion string
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
requestParameters {[key: string]: string}
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
requestTemplates {[key: string]: string}
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
responseParameters IntegrationResponseParameter[]
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
templateSelectionExpression string
The template selection expression for the integration.
timeoutMilliseconds number
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tlsConfig IntegrationTlsConfig
TLS configuration for a private integration. Supported only for HTTP APIs.
api_id
This property is required.
Changes to this property will trigger replacement.
str
API identifier.
integration_type
This property is required.
Changes to this property will trigger replacement.
str
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
connection_id str
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connection_type str
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
content_handling_strategy str
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentials_arn str
Credentials required for the integration, if any.
description str
Description of the integration.
integration_method str
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integration_subtype Changes to this property will trigger replacement. str
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integration_uri str
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthrough_behavior str
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payload_format_version str
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
request_parameters Mapping[str, str]
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
request_templates Mapping[str, str]
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
response_parameters Sequence[IntegrationResponseParameterArgs]
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
template_selection_expression str
The template selection expression for the integration.
timeout_milliseconds int
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tls_config IntegrationTlsConfigArgs
TLS configuration for a private integration. Supported only for HTTP APIs.
apiId
This property is required.
Changes to this property will trigger replacement.
String
API identifier.
integrationType
This property is required.
Changes to this property will trigger replacement.
String
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
connectionId String
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connectionType String
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
contentHandlingStrategy String
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentialsArn String
Credentials required for the integration, if any.
description String
Description of the integration.
integrationMethod String
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integrationSubtype Changes to this property will trigger replacement. String
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integrationUri String
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthroughBehavior String
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payloadFormatVersion String
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
requestParameters Map<String>
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
requestTemplates Map<String>
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
responseParameters List<Property Map>
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
templateSelectionExpression String
The template selection expression for the integration.
timeoutMilliseconds Number
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tlsConfig Property Map
TLS configuration for a private integration. Supported only for HTTP APIs.

Outputs

All input properties are implicitly available as output properties. Additionally, the Integration resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
IntegrationResponseSelectionExpression string
The integration response selection expression for the integration.
Id string
The provider-assigned unique ID for this managed resource.
IntegrationResponseSelectionExpression string
The integration response selection expression for the integration.
id String
The provider-assigned unique ID for this managed resource.
integrationResponseSelectionExpression String
The integration response selection expression for the integration.
id string
The provider-assigned unique ID for this managed resource.
integrationResponseSelectionExpression string
The integration response selection expression for the integration.
id str
The provider-assigned unique ID for this managed resource.
integration_response_selection_expression str
The integration response selection expression for the integration.
id String
The provider-assigned unique ID for this managed resource.
integrationResponseSelectionExpression String
The integration response selection expression for the integration.

Look up Existing Integration Resource

Get an existing Integration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: IntegrationState, opts?: CustomResourceOptions): Integration
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        api_id: Optional[str] = None,
        connection_id: Optional[str] = None,
        connection_type: Optional[str] = None,
        content_handling_strategy: Optional[str] = None,
        credentials_arn: Optional[str] = None,
        description: Optional[str] = None,
        integration_method: Optional[str] = None,
        integration_response_selection_expression: Optional[str] = None,
        integration_subtype: Optional[str] = None,
        integration_type: Optional[str] = None,
        integration_uri: Optional[str] = None,
        passthrough_behavior: Optional[str] = None,
        payload_format_version: Optional[str] = None,
        request_parameters: Optional[Mapping[str, str]] = None,
        request_templates: Optional[Mapping[str, str]] = None,
        response_parameters: Optional[Sequence[IntegrationResponseParameterArgs]] = None,
        template_selection_expression: Optional[str] = None,
        timeout_milliseconds: Optional[int] = None,
        tls_config: Optional[IntegrationTlsConfigArgs] = None) -> Integration
func GetIntegration(ctx *Context, name string, id IDInput, state *IntegrationState, opts ...ResourceOption) (*Integration, error)
public static Integration Get(string name, Input<string> id, IntegrationState? state, CustomResourceOptions? opts = null)
public static Integration get(String name, Output<String> id, IntegrationState state, CustomResourceOptions options)
resources:  _:    type: aws:apigatewayv2:Integration    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ApiId Changes to this property will trigger replacement. string
API identifier.
ConnectionId string
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
ConnectionType string
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
ContentHandlingStrategy string
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
CredentialsArn string
Credentials required for the integration, if any.
Description string
Description of the integration.
IntegrationMethod string
Integration's HTTP method. Must be specified if integration_type is not MOCK.
IntegrationResponseSelectionExpression string
The integration response selection expression for the integration.
IntegrationSubtype Changes to this property will trigger replacement. string
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
IntegrationType Changes to this property will trigger replacement. string
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
IntegrationUri string
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
PassthroughBehavior string
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
PayloadFormatVersion string
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
RequestParameters Dictionary<string, string>
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
RequestTemplates Dictionary<string, string>
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
ResponseParameters List<IntegrationResponseParameter>
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
TemplateSelectionExpression string
The template selection expression for the integration.
TimeoutMilliseconds int
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
TlsConfig IntegrationTlsConfig
TLS configuration for a private integration. Supported only for HTTP APIs.
ApiId Changes to this property will trigger replacement. string
API identifier.
ConnectionId string
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
ConnectionType string
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
ContentHandlingStrategy string
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
CredentialsArn string
Credentials required for the integration, if any.
Description string
Description of the integration.
IntegrationMethod string
Integration's HTTP method. Must be specified if integration_type is not MOCK.
IntegrationResponseSelectionExpression string
The integration response selection expression for the integration.
IntegrationSubtype Changes to this property will trigger replacement. string
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
IntegrationType Changes to this property will trigger replacement. string
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
IntegrationUri string
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
PassthroughBehavior string
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
PayloadFormatVersion string
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
RequestParameters map[string]string
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
RequestTemplates map[string]string
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
ResponseParameters []IntegrationResponseParameterArgs
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
TemplateSelectionExpression string
The template selection expression for the integration.
TimeoutMilliseconds int
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
TlsConfig IntegrationTlsConfigArgs
TLS configuration for a private integration. Supported only for HTTP APIs.
apiId Changes to this property will trigger replacement. String
API identifier.
connectionId String
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connectionType String
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
contentHandlingStrategy String
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentialsArn String
Credentials required for the integration, if any.
description String
Description of the integration.
integrationMethod String
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integrationResponseSelectionExpression String
The integration response selection expression for the integration.
integrationSubtype Changes to this property will trigger replacement. String
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integrationType Changes to this property will trigger replacement. String
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
integrationUri String
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthroughBehavior String
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payloadFormatVersion String
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
requestParameters Map<String,String>
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
requestTemplates Map<String,String>
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
responseParameters List<IntegrationResponseParameter>
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
templateSelectionExpression String
The template selection expression for the integration.
timeoutMilliseconds Integer
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tlsConfig IntegrationTlsConfig
TLS configuration for a private integration. Supported only for HTTP APIs.
apiId Changes to this property will trigger replacement. string
API identifier.
connectionId string
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connectionType string
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
contentHandlingStrategy string
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentialsArn string
Credentials required for the integration, if any.
description string
Description of the integration.
integrationMethod string
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integrationResponseSelectionExpression string
The integration response selection expression for the integration.
integrationSubtype Changes to this property will trigger replacement. string
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integrationType Changes to this property will trigger replacement. string
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
integrationUri string
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthroughBehavior string
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payloadFormatVersion string
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
requestParameters {[key: string]: string}
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
requestTemplates {[key: string]: string}
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
responseParameters IntegrationResponseParameter[]
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
templateSelectionExpression string
The template selection expression for the integration.
timeoutMilliseconds number
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tlsConfig IntegrationTlsConfig
TLS configuration for a private integration. Supported only for HTTP APIs.
api_id Changes to this property will trigger replacement. str
API identifier.
connection_id str
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connection_type str
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
content_handling_strategy str
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentials_arn str
Credentials required for the integration, if any.
description str
Description of the integration.
integration_method str
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integration_response_selection_expression str
The integration response selection expression for the integration.
integration_subtype Changes to this property will trigger replacement. str
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integration_type Changes to this property will trigger replacement. str
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
integration_uri str
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthrough_behavior str
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payload_format_version str
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
request_parameters Mapping[str, str]
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
request_templates Mapping[str, str]
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
response_parameters Sequence[IntegrationResponseParameterArgs]
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
template_selection_expression str
The template selection expression for the integration.
timeout_milliseconds int
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tls_config IntegrationTlsConfigArgs
TLS configuration for a private integration. Supported only for HTTP APIs.
apiId Changes to this property will trigger replacement. String
API identifier.
connectionId String
ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
connectionType String
Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
contentHandlingStrategy String
How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
credentialsArn String
Credentials required for the integration, if any.
description String
Description of the integration.
integrationMethod String
Integration's HTTP method. Must be specified if integration_type is not MOCK.
integrationResponseSelectionExpression String
The integration response selection expression for the integration.
integrationSubtype Changes to this property will trigger replacement. String
AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
integrationType Changes to this property will trigger replacement. String
Integration type of an integration. Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
integrationUri String
URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
passthroughBehavior String
Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
payloadFormatVersion String
The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
requestParameters Map<String>
For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations. For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the Amazon API Gateway Developer Guide for details.
requestTemplates Map<String>
Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
responseParameters List<Property Map>
Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
templateSelectionExpression String
The template selection expression for the integration.
timeoutMilliseconds Number
Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.
tlsConfig Property Map
TLS configuration for a private integration. Supported only for HTTP APIs.

Supporting Types

IntegrationResponseParameter
, IntegrationResponseParameterArgs

Mappings This property is required. Dictionary<string, string>
Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the Amazon API Gateway Developer Guide for details.
StatusCode This property is required. string
HTTP status code in the range 200-599.
Mappings This property is required. map[string]string
Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the Amazon API Gateway Developer Guide for details.
StatusCode This property is required. string
HTTP status code in the range 200-599.
mappings This property is required. Map<String,String>
Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the Amazon API Gateway Developer Guide for details.
statusCode This property is required. String
HTTP status code in the range 200-599.
mappings This property is required. {[key: string]: string}
Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the Amazon API Gateway Developer Guide for details.
statusCode This property is required. string
HTTP status code in the range 200-599.
mappings This property is required. Mapping[str, str]
Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the Amazon API Gateway Developer Guide for details.
status_code This property is required. str
HTTP status code in the range 200-599.
mappings This property is required. Map<String>
Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the Amazon API Gateway Developer Guide for details.
statusCode This property is required. String
HTTP status code in the range 200-599.

IntegrationTlsConfig
, IntegrationTlsConfigArgs

ServerNameToVerify string
If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
ServerNameToVerify string
If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
serverNameToVerify String
If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
serverNameToVerify string
If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
server_name_to_verify str
If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
serverNameToVerify String
If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.

Import

Using pulumi import, import aws_apigatewayv2_integration using the API identifier and integration identifier. For example:

$ pulumi import aws:apigatewayv2/integration:Integration example aabbccddee/1122334
Copy

-> Note: The API Gateway managed integration created as part of quick_create cannot be imported.

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.