#
# Anthony Vitale Dec 11, 2023 change lsd-rds-pgdbstbmg1-dev-01-cluster cluster parameter group to aur-pg-v14-cluster-group-v002-change-max-worker-processes
#
#
# Anthony Vitale Jan 19, 2024 change lsd-rds-pgdbstbmg1-dev-01-cluster cluster parameter group to back to aur-pg-v14-cluster-group-v001 from aur-pg-v14-cluster-group-v002-change-max-worker-processes
#
#
# Anthony Vitale Jan 27, 2025 Changed lsd-rds-pganalyze-01 from version 14.9 to 16.6
#
# Anthony Vitale June 6 2025 Removed Cluster Member lsd-rds-pgdbsibmg1-int-03 from Cluster lsd-rds-pgdbsibmg1-int-01-cluster 
#
# Anthony Vitale Aug 25, 2025 Updated Cluster lsd-rds-pganalyze-01 to Version V17 
#
#
# Anthony Vitale Sept 8, 2025 Altered lsd-rds-musicbrainz-01 to version 17
#
#
#Anthony Vitale Sept 24 2025
#  Changed Cluster lsd-rds-pgdbsismed-demo-01-cluster and lsd-rds-pgdbstbmg1-dev-01-cluster from V14 to v17
#
#
# Anthony Vitale Oct 8, 2025 Updated Cluster lsd-rds-pgdbsibmg1-int-01-cluster to Version V17 
#
#
# Anthony Vitale Feb 9 2026 
#  1) Updated lsd-rds-musicbrainz-01 from 17.5 to 17.7 to correct Drift
#  2) Updated Cluster lsd-rds-pganalyze-01 to use Cluster Parameter Group aur-pg-v17-cluster-group-v001-pganalyze
#
#
# Anthony Vitale Feb 13, 2026
# Changing Cluster lsd-rds-pganalyze-01 to use Cluster Parameter Group aur-pg-v17-cluster-group-v002-pganalyze
#
#
# Anthony Vitale March 2 2026 
# Changed lsd-rds-pgdbstbmg1-dev-01-cluster to version 17.7 to Correct Drift
#
#
# Anthony Vitale March 9 2026 
# Changed lsd-rds-pgdbsibmg1-int-01-cluster to version 17.7 
#
#
# Anthony Vitale Removed specific minor version from Cluster lsd-rds-musicbrainz-01 to see if TF handles it correctly.
#


resource "aws_rds_cluster" "lsd-rds-musicbrainz-01" {
  # checkov:skip=CKV2_AWS_27:Ensure Postgres RDS as aws_rds_cluster has Query Logging enabled
  allocated_storage = 1
  availability_zones = [
    "eu-central-1a",
    "eu-central-1b",
    "eu-central-1c",
  ]
  backtrack_window        = 0
  backup_retention_period = 35
  cluster_identifier      = "lsd-rds-musicbrainz-01"
  cluster_members = [
    "lsd-rds-musicbrainz-01-instance-2",
  ]
  copy_tags_to_snapshot           = true
  db_cluster_parameter_group_name = "aur-pg-v17-cluster-group-v001"
  db_subnet_group_name            = "grps-d2-rds-sng"
  deletion_protection             = true
  enable_http_endpoint            = false
  enabled_cloudwatch_logs_exports = [
    "postgresql",
  ]
  engine                              = "aurora-postgresql"
  engine_mode                         = "provisioned"
  engine_version                      = "17"
  iam_database_authentication_enabled = true
  iam_roles                           = []
  iops                                = 0
  kms_key_id                          = "arn:aws:kms:eu-central-1:230315258045:key/21f2d419-2da2-4671-a1d0-67e4ea00a693"
  master_username                     = "arfwrdsadmin"
  network_type                        = "IPV4"
  port                                = 5432
  preferred_backup_window             = "23:35-00:05"
  preferred_maintenance_window        = "sun:00:50-sun:01:20"
  skip_final_snapshot                 = true
  storage_encrypted                   = true
  tags = {
    "Business-Unit"            = "GRPS"
    "Project-Code"             = "2000-0497G"
    "Project-Name"             = "RDX"
    "aws-migration-project-id" = "MPE22602"
    "map-migrated"             = "d-server-0174a2wn5rache"
    "pdmonitoring"             = "yes"
  }
  tags_all = {
    "Business-Unit"            = "GRPS"
    "Project-Code"             = "2000-0497G"
    "Project-Name"             = "RDX"
    "aws-migration-project-id" = "MPE22602"
    "map-migrated"             = "d-server-0174a2wn5rache"
    "pdmonitoring"             = "yes"
  }
  vpc_security_group_ids = [
    "sg-0056e392bda8eb44e",
  ]

}

