48 lines
1.2 KiB
HCL
48 lines
1.2 KiB
HCL
############################################
|
|
# IAM role
|
|
############################################
|
|
module "role" {
|
|
source = "../../../modules/lambda_execution_role"
|
|
name = "${var.name}-lambda-${var.stage}"
|
|
}
|
|
|
|
output "role_name" {
|
|
value = module.role.role_name
|
|
}
|
|
|
|
############################################
|
|
# SQS queue + DLQ
|
|
############################################
|
|
module "queue" {
|
|
source = "../../../modules/sqs_queue"
|
|
name = "${var.name}-queue-${var.stage}"
|
|
}
|
|
|
|
############################################
|
|
# Lambda
|
|
############################################
|
|
module "lambda" {
|
|
source = "../../../modules/lambda_service"
|
|
|
|
name = "${var.name}-${var.stage}"
|
|
role_arn = module.role.role_arn
|
|
image_uri = var.image_uri
|
|
|
|
timeout = var.timeout
|
|
memory_size = var.memory_size
|
|
|
|
environment = var.environment
|
|
}
|
|
|
|
############################################
|
|
# SQS → Lambda trigger
|
|
############################################
|
|
module "sqs_trigger" {
|
|
source = "../../../modules/lambda_sqs_trigger"
|
|
|
|
lambda_arn = module.lambda.lambda_arn
|
|
lambda_role_name = module.role.role_name
|
|
queue_arn = module.queue.queue_arn
|
|
|
|
batch_size = var.batch_size
|
|
}
|