Skip to content

rpstreef/tf-apigateway

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Terraform API Gateway Module

About:

Supports basic setup of API Gateway with an OpenAPI 3 YML document:

These parameters configure the use of the OpenAPI 3 document:

  • api_template: API Gateway OpenAPI 3 template file
  • api_template_vars: Variables required in the OpenAPI template file

Added support for CloudWatch Alarms in v1.2, use the var.resources parameter to specify which endpoints you want to monitor.

How to use:

Call the module with the specific version you want using the ref query parameter:

# -----------------------------------------------------------------------------
# API Gateway
# -----------------------------------------------------------------------------
module "apigateway" {
  source            = "github.com/rpstreef/tf-apigateway?ref=v1.0"
  resource_tag_name = var.resource_tag_name
  namespace         = var.namespace
  region            = var.region

  api_name                   = local.api_name
  api_throttling_rate_limit  = var.api_throttling_rate_limit
  api_throttling_burst_limit = var.api_throttling_burst_limit
  api_metrics_enabled        = var.api_metrics_enabled
  api_logging_level          = var.api_logging_level
  api_template               = file("../../services/api/${local.api_name}.yml")
  api_template_vars = {
    region = var.region
  }

  resources = {
    "/identity/authenticate" = "POST",
    "/identity/register"     = "POST",
    "/identity/reset"        = "POST",
    "/identity/verify"       = "POST",
    "/user"                  = "GET"
  }
}

Changelog

v1.3

  • removed Lambda source code check, use this if you deploy your source code with CodePipeline

v1.2

Use the resources parameter var.resources to specify which API endpoints you want the following Alarms to be enabled:

  • latency P95
  • latency P99
  • 400 Errors
  • 500 Errors

v1.1

  • added data trace variable
  • added X-Ray tracing variable

v1.0

Initial release