GitHunt
HA

hawknewton/terraform-aws-lambda-scheduled-function

Terraform module for AWS Lambda scheduled functions

aws-lambda-scheduled-function

Terraform module which created AWS Lambda scheduled functions

These types of resources are created:

  • aws_cloudwatch_event_rule
  • aws_cloudwatch_event_target
  • aws_lambda_function
  • aws_lambda_permission

Lambda function role is not created by default, it has to be pass as parameter to the module

Usage

variable "regions" {
  type = "map"
  default =  {
    ireland = "eu-west-1"
    frankfurt = "eu-central-1"
  }
}

provider "aws" {
  region = "${lookup(var.regions, "ireland")}"
}


module "my_scheduled_lambda_function_region_ireland" {
  source           = "birkoff/lambda-scheduled-function/aws"
  runtime          = "${var.runtime}"
  region           = "${lookup(var.regions, "ireland")}"
  function_name    = "${var.function_name}"
  timeout          = "${var.timeout}"
  s3_lambda_bucket = "${lookup(var.s3_lambda_bucket, "ireland")}"
  s3_function_key  = "${var.s3_function_key}"
  description      = "${var.description}"
  handler          = "${var.handler}"
  event_schedule   = "${var.event_schedule}"
  lambda_role_arn  = "${aws_iam_role.my-scheduled-lambda-function-role.arn}"
  
  env_vars = {
    URL = "${var.url}"
  }
  
  tags = {
    Owner     = "myusername"
    Region    = "ireland"
    Terraform = "true"
  }
}

module "my_scheduled_lambda_function_region_frankfurt" {
  source                 = "birkoff/lambda-scheduled-function/aws"
  runtime                = "${var.runtime}"
  region                 = "${lookup(var.regions, "frankfurt")}"
  function_name          = "${var.function_name}"
  timeout                = "${var.timeout}"
  s3_lambda_bucket       = "${lookup(var.s3_lambda_bucket, "frankfurt")}"
  s3_function_key        = "${var.s3_function_key}"
  description            = "${var.description}"
  handler                = "${var.handler}"
  event_schedule         = "${var.event_schedule}"
  lambda_role_arn        = "${aws_iam_role.my-scheduled-lambda-function-role.arn}"
  vpc_subnet_ids         = ["${var.subnet_ids}"]
  vpc_security_group_ids = ["${var.security_group_ids}"]
  
  env_vars = {
    URL = "${var.url}"
  }

  tags = {
    Owner     = "myusername"
    region    = "frankfurt"
    Terraform = "true"
  }
}

License

MIT

Languages

HCL100.0%

Contributors

MIT License
Created March 11, 2018
Updated March 21, 2018
hawknewton/terraform-aws-lambda-scheduled-function | GitHunt