# Secrets manager
data "aws_secretsmanager_secret_version" "sentry_dsn" {
    secret_id = "${var.environment}/lambda-renew-manager/SENTRY_DSN"
}

variable "vpc_name_tag" {
  type = map(any)
  default = {
    dev  = "dev"
    qa   = "prod"
    prod = "prod"
  }
}

data "aws_vpc" "main" {
  tags = {
    Name = var.vpc_name_tag[var.environment]
  }
}

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

    environment               = "${var.environment}"
    application_family        = "vector"
    use_custom_function_name  = true
    custom_function_name      = "lambda-renew-manager-${var.environment}"
    lambda_name               = "lambda-renew-manager"
    lambda_description        = "The new delivery renew manager script."
    cloudwatch_event_enabled  = true
    cloudwatch_event_schedule = "${var.cloudwatch_event_schedule}"
    lambda_function_memory_size = "${var.lambda_memory_size}"

    lambda_function_environment_variables = {
        Environment                  = "${var.environment}"
        LOGGER_DSN                   = "${var.LOGGER_DSN}"
        SENTRY_DSN                   = "${data.aws_secretsmanager_secret_version.sentry_dsn.secret_string}"
    }

    lambda_function_timeout                        = "${var.lambda_default_timeout}"
    vpc_id                                         = data.aws_vpc.main.id
    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_concurrent_executions}"
}
