# Secrets manager
data "aws_secretsmanager_secret_version" "datadog_api_key" {
    secret_id = "${var.environment}/job-priority-rule-match/DATADOG_API_KEY"
}

data "aws_secretsmanager_secret_version" "datadog_app_key" {
    secret_id = "${var.environment}/job-priority-rule-match/DATADOG_APP_KEY"
}

data "aws_secretsmanager_secret_version" "sentry_dsn" {
    secret_id = "${var.environment}/job-priority-rule-match/SENTRY_DSN"
}

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

    environment                  = "${var.environment}"
    use_custom_function_name     = true
    custom_function_name         = "lambda-job-priority-rule-match-${var.environment}"
    lambda_name                  = "job-priority-rule-match"
    lambda_description           = "Evaluates and matches priority rules for jobs and stores results"
    lambda_function_timeout      = "${var.lambda_default_timeout}"
    vpc_subnet_ids               = "${var.vpc_subnet_ids}"
    vpc_security_group_ids       = "${var.vpc_security_group_ids}"
    iam_policy_file_enabled      = true
    iam_policy_file_location     = "${var.iam_policy_file_location}"
    cloudwatch_event_enabled     = true
    cloudwatch_event_schedule    = "rate(1 minute)"
    lambda_function_memory_size  = "${var.lambda_memory_size}"

    lambda_function_environment_variables = {
        Environment       = "${var.environment}"
        DD_MYSQL_LIMIT    = "${var.dd_mysql_limit}"
        ENCODER_IDS       = "${var.encoder_ids}"
        DATADOG_API_KEY   = "${data.aws_secretsmanager_secret_version.datadog_api_key.secret_string}"
        DATADOG_APP_KEY   = "${data.aws_secretsmanager_secret_version.datadog_app_key.secret_string}"
        SENTRY_DSN        = "${data.aws_secretsmanager_secret_version.sentry_dsn.secret_string}"
    }
}
