claranet / Terraform Aws Lambda
Licence: mit
Terraform module for AWS Lambda functions
Stars: ✭ 148
Labels
Projects that are alternatives of or similar to Terraform Aws Lambda
Terraformmagentocloud
AWS Magento 2 cloud Terraform infrastructure as code. For any systems WordPress / WooCommerce/ Drupal / Shopware 6 / Shopify APP / VueStorefront / Oddo / ORO / Magento 2 with horizontal Auto scaling (platform agnostic)
Stars: ✭ 136 (-8.11%)
Mutual labels: hcl
Terraform Vsphere Kubespray
Deploy a Kubernetes HA cluster on VMware vSphere
Stars: ✭ 141 (-4.73%)
Mutual labels: hcl
Terraform Google Network
A Terraform module that makes it easy to set up a new VPC Network in GCP.
Stars: ✭ 144 (-2.7%)
Mutual labels: hcl
Terragrunt Infrastructure Modules Example
A repo used to show examples file/folder structures you can use with Terragrunt and Terraform
Stars: ✭ 135 (-8.78%)
Mutual labels: hcl
Terraform Google Lb Http
Modular Global HTTP Load Balancer for GCE using forwarding rules.
Stars: ✭ 140 (-5.41%)
Mutual labels: hcl
Kubify
Terraform Template to Setup a Kubernetes Cluster on OpenStack/AWS/Azure
Stars: ✭ 142 (-4.05%)
Mutual labels: hcl
Terraform Google Gke Cluster
A Terraform module to create a best-practise Google Kubernetes Engine (GKE) cluster.
Stars: ✭ 133 (-10.14%)
Mutual labels: hcl
Example Pragmatic Terraform On Aws
技術書典6で頒布した『Pragmatic Terraform on AWS 』のサンプルコードを公開しています
Stars: ✭ 140 (-5.41%)
Mutual labels: hcl
Terraform Aws Landing Zone
Terraform Module for AWS Landing Zone
Stars: ✭ 142 (-4.05%)
Mutual labels: hcl
Terraform Aws Elasticsearch
Terraform module to provision an Elasticsearch cluster with built-in integrations with Kibana and Logstash.
Stars: ✭ 137 (-7.43%)
Mutual labels: hcl
Terraform Aws Cicd
Terraform Module for CI/CD with AWS Code Pipeline and Code Build
Stars: ✭ 138 (-6.76%)
Mutual labels: hcl
Terraform Aws Vpc
Terraform module which creates VPC resources on AWS
Stars: ✭ 2,043 (+1280.41%)
Mutual labels: hcl
Sap Hana
Tools to create, monitor and maintain SAP landscapes in Azure
Stars: ✭ 136 (-8.11%)
Mutual labels: hcl
Tfupdate
Update version constraints in your Terraform configurations
Stars: ✭ 145 (-2.03%)
Mutual labels: hcl
Terraform Foundational Policies Library
Sentinel is a language and framework for policy built to be embedded in existing software to enable fine-grained, logic-based policy decisions. This repository contains a library of Sentinel policies, developed by HashiCorp, that can be consumed directly within the Terraform Cloud platform.
Stars: ✭ 135 (-8.78%)
Mutual labels: hcl
Terraform With Circleci Example
This is an example of automatic deployments of your infrastructure using terraform and CircleCI 2.0 workflows
Stars: ✭ 142 (-4.05%)
Mutual labels: hcl
Terraform Google Vault
Modular deployment of Vault on Google Compute Engine with Terraform
Stars: ✭ 147 (-0.68%)
Mutual labels: hcl
Terraform
Source code for the Azure Marketplace Terraform development VM package.
Stars: ✭ 146 (-1.35%)
Mutual labels: hcl
Lokomotive Kubernetes
Lokomotive is a 100% open-source Kubernetes distribution from the folks at Kinvolk
Stars: ✭ 144 (-2.7%)
Mutual labels: hcl
terraform-aws-lambda
This Terraform module creates and uploads an AWS Lambda function and hides the ugly parts from you.
Features
- Only appears in the Terraform plan when there are legitimate changes.
- Creates a standard IAM role and policy for CloudWatch Logs.
- You can add additional policies if required.
- Zips up a source file or directory.
- Installs dependencies from
requirements.txt
for Python functions.- It only does this when necessary, not every time.
Requirements
- Python 2.7 or higher
- Linux/Unix/Windows
Terraform version compatibility
Module version | Terraform version |
---|---|
1.x.x | 0.12.x |
0.x.x | 0.11.x |
Usage
module "lambda" {
source = "github.com/claranet/terraform-aws-lambda"
function_name = "deployment-deploy-status"
description = "Deployment deploy status task"
handler = "main.lambda_handler"
runtime = "python3.6"
timeout = 300
// Specify a file or directory for the source code.
source_path = "${path.module}/lambda.py"
// Add additional trusted entities for assuming roles (trust relationships).
trusted_entities = ["events.amazonaws.com", "s3.amazonaws.com"]
// Attach a policy.
policy = {
json = data.aws_iam_policy_document.lambda.json
}
// Add a dead letter queue.
dead_letter_config = {
target_arn = aws_sqs_queue.dlq.arn
}
// Add environment variables.
environment = {
variables = {
SLACK_URL = var.slack_url
}
}
// Deploy into a VPC.
vpc_config = {
subnet_ids = [aws_subnet.test.id]
security_group_ids = [aws_security_group.test.id]
}
}
Inputs
Inputs for this module are the same as the aws_lambda_function resource with the following additional arguments:
Name | Description | Type | Default | Required |
---|---|---|---|---|
source_path | The absolute path to a local file or directory containing your Lambda source code | string |
yes | |
build_command | The command to run to create the Lambda package zip file | string |
"python build.py '$filename' '$runtime' '$source'" |
no |
build_paths | The files or directories used by the build command, to trigger new Lambda package builds whenever build scripts change | list(string) |
["build.py"] |
no |
cloudwatch_logs | Set this to false to disable logging your Lambda output to CloudWatch Logs | bool |
true |
no |
lambda_at_edge | Set this to true if using [email protected], to enable publishing, limit the timeout, and allow edgelambda.amazonaws.com to invoke the function | bool |
false |
no |
policy | An additional policy to attach to the Lambda function role | object({json=string}) |
no | |
trusted_entities | Additional trusted entities for the Lambda function. The lambda.amazonaws.com (and edgelambda.amazonaws.com if lambda_at_edge is true) is always set | list(string) |
no |
The following arguments from the aws_lambda_function resource are not supported:
- filename (use source_path instead)
- role (one is automatically created)
- s3_bucket
- s3_key
- s3_object_version
- source_code_hash (changes are handled automatically)
Outputs
Name | Description |
---|---|
function_arn | The ARN of the Lambda function |
function_invoke_arn | The Invoke ARN of the Lambda function |
function_name | The name of the Lambda function |
function_qualified_arn | The qualified ARN of the Lambda function |
role_arn | The ARN of the IAM role created for the Lambda function |
role_name | The name of the IAM role created for the Lambda function |
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].