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

  environment = "${var.environment}"
  lambda_name = "soundexchange-reconfirmation-report"
  lambda_description = "Lambda function will be listening to changes in s3://bucket/soundexchange-reconfirmation-report/input folder."

  lambda_function_environment_variables = {
    Environment = "${var.environment}"
    SENTRY_DSN = "${var.sentry_dsn_soundexchange_reconfirmation_report}"
    SNOWFLAKE_ACCOUNT = "${var.snowflake_account}"
    SNOWFLAKE_WAREHOUSE = "${var.snowflake_warehouse}"
    SNOWFLAKE_ROLE = "${var.snowflake_role}"
    SNOWFLAKE_USER = "${var.snowflake_user}"
    SNOWFLAKE_PASSWORD = "${var.snowflake_password}"
    SNOWFLAKE_DB = "${var.snowflake_db}"
    SNOWFLAKE_SCHEMA = "${var.snowflake_schema}"
    SNOWFLAKE_TABLE = "${var.snowflake_table}"
    HOME = "${var.home}"
    S3_BUCKET = "${var.environment}-${var.s3_bucket_name}"
    S3_PATH = "${var.s3_reconfirmation_prefix}"
    SNOWFLAKE_AWS_ACCESS_KEY_ID = "${var.snowflake_aws_access_key}"
    SNOWFLAKE_AWS_SECRET_ACCESS_KEY = "${var.snowflake_aws_secret_access_key}"
    SLACK_WEBHOOK_URL = "${var.slack_webhook_url}"
  }

  s3_event_enabled = true
  s3_event_bucket_name = "${var.environment}-${var.s3_bucket_name}"
  s3_event_filter_prefix = "${var.s3_reconfirmation_prefix}/input/"
  s3_event_filter_suffix = "${var.s3_reconfirmation_suffix}"
  lambda_function_timeout = "${var.lambda_default_timeout}"
  iam_policy_file_enabled = true
  vpc_security_group_ids = "${var.vpc_security_group_ids}"
  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_memory_size = "${var.lambda_default_memory_size}"
}

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

  environment = "${var.environment}"
  lambda_name = "soundexchange-overlap-report"
  lambda_description = "Lambda function will be listening to changes in s3://[env]-orcdbucket/soundexchange-overlap-report/input/ folder."

  lambda_function_environment_variables = {
    Environment = "${var.environment}"
    SENTRY_DSN = "${var.sentry_dsn_soundexchange_overlap_report}"
    SNOWFLAKE_ACCOUNT = "${var.snowflake_account}"
    SNOWFLAKE_WAREHOUSE = "${var.snowflake_warehouse}"
    SNOWFLAKE_ROLE = "${var.snowflake_role}"
    SNOWFLAKE_USER = "${var.snowflake_user}"
    SNOWFLAKE_PASSWORD = "${var.snowflake_password}"
    SNOWFLAKE_DB = "${var.snowflake_db}"
    SNOWFLAKE_SCHEMA = "${var.snowflake_schema}"
    SNOWFLAKE_TABLE = "${var.snowflake_table}"
    HOME = "${var.home}"
    S3_BUCKET = "${var.environment}-${var.s3_bucket_name}"
    S3_PATH = "${var.s3_overlap_prefix}"
    SNOWFLAKE_AWS_ACCESS_KEY_ID = "${var.snowflake_aws_access_key}"
    SNOWFLAKE_AWS_SECRET_ACCESS_KEY = "${var.snowflake_aws_secret_access_key}"
    SLACK_WEBHOOK_URL = "${var.slack_webhook_url}"
  }

  s3_event_enabled = true
  s3_event_bucket_name = "${var.environment}-${var.s3_bucket_name}"
  s3_event_filter_prefix = "${var.s3_overlap_prefix}/input/"
  s3_event_filter_suffix = "${var.s3_overlap_suffix}"
  lambda_function_timeout = "${var.lambda_default_timeout}"
  iam_policy_file_enabled = true
  vpc_security_group_ids = "${var.vpc_security_group_ids}"
  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_memory_size = "${var.lambda_default_memory_size}"
}
