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        = "dev"
  application_family = "devops"
  service_name       = "rds-cluster-test"
  team_name          = "devops"
}

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

  environment = "dev"
}

module "rds_cluster" {
  source = "../../.."

  providers = {
    aws.dns = aws
  }

  environment        = "dev"
  service_name       = "rds-cluster-test"
  application_family = "platform"
  vpc_id             = module.vpc_info.vpc_id

  rds_engine                                  = "aurora-mysql"
  rds_engine_version                          = "8.0"
  rds_db_cluster_parameter_group_family       = "aurora-mysql8.0"
  rds_cluster_instance_parameter_group_family = "aurora-mysql8.0"

  rds_cluster_instance_class       = "db.t4g.medium"
  rds_cluster_instance_count       = "1"
  rds_master_username              = "ows_master"
  rds_master_password              = "Password1234"
  rds_performance_insights_enabled = false
  rds_db_subnet_ids                = module.vpc_info.default_private_subnet_ids

  rds_db_cluster_parameters = [
    {
      name         = "activate_all_roles_on_login"
      value        = "1"
      apply_method = "immediate"
    },
    {
      name         = "binlog_format"
      value        = "ROW"
      apply_method = "pending-reboot"
    }
  ]

  rds_cluster_instance_parameters = [
    {
      name         = "explicit_defaults_for_timestamp"
      value        = "0"
      apply_method = "pending-reboot"
    },
    {
      name         = "max_allowed_packet"
      value        = "67108864"
      apply_method = "immediate"
    }
  ]
}
