Terraform module that creates an API Gateway using OpenAPI YAML file with an optional authorizer
HCL
terraform-aws-openapi-gateway
Terraform module that creates an API Gateway using OpenAPI YAML file with an optional authorizer
Usage
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.contentupdate_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 arnfinal=replace(local.update_lambda, "$${CognitoLambda.Arn}", aws_lambda_function.cognito_function.function_arn) # replace with your cognito function arn
}
module"openapi_gateway" {
source="git::git@github.com:neilharia7/terraform-aws-openapi-gateway"name="api-gw"enable_authorizer=trueauthorizer_function_name=aws_lambda_function.cognito_function.function_name# replace with your cognito function arnlambda_handler_function_name=aws_lambda_function.pet_function.function_name# replace with your function nametriggers={
redeployment = local.final
}
types=["REGIONAL"]
body=local.final
}