provider "aws" {
  region = var.aws_region
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "qa-test-automation-pde-terraform-state"
    key     = "qa/cucumber-tests/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

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

  environment = var.environment
}

data "aws_route53_zone" "route53_zone" {
  name = "${var.environment}-test-automation.theorchard.io"
}

resource "aws_db_subnet_group" "db_subnet_group" {
  name       = "${var.environment}_${var.service_name}_rds_subnet_group"
  subnet_ids = module.vpc_info.default_private_subnet_ids
}

module "cucumber_test_results_rds" {
  source = "git@github.com:theorchard/terraform-rds//?ref=5.3.0"

  environment                               = var.environment
  service_name                              = var.service_name
  application_family                        = var.application_family
  vpc_id                                    = module.vpc_info.vpc_id
  route53_zone_id                           = data.aws_route53_zone.route53_zone.zone_id
  rds_db_subnet_group_name                  = aws_db_subnet_group.db_subnet_group.name
  rds_cluster_instance_class                = "db.t4g.medium"
  rds_cluster_instance_count                = "1"
  rds_master_username                       = "cucumber_master"
  rds_master_password                       = "dummy123"
  rds_availability_zones                    = ["us-east-1a", "us-east-1c"]
  rds_db_cluster_parameter_group_name       = "default.aurora-mysql8.0"
  rds_performance_insights_enabled          = true
  rds_engine_version                        = "8.0.mysql_aurora.3.08.0"
  rds_cluster_instance_parameter_group_name = "default.aurora-mysql8.0"
  enabled_cloudwatch_logs_exports           = ["audit", "error", "general"]
}