resource "aws_rds_cluster" "lsd-rds-pgdbsibmg1-int-01-cluster" {
  # checkov:skip=CKV2_AWS_27:Ensure Postgres RDS as aws_rds_cluster has Query Logging enabled
  allocated_storage = 1
  availability_zones = [
    "eu-central-1a",
    "eu-central-1b",
    "eu-central-1c",
  ]
  backtrack_window        = 0
  backup_retention_period = 24
  cluster_identifier      = "lsd-rds-pgdbsibmg1-int-01-cluster"
  cluster_members = [
    "lsd-rds-pgdbsibmg1-int-02",
  ]
  copy_tags_to_snapshot           = true
  db_cluster_parameter_group_name = "aur-pg-v17-cluster-group-v001"
  db_subnet_group_name            = "grps-d2-rds-sng"
  deletion_protection             = true
  enable_http_endpoint            = false
  enabled_cloudwatch_logs_exports = [
    "postgresql",
  ]
  engine                              = "aurora-postgresql"
  engine_mode                         = "provisioned"
  engine_version                      = "17.7"
  global_cluster_identifier           = "lsd-rds-pgdbsibmg1-int-global"
  iam_database_authentication_enabled = true
  iam_roles                           = []
  iops                                = 0
  kms_key_id                          = "arn:aws:kms:eu-central-1:230315258045:key/21f2d419-2da2-4671-a1d0-67e4ea00a693"
  master_username                     = "arfwrdsadmin"
  network_type                        = "IPV4"
  port                                = 5432
  preferred_backup_window             = "03:00-03:30"
  preferred_maintenance_window        = "sat:04:00-sat:05:00"
  skip_final_snapshot                 = true
  storage_encrypted                   = true
  tags = {
    "Business-unit"            = "GRPS"
    "Environment"              = "Dev"
    "Name"                     = "lsd-rds-pgdbsibmg1-int"
    "Owner"                    = "Richard Mayer"
    "Project-code"             = "2000-0497G"
    "Project-name"             = "GRPS"
    "aws-migration-project-id" = "MPE22602"
    "map-migrated"             = "d-server-0174a2wn5rache"
    "pdmonitoring"             = "yes"
  }
  tags_all = {
    "Business-unit"            = "GRPS"
    "Environment"              = "Dev"
    "Name"                     = "lsd-rds-pgdbsibmg1-int"
    "Owner"                    = "Richard Mayer"
    "Project-code"             = "2000-0497G"
    "Project-name"             = "GRPS"
    "aws-migration-project-id" = "MPE22602"
    "map-migrated"             = "d-server-0174a2wn5rache"
    "pdmonitoring"             = "yes"
  }
  vpc_security_group_ids = [
    "sg-07bd5440ab68ccd4d",
  ]

}

