variable "env" {
  default = "dev"
}

variable "service_name" {
  default = "serverless-rds-test"
}

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

  default_tags {
    tags = module.default_tags.tags
  }
}

module "default_tags" {
  source             = "git@github.com:theorchard/terraform-default-tags.git//?ref=2.0.0"
  environment        = var.env
  application_family = "devops"
  service_name       = var.service_name
  team_name          = "devops"
}

module "vpc_info" {
  source = "git@github.com:theorchard/terraform-vpc-info.git?ref=1.4.0"

  environment = "dev"
}

# Note: This is currently broken because the module was designed around Serverless v1 and AWS no longer allow creation of Serverless v1 clusters.
# The module should be updated to either drop support for serverless or be updated to support Serverless v2.
module "rds_cluster" {
  source = "../../.."

  providers = {
    aws.dns = aws
  }

  environment                               = var.env
  rds_engine                                = "aurora-mysql"
  rds_engine_version                        = "8.0"
  rds_engine_mode                           = "serverless"
  service_name                              = var.service_name
  application_family                        = "platform"
  vpc_id                                    = module.vpc_info.vpc_id
  rds_serverless_cluster_enabled            = true
  rds_primary_cluster_enabled               = false
  rds_cluster_instance_count                = "0"
  rds_db_cluster_parameter_group_name       = "default.aurora-mysql8.0"
  rds_cluster_instance_parameter_group_name = "default.aurora-mysql8.0"
  rds_cluster_instance_class                = "db.t4g.small"
  rds_db_subnet_group_name                  = "private_rds_subnet_group"
  rds_master_username                       = "ows_master"
  rds_master_password                       = "Password1234"
  rds_performance_insights_enabled          = false
}
