{"id":28956946,"url":"https://github.com/developmentseed/tf-lambda-proxy-apigw","last_synced_at":"2025-08-10T16:06:54.194Z","repository":{"id":66924975,"uuid":"171719775","full_name":"developmentseed/tf-lambda-proxy-apigw","owner":"developmentseed","description":"Terraform Module for API Gateway Proxy + AWS Lambda","archived":false,"fork":false,"pushed_at":"2020-05-05T17:33:46.000Z","size":21,"stargazers_count":24,"open_issues_count":1,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-23T21:47:25.450Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/developmentseed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-20T17:35:28.000Z","updated_at":"2023-12-23T00:31:36.000Z","dependencies_parsed_at":"2023-05-14T05:45:17.994Z","dependency_job_id":null,"html_url":"https://github.com/developmentseed/tf-lambda-proxy-apigw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/developmentseed/tf-lambda-proxy-apigw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftf-lambda-proxy-apigw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftf-lambda-proxy-apigw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftf-lambda-proxy-apigw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftf-lambda-proxy-apigw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developmentseed","download_url":"https://codeload.github.com/developmentseed/tf-lambda-proxy-apigw/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftf-lambda-proxy-apigw/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269747888,"owners_count":24469100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-23T21:41:14.110Z","updated_at":"2025-08-10T16:06:54.157Z","avatar_url":"https://github.com/developmentseed.png","language":"HCL","readme":"# Terraform: API Gateway Proxy + AWS Lambda\n\n\nTerraform module to create AWS [Lambda](https://www.terraform.io/docs/providers/aws/r/lambda_function.html) and API gateway with COORS, binary support and `{proxy+}` integration.\n\nNote: This module was developed to support dynamic tiling for python Lambda functions and was tested using [lambda-proxy](https://github.com/vincentsarago/lambda-proxy).\n\n## How to use this module\n\n```terraform\nmodule \"lambda_proxy_api\" {\n    source         = \"git@github.com:developmentseed/tf-lambda-proxy-apigw.git\"\n\n    # General options\n    project                  = var.project\n    stage_name               = var.stage_name\n    region                   = var.region\n\n    # Lambda options\n    lambda_name              = var.lambda_name\n    lambda_runtime           = var.lambda_runtime\n    lambda_memory            = var.lambda_memory\n    lambda_timeout           = var.lambda_timeout\n    lambda_package           = var.lambda_package\n    lambda_handler           = var.lambda_handler\n    lambda_env               = var.lambda_env\n    lambda_tags              = var.lambda_tags\n\n    # API Gateway options\n    binary_type              = var.binary_type\n    minimum_compression_size = var.minimum_compression_size\n    method                   = var.method\n}\n```\n\n**Extend Lambda IAM role**\n\n```terraform\nresource \"aws_iam_role_policy\" \"permissions\" {\n  name = module.lambda_proxy_api.lambda_role}-bucket-permission\"\n  role = module.lambda_proxy_api.lambda_role_id\n\n  policy = \u003c\u003cEOF\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\n        \"s3:GetObject\",\n        \"s3:ListBucket\"\n      ],\n      \"Resource\": \"arn:aws:s3:::${var.my_bucket}*\"\n    }\n  ]\n}\nEOF\n}\n```\n\n## Examples\n\n- [example-with-basic-python-function](https://github.com/developmentseed/tf-lambda-proxy-apigw/tree/master/examples/example-python3.6)\n\n\n## Inputs\n\n| Name                     | Description                                               | Required | Default     |\n|--------------------------|-----------------------------------------------------------|----------|-------------|\n| project                  | Project name                                              | Yes      |             |\n| stage                    | Stage (e.g. prod, dev, staging)                           | Yes      |             |\n| region                   | The AWS region, e.g., eu-west-1                           | Yes      |             |\n| lambda_name              | The Name of the lambda function                           | Yes      |             |\n| lambda_runtime           | The runtime of the lambda function e.g, python3.6         | Yes      |             |\n| lambda_memory            | The memory size of the function                           | No       | 128         |\n| lambda_timeout           | The timeout of the lambda function                        | No       | 3           |\n| lambda_package           | The lambda package name                                   | No       | package.zip |\n| lambda_handler           | The handler name of the lambda function                   | Yes      |             |\n| lambda_env               | The list of environment variables for the lambda function | No       |             |\n| lambda_tags              | Tags used for the AWS Lambda resources                    | No       |             |\n| binary_type              | The list of binary media types supported by the RestApi   | No       | [\"\\*/\\*\"]   |\n| minimum_compression_size | Minimum response size to compress for the REST API        | No       | 0           |\n| method                   | The HTTP method for the REST API                          | Yes      | ANY         |\n\n## Outputs\n\n| Name           | Description                                                                                                        |\n| -------------- | ------------------------------------------------------------------------------------------------------------------ |\n| api_url        | The API Gateway endpoint url.                                                                                      |\n| api_methods    | The HTTP methods allowed by the API Gateway endpoint url.                                                          |\n| lambda_name    | The unique name of your Lambda Function.                                                                           |\n| lambda_arn     | The ARN to be used for invoking Lambda Function from API Gateway                                                   |\n| lambda_role    | The name of the IAM role attached to the Lambda Function.                                                          |\n| lambda_role_id | The id of the IAM role attached to the Lambda Function.                                                            |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopmentseed%2Ftf-lambda-proxy-apigw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevelopmentseed%2Ftf-lambda-proxy-apigw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopmentseed%2Ftf-lambda-proxy-apigw/lists"}