You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
985 B
HCL
29 lines
985 B
HCL
resource "aws_lambda_function" "lambda" {
|
|
function_name = var.namespace
|
|
description = "This lambda function takes incoming events from SNS and publishes them to a Cloudwatch Logs group. Useful for ingesting log streams into other platforms."
|
|
s3_bucket = aws_s3_bucket.lambda.id
|
|
s3_key = aws_s3_bucket_object.function.id
|
|
s3_object_version = aws_s3_bucket_object.function.version_id
|
|
role = aws_iam_role.lambda.arn
|
|
handler = "send_event.handler"
|
|
runtime = "python3.7"
|
|
timeout = "5"
|
|
memory_size = "128"
|
|
|
|
environment {
|
|
variables = {
|
|
log_group = var.namespace
|
|
}
|
|
}
|
|
|
|
depends_on = [aws_cloudwatch_log_group.lambda]
|
|
}
|
|
|
|
resource "aws_lambda_permission" "lambda" {
|
|
statement_id = var.namespace
|
|
action = "lambda:InvokeFunction"
|
|
function_name = aws_lambda_function.lambda.function_name
|
|
principal = "sns.amazonaws.com"
|
|
source_arn = aws_sns_topic.this.arn
|
|
}
|