resource "aws_rds_cluster" "lsd-rds-pgdbsismed-demo-01-cluster" {
  # checkov:skip=CKV2_AWS_27:Ensure Postgres RDS as aws_rds_cluster has Query Logging enabled
  allocated_storage = 1
  availability_zones = [
    "eu-central-1a",
    "eu-central-1b",
    "eu-central-1c",
  ]
  backtrack_window        = 0
  backup_retention_period = 14
  cluster_identifier      = "lsd-rds-pgdbsismed-demo-01-cluster"
  cluster_members = [
    "lsd-rds-pgdbsismed-demo-02",

  ]
  copy_tags_to_snapshot           = true
  db_cluster_parameter_group_name = "aur-pg-v17-cluster-group-v001"
  db_subnet_group_name            = "grps-d2-rds-sng"
  deletion_protection             = true
  enable_http_endpoint            = false
  enabled_cloudwatch_logs_exports = [
    "postgresql",
  ]
  engine                              = "aurora-postgresql"
  engine_mode                         = "provisioned"
  engine_version                      = "17.7"
  iam_database_authentication_enabled = true
  iam_roles                           = []
  iops                                = 0
  kms_key_id                          = "arn:aws:kms:eu-central-1:230315258045:key/21f2d419-2da2-4671-a1d0-67e4ea00a693"
  master_username                     = "arfwrdsadmin"
  network_type                        = "IPV4"
  port                                = 5432
  preferred_backup_window             = "02:00-02:30"
  preferred_maintenance_window        = "sat:01:00-sat:01:30"
  skip_final_snapshot                 = true
  storage_encrypted                   = true
  tags = {
    "Business-unit"            = "GRPS"
    "Environment"              = "Dev"
    "Name"                     = "lsd-rds-pgdbsibmg1-int"
    "Owner"                    = "Richard Mayer"
    "Project-code"             = "2000-0497G"
    "Project-name"             = "GRPS"
    "aws-migration-project-id" = "MPE22602"
    "map-migrated"             = "d-server-0174a2wn5rache"
    "pdmonitoring"             = "yes"
  }
  tags_all = {
    "Business-unit"            = "GRPS"
    "Environment"              = "Dev"
    "Name"                     = "lsd-rds-pgdbsibmg1-int"
    "Owner"                    = "Richard Mayer"
    "Project-code"             = "2000-0497G"
    "Project-name"             = "GRPS"
    "aws-migration-project-id" = "MPE22602"
    "map-migrated"             = "d-server-0174a2wn5rache"
    "pdmonitoring"             = "yes"
  }
  vpc_security_group_ids = [
    "sg-07bd5440ab68ccd4d",
  ]

}

resource "aws_rds_cluster" "lsd-rds-pgdbstbmg1-dev-01-cluster" {
  # checkov:skip=CKV2_AWS_27:Ensure Postgres RDS as aws_rds_cluster has Query Logging enabled
  allocated_storage = 1
  availability_zones = [
    "eu-central-1a",
    "eu-central-1b",
    "eu-central-1c",
  ]
  backtrack_window        = 0
  backup_retention_period = 35
  cluster_identifier      = "lsd-rds-pgdbstbmg1-dev-01-cluster"
  cluster_members = [
    "lsd-rds-pgdbstbmg1-dev-03",
  ]
  copy_tags_to_snapshot           = true
  db_cluster_parameter_group_name = "aur-pg-v17-cluster-group-v001"
  db_subnet_group_name            = "grps-d2-rds-sng"
  deletion_protection             = true
  enable_http_endpoint            = false
  enabled_cloudwatch_logs_exports = [
    "postgresql",
  ]
  engine                              = "aurora-postgresql"
  engine_mode                         = "provisioned"
  engine_version                      = "17.7"
  global_cluster_identifier           = "lsd-rds-pgdbstbmg1-dev-global"
  iam_database_authentication_enabled = true
  iam_roles                           = []
  iops                                = 0
  kms_key_id                          = "arn:aws:kms:eu-central-1:230315258045:key/21f2d419-2da2-4671-a1d0-67e4ea00a693"
  master_username                     = "arfwrdsadmin"
  network_type                        = "IPV4"
  port                                = 5432
  preferred_backup_window             = "02:00-02:30"
  preferred_maintenance_window        = "sat:03:00-sat:03:30"
  skip_final_snapshot                 = true
  storage_encrypted                   = true
  tags = {
    "Business-unit"                 = "GRPS"
    "Environment"                   = "Dev"
    "Name"                          = "lsd-rds-pgdbstbmg1-dev"
    "Owner"                         = "Richard Mayer"
    "Project-code"                  = "2000-0497G"
    "Project-name"                  = "GRPS"
    "aws-migration-project-id"      = "MPE22602"
    "devops-guru-analysis-boundary" = "lsd-rds-pgdbstbmg1-dev-01-cluster"
    "map-migrated"                  = "d-server-0174a2wn5rache"
    "pdmonitoring"                  = "yes"
  }
  tags_all = {
    "Business-unit"                 = "GRPS"
    "Environment"                   = "Dev"
    "Name"                          = "lsd-rds-pgdbstbmg1-dev"
    "Owner"                         = "Richard Mayer"
    "Project-code"                  = "2000-0497G"
    "Project-name"                  = "GRPS"
    "aws-migration-project-id"      = "MPE22602"
    "devops-guru-analysis-boundary" = "lsd-rds-pgdbstbmg1-dev-01-cluster"
    "map-migrated"                  = "d-server-0174a2wn5rache"
    "pdmonitoring"                  = "yes"
  }
  vpc_security_group_ids = [
    "sg-0056e392bda8eb44e",
  ]

}

