diff --git a/api_gw.frontend.tf b/api_gw.frontend.tf new file mode 100644 index 0000000..761b3a5 --- /dev/null +++ b/api_gw.frontend.tf @@ -0,0 +1,30 @@ +resource "aws_api_gateway_resource" "transponder-tracker-frontend" { + parent_id = aws_api_gateway_rest_api.transponder-tracker.root_resource_id + path_part = "/" + rest_api_id = aws_api_gateway_rest_api.transponder-tracker.id +} + +resource "aws_api_gateway_method" "transponder-tracker-frontend" { + authorization = "NONE" + http_method = "GET" + resource_id = aws_api_gateway_resource.transponder-tracker-frontend.id + rest_api_id = aws_api_gateway_rest_api.transponder-tracker.id +} + +resource "aws_api_gateway_integration" "transponder-tracker-frontend" { + http_method = aws_api_gateway_method.transponder-tracker-frontend.http_method + resource_id = aws_api_gateway_resource.transponder-tracker-frontend.id + rest_api_id = aws_api_gateway_rest_api.transponder-tracker.id + type = "AWS_PROXY" + uri = module.frontend-lambda.invoke_arn +} + +resource "aws_lambda_permission" "apigw_lambda_frontend" { + statement_id = "AllowExecutionFromAPIGateway" + action = "lambda:InvokeFunction" + function_name = module.frontend-lambda.function_name + principal = "apigateway.amazonaws.com" + + # More: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html + source_arn = "arn:aws:execute-api:${data.aws_region.current.name}:${data.aws_caller_identity.current.id}:${aws_api_gateway_rest_api.transponder-tracker.id}/*/${aws_api_gateway_method.transponder-tracker-frontend.http_method}${aws_api_gateway_resource.transponder-tracker-frontend.path}" +} diff --git a/terraform_graph.png b/terraform_graph.png index 47408b6..1696154 100644 Binary files a/terraform_graph.png and b/terraform_graph.png differ