Terraform module that creates an API Gateway using OpenAPI YAML file with an optional authorizer
data "github_repository_file" "workspace_open_api_file" {
repository = "<repository name>"
branch = "<branch name>"
file = "<file path to your openapi.yaml>"
}
locals {
open_api_file = data.github_repository_file.workspace_open_api_file.content
update_region = replace(local.open_api_file, "$${AWS::Region}", var.region)
cleanup = replace(local.update_region, "Fn::Sub:", "")
update_lambda = replace(local.cleanup, "$${Lambda.Arn}", aws_lambda_function.pet_function.function_arn) # replace with your function arn
final = replace(local.update_lambda, "$${CognitoLambda.Arn}", aws_lambda_function.cognito_function.function_arn) # replace with your cognito function arn
}
module "openapi_gateway" {
source = "git::[email protected]:neilharia7/terraform-aws-openapi-gateway"
name = "api-gw"
enable_authorizer = true
authorizer_function_name = aws_lambda_function.cognito_function.function_name # replace with your cognito function arn
lambda_handler_function_name = aws_lambda_function.pet_function.function_name # replace with your function name
triggers = {
redeployment = local.final
}
types = ["REGIONAL"]
body = local.final
}
Name | Version |
---|---|
terraform | >= 0.15.0 |
aws | >= 3.69.0 |
Name | Version |
---|---|
aws | >= 3.69.0 |