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

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

module "queues" {
    source                 = "../modules/queue"
    environment            = var.environment
}

module "lambda_ar-to-ddb-sync" {
    source = "../modules/lambdas/ar-to-ddb-sync"

    environment                           = var.environment
    vpc_security_group_ids                = var.vpc_security_group_ids
    vpc_subnet_ids                        = var.vpc_subnet_ids
    lambda_memory_size                    = var.lambda_memory_size
    logger_dsn                            = var.logger_dsn
    cloudwatch_event_enabled              = var.cloudwatch_event_enabled
    cloudwatch_event_schedule             = var.cloudwatch_event_schedule
    ar_mysql_database                     = var.ar_mysql_database
    ar_mysql_host                         = var.ar_mysql_host
    ar_mysql_port                         = var.ar_mysql_port
    ar_mysql_user                         = var.ar_mysql_user
    ddb_write_max_attempts                = var.ddb_write_max_attempts
    elasticsearch_use_auth                = var.elasticsearch_use_auth
    orders_ddb_table                      = var.orders_ddb_table
    orders_s3_bucket                      = var.orders_s3_bucket
    order_encoder_id_list                 = var.order_encoder_id_list
    datadog_function_destination_arn      = var.datadog_function_destination_arn
}
