# Secrets manager
data "aws_secretsmanager_secret_version" "datadog_api_key" {
    secret_id = "${var.environment}/lambda-backfill-spotify-internal-id/DATADOG_API_KEY"
}

data "aws_secretsmanager_secret_version" "datadog_app_key" {
    secret_id = "${var.environment}/lambda-backfill-spotify-internal-id/DATADOG_APP_KEY"
}

data "aws_secretsmanager_secret_version" "sentry_dsn" {
    secret_id = "${var.environment}/lambda-backfill-spotify-internal-id/SENTRY_DSN"
}

data "aws_secretsmanager_secret_version" "osa_mysql_user" {
  secret_id = "${var.environment}/lambda-backfill-spotify-internal-id/OSA_MYSQL_USER"
}

data "aws_secretsmanager_secret_version" "osa_mysql_password" {
  secret_id = "${var.environment}/lambda-backfill-spotify-internal-id/OSA_MYSQL_PASSWORD"
}

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

    environment                                    = "${var.environment}"
    use_custom_function_name                       = true
    custom_function_name                           = "backfill-spotify-internal-id-${var.environment}"
    lambda_name                                    = "backfill-spotify-internal-id"
    lambda_description                             = "Processes the store URI CSVs and writes Artist URIs to AR."
    lambda_function_timeout                        = "${var.lambda_default_timeout}"
    lambda_function_memory_size                    = "${var.backfill_spotify_internal_id_lambda_memory_size}"
    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_concurrent_executions}"

    lambda_function_environment_variables = {
        Environment             = "${var.environment}"
        OSA_MYSQL_HOST          = "${var.OSA_MYSQL_HOST}"
        OSA_MYSQL_DATABASE      = "${var.OSA_MYSQL_DATABASE}"
        LOGGER_DSN              = "${var.LOGGER_DSN}"
        OSA_MYSQL_USER          = "${data.aws_secretsmanager_secret_version.osa_mysql_user.secret_string}"
        OSA_MYSQL_PASSWORD      = "${data.aws_secretsmanager_secret_version.osa_mysql_password.secret_string}"        
        SENTRY_DSN              = "${data.aws_secretsmanager_secret_version.sentry_dsn.secret_string}"
        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}"
    }
}
