Skip to content
An example of how to use AWS lambda as an API resource
HCL Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Deploying an API with Terraform and APIGateway

What is this?

api_with_terraform demonstrates how to deploy lambda code as a service to API gateway.

By following the steps below you will cause example_handler in lambda_handlers/example/lambda to respond to a request at <aws_url>/example_path/example_stage/


setting up AWS:

  • AWS profile and account
  • Credentials added to ~/.aws/credentials
  • edit profile to point at name in ~/.aws/credentials

setting up Terraform:

For an easier install I like to move the Terraform executable to /usr/local/bin/ which is on my PATH. You will know it is installed correctly when you can run,

% terraform -v           127 ↵
Terraform v0.12.18


package your lambda

Package your new lambda into a file,

  • python example

Set up Terraform in your lambda directory,

  • cd lambda_handlers/example
  • Run terraform init

See changes Terraform wants to run:

  • terraform plan

Deploy your endpoint:

  • terraform apply

Destroy your deployed resources:

  • terraform destroy
You can’t perform that action at this time.