# Secrets manager
data "aws_secretsmanager_secret_version" "sentry_dsn" {
  secret_id = "${var.environment}/find-assets-to-download/SENTRY_DSN"
}

module "find_assets_to_download" {
    source = "git@github.com:theorchard/terraform-lambda.git"

    environment                      = var.environment
    use_custom_function_name         = true
    custom_function_name             = "lambda-find-assets-to-download-${var.environment}"
    lambda_name                      = "find-assets-to-download"
    lambda_description               = "Find assets in S3 that need to be downloaded to local storage."
    lambda_function_memory_size      = var.lambda_memory_size
    datadog_function_destination_arn = var.datadog_function_destination_arn

    lambda_function_environment_variables = {
        Environment = var.environment
        SENTRY_DSN  = data.aws_secretsmanager_secret_version.sentry_dsn.secret_string
        LOGGER_DSN  = var.logger_dsn
        ASSET_COPY_ARN = var.asset_copy_arn
    }

    lambda_function_timeout                        = var.lambda_default_timeout
    vpc_security_group_ids                         = var.vpc_security_group_ids
    iam_policy_file_enabled                        = true
    vpc_subnet_ids                                 = var.vpc_subnet_ids
    iam_policy_file_location                       = var.iam_policy_file_location
    lambda_function_reserved_concurrent_executions = var.lambda_concurrency
    sqs_event_enabled                              = true
    event_source_mapping_batch_size                = var.sqs_message_batch_size
    event_source_mapping_resource_type             = "sqs"
    event_source_mapping_queue_name                = "${var.environment}-${var.event_source_mapping_queue_name}"
}
