Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

290
Views
Terraform cannot attach created integrations into routes for API Gateway

I am trying to use Terraform to deploy API Gateway that routes traffic into my domain google.com as an example.

I use aws_apigatewayv2_api for creating HTTP_PROXY type for integrations. I went through the docs but still cannot find the way to attach an integration into a route GET /sitemap.xml. How to deal with this?

resource "aws_api_gateway_deployment" "_" {
  rest_api_id = aws_api_gateway_rest_api._.id
  stage_name  = ""

  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_apigatewayv2_api" "_" {
  name          = "example"
  protocol_type = "HTTP"
}

resource "aws_apigatewayv2_route" "apigateway_route" {
  api_id    = aws_apigatewayv2_api._.id
  route_key = "GET /sitemap.xml"
}

resource "aws_apigatewayv2_integration" "apigateway_intergration" {
  api_id           = aws_apigatewayv2_api._.id
  integration_type = "HTTP_PROXY"

  connection_type      = "INTERNET"
  description          = "Gateway intergration for EC2"
  integration_method   = "ANY"
  integration_uri      = "https://www.google.com"
  passthrough_behavior = "WHEN_NO_MATCH"
}

# resource "aws_apigatewayv2_deployment" "apigateway_deployment" {
#   api_id      = aws_apigatewayv2_route.apigateway_route.api_id
#   description = "Example deployment"

#   lifecycle {
#     create_before_destroy = true
#   }
# }

resource "aws_apigatewayv2_stage" "apigateway_stage" {
  api_id = aws_apigatewayv2_api._.id
  name   = "example-stage"
}

UI API Gateway integration

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You are missing several components. Most importantly there is no link between your aws_apigatewayv2_route and aws_apigatewayv2_integration.

The link is established using target argument.

Similarly, there is no link between aws_apigatewayv2_stage and aws_apigatewayv2_deployment.

You can have a look at the following version of the code:


resource "aws_apigatewayv2_deployment" "example" {
  api_id      = aws_apigatewayv2_api._.id
  description = "Example deployment"

  lifecycle {
    create_before_destroy = true
  }
  
  depends_on = [
    aws_apigatewayv2_route.apigateway_route
  ]
}


resource "aws_apigatewayv2_api" "_" {
  name          = "example"
  protocol_type = "HTTP"
}

resource "aws_apigatewayv2_route" "apigateway_route" {
  api_id    = aws_apigatewayv2_api._.id
  route_key = "GET /sitemap.xml"
  
  target = "integrations/${aws_apigatewayv2_integration.apigateway_intergration.id}"
  
}

resource "aws_apigatewayv2_integration" "apigateway_intergration" {
  api_id           = aws_apigatewayv2_api._.id
  integration_type = "HTTP_PROXY"

  connection_type      = "INTERNET"
  description          = "Gateway intergration for EC2"
  integration_method   = "ANY"
  integration_uri      = "https://www.google.com"
  passthrough_behavior = "WHEN_NO_MATCH"
}

resource "aws_apigatewayv2_stage" "apigateway_stage" {
  api_id = aws_apigatewayv2_api._.id
  name   = "example-stage"
  deployment_id = aws_apigatewayv2_deployment.example.id  
}

The above code correctly creates integration:

enter image description here

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!