provider "aws" {
  region = "us-east-1"
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/accounting-activity/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

# Accounting run  payment-calculator-jobs SQS queues
module "terraform-payment-calculator-jobs-sqs" {
  source = "git@github.com:theorchard/terraform-sqs.git?ref=2.0.1"

  environment                    = var.environment
  queue_name                     = "payment-calculator-jobs"
  sqs_fifo_queue                 = "false"
  sqs_delay_seconds              = 10
  sqs_max_message_size           = 2048
  sqs_message_retention_seconds  = 86400
  sqs_visibility_timeout_seconds = 2400
  sqs_receive_wait_time_seconds  = 10

  sqs_deadletter_enabled = "true"

  deadletter_max_recieve_count         = 5
  deadletter_delay_seconds             = 10
  deadletter_max_message_size          = 2048
  deadletter_message_retention_seconds = 86400
  deadletter_receive_wait_time_seconds = 10

  application_family = var.application_family
}

module "s3_prod_sme_jv_spotify_sales_bucket" {
  source       = "git@github.com:theorchard/terraform-s3.git//modules/s3_bucket?ref=2.5.3"
  env          = var.environment
  bucket_name  = "sme-jv-spotify-sales"
  kms_key_name = "sme_jv_spotify_sales"

  application_family = var.application_family

  kms_key_enabled = true
  apply_server_side_encryption_by_default = {
    sse_algorithm = "aws:kms"
  }

  s3_read_only_policy = true
}
