
resource "aws_rds_cluster_parameter_group" "aurora_postgresql11_replication" {
  family      = "aurora-postgresql11"
  name        = "aurora-postgresql11-replication"
  description = "Aurora Postgresql 11 with replication enabled"

  parameter {
    name         = "rds.logical_replication"
    value        = "1"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "wal_sender_timeout"
    value        = "0"
    apply_method = "immediate"
  }
}

resource "aws_db_parameter_group" "aurora_postgresql11" {
  family      = "aurora-postgresql11"
  name        = "aurora-postgresql11"
  description = "aurora-postgresql11 parameter group"
}

resource "aws_rds_cluster_parameter_group" "ows_pdp_aurora_postgresql12_replication" {
  family      = "aurora-postgresql12"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql12-replication"
  description = "Aurora Postgresql 12 with replication enabled"

  parameter {
    name         = "rds.logical_replication"
    value        = "1"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "wal_sender_timeout"
    value        = "0"
    apply_method = "immediate"
  }
}

resource "aws_db_parameter_group" "ows_pdp_aurora_postgresql12" {
  family      = "aurora-postgresql12"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql12"
  description = "Aurora Postgresql 12 parameter group"
}

resource "aws_rds_cluster_parameter_group" "ows_pdp_aurora_postgresql13_replication" {
  family      = "aurora-postgresql13"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql13-replication"
  description = "Aurora Postgresql 13 with replication enabled"

  parameter {
    name         = "rds.logical_replication"
    value        = "1"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "wal_sender_timeout"
    value        = "0"
    apply_method = "immediate"
  }
}

resource "aws_db_parameter_group" "ows_pdp_aurora_postgresql13" {
  family      = "aurora-postgresql13"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql13"
  description = "Aurora Postgresql 13 parameter group"
}

resource "aws_rds_cluster_parameter_group" "ows_pdp_aurora_postgresql14_replication" {
  family      = "aurora-postgresql14"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql14-replication"
  description = "Aurora Postgresql 14 with replication enabled"

  parameter {
    name         = "rds.logical_replication"
    value        = "1"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "wal_sender_timeout"
    value        = "0"
    apply_method = "immediate"
  }
}

resource "aws_db_parameter_group" "ows_pdp_aurora_postgresql14" {
  family      = "aurora-postgresql14"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql14"
  description = "Aurora Postgresql 14 parameter group"
}

resource "aws_rds_cluster_parameter_group" "ows_pdp_aurora_postgresql15_replication" {
  family      = "aurora-postgresql15"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql15-replication"
  description = "Aurora Postgresql 15 with replication enabled"

  parameter {
    name         = "rds.logical_replication"
    value        = "1"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "wal_sender_timeout"
    value        = "0"
    apply_method = "immediate"
  }
}

resource "aws_db_parameter_group" "ows_pdp_aurora_postgresql15" {
  family      = "aurora-postgresql15"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql15"
  description = "Aurora Postgresql 15 parameter group"
}

resource "aws_rds_cluster_parameter_group" "ows_pdp_aurora_postgresql16_replication" {
  family      = "aurora-postgresql16"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql16-replication"
  description = "Aurora Postgresql 16 with replication enabled"

  parameter {
    name         = "rds.logical_replication"
    value        = "1"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "wal_sender_timeout"
    value        = "0"
    apply_method = "immediate"
  }
}

resource "aws_db_parameter_group" "ows_pdp_aurora_postgresql16" {
  family      = "aurora-postgresql16"
  name        = "${var.environment}-${var.service_name}-aurora-postgresql16"
  description = "Aurora Postgresql 16 parameter group"
}