resource "aws_rds_cluster" "lsd-rds-pganalyze-01" {
  # checkov:skip=CKV2_AWS_27:Ensure Postgres RDS as aws_rds_cluster has Query Logging enabled
  allocated_storage                   = 1
  allow_major_version_upgrade         = null
  apply_immediately                   = null
  availability_zones                  = ["eu-central-1a", "eu-central-1b", "eu-central-1c"]
  backtrack_window                    = 0
  backup_retention_period             = 35
  cluster_identifier                  = "lsd-rds-pganalyze-01"
  cluster_identifier_prefix           = null
  cluster_members                     = ["lsd-rds-pganalyze-01-instance-1"]
  copy_tags_to_snapshot               = true
  database_name                       = null
  db_cluster_instance_class           = null
  db_cluster_parameter_group_name     = "aur-pg-v17-cluster-group-v002-pganalyze"
  db_instance_parameter_group_name    = null
  db_subnet_group_name                = "grps-d2-rds-sng"
  deletion_protection                 = true
  enable_global_write_forwarding      = null
  enable_http_endpoint                = false
  enabled_cloudwatch_logs_exports     = ["postgresql"]
  engine                              = "aurora-postgresql"
  engine_mode                         = "provisioned"
  engine_version                      = "17.7"
  final_snapshot_identifier           = null
  global_cluster_identifier           = null
  iam_database_authentication_enabled = true
  iam_roles                           = []
  iops                                = 0
  kms_key_id                          = "arn:aws:kms:eu-central-1:230315258045:key/21f2d419-2da2-4671-a1d0-67e4ea00a693"
  manage_master_user_password         = null
  master_password                     = null # sensitive
  master_user_secret_kms_key_id       = null
  master_username                     = "pganalyze"
  network_type                        = "IPV4"
  port                                = 5432
  preferred_backup_window             = "22:11-22:41"
  preferred_maintenance_window        = "sat:01:26-sat:02:26"
  replication_source_identifier       = null
  skip_final_snapshot                 = true
  snapshot_identifier                 = null
  source_region                       = null
  storage_encrypted                   = true
  storage_type                        = null
  tags = {
    Business-Unit            = "GRPS"
    Owner                    = "Richard Mayer"
    Project-Code             = "2000-0497G"
    Project-name             = "GRPS"
    aws-migration-project-id = "MPE22602"
    map-migrated             = "d-server-0174a2wn5rache"
    pdmonitoring             = "yes"
  }
  tags_all = {
    Business-Unit            = "GRPS"
    Owner                    = "Richard Mayer"
    Project-Code             = "2000-0497G"
    Project-name             = "GRPS"
    aws-migration-project-id = "MPE22602"
    map-migrated             = "d-server-0174a2wn5rache"
    pdmonitoring             = "yes"
  }
  vpc_security_group_ids = ["sg-0056e392bda8eb44e"]
}
