Skip to content

Commit

Permalink
remove option to define default integration
Browse files Browse the repository at this point in the history
  • Loading branch information
djelusic committed Dec 13, 2021
1 parent 12f0016 commit 13179b8
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 45 deletions.
39 changes: 1 addition & 38 deletions node/terraform/modules/http-api/api.tf
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ resource "aws_apigatewayv2_integration" "http" {
resource "aws_apigatewayv2_route" "http_proxy" {
for_each = local.integrations
api_id = aws_apigatewayv2_api.http.id
route_key = "${each.value.method} ${each.value.route}/{proxy+}"
route_key = "${each.value.method} ${each.value.route == "/" ? "" : each.value.route}/{proxy+}"
target = "integrations/${aws_apigatewayv2_integration.http_proxy[each.key].id}"
authorization_type = each.value.enable_auth ? "CUSTOM" : "NONE"
authorizer_id = each.value.enable_auth ? aws_apigatewayv2_authorizer.http[0].id : null
Expand All @@ -65,50 +65,13 @@ resource "aws_apigatewayv2_integration" "http_proxy" {
}
}

resource "aws_apigatewayv2_route" "http_default" {
api_id = aws_apigatewayv2_api.http.id
route_key = "${local.default_integration.method} /"
target = "integrations/${aws_apigatewayv2_integration.http_default.id}"
authorization_type = local.default_integration.enable_auth ? "CUSTOM" : "NONE"
authorizer_id = local.default_integration.enable_auth ? aws_apigatewayv2_authorizer.http[0].id : null
}

resource "aws_apigatewayv2_integration" "http_default" {
api_id = aws_apigatewayv2_api.http.id
integration_type = local.default_integration.type
integration_method = local.default_integration.integration_method
integration_uri = local.default_integration.uri
}

resource "aws_apigatewayv2_route" "http_default_proxy" {
api_id = aws_apigatewayv2_api.http.id
route_key = "${local.default_integration.method} /{proxy+}"
target = "integrations/${aws_apigatewayv2_integration.http_default_proxy.id}"
authorization_type = local.default_integration.enable_auth ? "CUSTOM" : "NONE"
authorizer_id = local.default_integration.enable_auth ? aws_apigatewayv2_authorizer.http[0].id : null
}

resource "aws_apigatewayv2_integration" "http_default_proxy" {
api_id = aws_apigatewayv2_api.http.id
integration_type = local.default_integration.type
integration_method = local.default_integration.integration_method
integration_uri = local.default_integration.type == "AWS_PROXY" ? local.default_integration.uri : "${local.default_integration.uri}/{proxy}"
request_parameters = {
"overwrite:path" = "$request.path.proxy"
}
}

resource "aws_apigatewayv2_deployment" "http" {
api_id = aws_apigatewayv2_api.http.id
depends_on = [
aws_apigatewayv2_integration.http,
aws_apigatewayv2_route.http,
aws_apigatewayv2_integration.http_proxy,
aws_apigatewayv2_route.http_proxy,
aws_apigatewayv2_integration.http_default,
aws_apigatewayv2_route.http_default,
aws_apigatewayv2_integration.http_default_proxy,
aws_apigatewayv2_route.http_default_proxy,
]
# adding routes and integrations here can result in errors on terraform apply
# see https://github.com/mantil-io/mantil/issues/101 for more information
Expand Down
4 changes: 0 additions & 4 deletions node/terraform/modules/http-api/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ locals {
enable_auth : var.authorizer != null && coalesce(value.enable_auth, false),
}
) }
default_integration = try(
[for k, v in local.integrations : v if coalesce(v.is_default, false) == true][0],
values(local.integrations)[0]
)
}

terraform {
Expand Down
1 change: 0 additions & 1 deletion node/terraform/modules/http-api/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ variable "integrations" {
uri = string
lambda_name = optional(string)
enable_auth = optional(bool)
is_default = optional(bool)
}))
default = []
}
Expand Down
3 changes: 1 addition & 2 deletions node/terraform/templates/project.tf
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,8 @@ module "api" {
type : "HTTP_PROXY"
method : "GET"
integration_method: "GET"
route : "/public"
route : "/"
uri : "http://${module.public_site[0].url}"
is_default : true
}
]{{end}})
ws_env = local.ws_env
Expand Down

0 comments on commit 13179b8

Please sign in to comment.