Вам не хватает нескольких компонентов. Самое главное, что нет связи между вашим aws_apigatewayv2_route
и aws_apigatewayv2_integration
.
Ссылка устанавливается с использованием аргумента target .
Аналогично, нет связи между aws_apigatewayv2_stage
и aws_apigatewayv2_deployment
.
Вы можете посмотреть следующую версию кода:
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
}
Код выше правильно создает интеграцию:
введите описание изображения здесь