irongit
readfasterlabs-infra/apigateway.tf
31 lines1.0 KB
1resource "aws_apigatewayv2_api" "http_api" {
2 name = "${var.function_name}-gateway"
3 protocol_type = "HTTP"
4}
5
6resource "aws_lambda_permission" "allow_apigw" {
7 statement_id = "AllowExecutionFromAPIGateway"
8 action = "lambda:InvokeFunction"
9 function_name = aws_lambda_function.api.function_name
10 principal = "apigateway.amazonaws.com"
11 source_arn = "${aws_apigatewayv2_api.http_api.execution_arn}/*/*"
12}
13
14resource "aws_apigatewayv2_integration" "lambda_integration" {
15 api_id = aws_apigatewayv2_api.http_api.id
16 integration_type = "AWS_PROXY"
17 integration_uri = aws_lambda_function.api.invoke_arn
18 payload_format_version = "2.0"
19}
20
21resource "aws_apigatewayv2_route" "default_route" {
22 api_id = aws_apigatewayv2_api.http_api.id
23 route_key = "ANY /{proxy+}"
24 target = "integrations/${aws_apigatewayv2_integration.lambda_integration.id}"
25}
26
27resource "aws_apigatewayv2_stage" "default_stage" {
28 api_id = aws_apigatewayv2_api.http_api.id
29 name = "$default"
30 auto_deploy = true
31}