resource "aws_lb" "aomad2-aspera01-nlb-int" {
  name                                        = "aomad2-aspera01-nlb-int"
  internal                                    = true
  load_balancer_type                          = "network"
  security_groups                             = [aws_security_group.aoma-d2-aspera-nlb-int.id]
  subnets                                     = [aws_subnet.subnet-0e320c25c3ca7b86d.id, aws_subnet.subnet-05683f17a210241cf.id]
  enable_cross_zone_load_balancing            = "true"
  enable_deletion_protection                  = "true"
  enable_http2                                = true
  enable_tls_version_and_cipher_suite_headers = false
  enable_waf_fail_open                        = false
  enable_xff_client_port                      = false
  idle_timeout                                = 600
  preserve_host_header                        = false
  xff_header_processing_mode                  = "append"
  access_logs {
    bucket  = "aoma-core-elb-logs"
    enabled = true
    prefix  = "aomad2-aspera01-nlb-int"
  }
  tags = {
    Terraform     = "True"
    Business-Unit = "SME-AOMA-Core"
    Environment   = "Dev"
    Name          = "aomad2-aspera01-nlb-int"
    Owner         = "vivien.leung@sonymusic.com"
    Project-Code  = "SME-2000-0306A"
    Project-Name  = "AOMA-Core"
  }
}

resource "aws_lb_target_group" "aomad2-aspera01-nlb-int-33001" {
  count       = 1
  name        = "aomad2-aspera01-nlb-int-33001"
  target_type = "instance"
  port        = 33001
  protocol    = "TCP_UDP"
  vpc_id      = aws_vpc.vpc-050b7040cb12315e1.id
  health_check {
    protocol            = "TCP"
    healthy_threshold   = 2
    interval            = 30
    unhealthy_threshold = 2
    timeout             = 5
    port                = 33001
  }
}

resource "aws_lb_target_group_attachment" "aomad2-aspera01-nlb-int-33001" {
  count            = 1
  target_group_arn = aws_lb_target_group.aomad2-aspera01-nlb-int-33001[count.index].arn
  target_id        = aws_instance.aomad2-aspera01.id
  port             = 33001
}

resource "aws_lb_listener" "aomad2-aspera01-nlb-int-33001" {
  count             = 1
  load_balancer_arn = aws_lb.aomad2-aspera01-nlb-int.arn
  port              = 33001
  protocol          = "TCP_UDP"
  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.aomad2-aspera01-nlb-int-33001[count.index].arn
  }
}

resource "aws_lb_target_group" "aomad2-aspera01-nlb-int-40001" {
  count       = 1
  name        = "aomad2-aspera01-nlb-int-40001"
  target_type = "instance"
  port        = 40001
  protocol    = "TCP_UDP"
  vpc_id      = aws_vpc.vpc-050b7040cb12315e1.id
  health_check {
    protocol            = "TCP"
    healthy_threshold   = 2
    interval            = 30
    unhealthy_threshold = 2
    timeout             = 5
    port                = 40001
  }
}

resource "aws_lb_target_group_attachment" "aomad2-aspera01-nlb-int-40001" {
  count            = 1
  target_group_arn = aws_lb_target_group.aomad2-aspera01-nlb-int-40001[count.index].arn
  target_id        = aws_instance.aomad2-aspera01.id
  port             = 40001
}

resource "aws_lb_listener" "aomad2-aspera01-nlb-int-40001" {
  count             = 1
  load_balancer_arn = aws_lb.aomad2-aspera01-nlb-int.arn
  port              = 40001
  protocol          = "TCP_UDP"
  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.aomad2-aspera01-nlb-int-40001[count.index].arn
  }
}

resource "aws_lb_target_group" "aomad2-aspera01-nlb-int-9092" {
  count       = 1
  name        = "aomad2-aspera01-nlb-int-9092"
  target_type = "instance"
  port        = 9092
  protocol    = "TCP_UDP"
  vpc_id      = aws_vpc.vpc-050b7040cb12315e1.id
  health_check {
    healthy_threshold   = 2
    interval            = 30
    unhealthy_threshold = 2
    timeout             = 5
    path                = "/index.html"
    port                = 9092
  }
}

resource "aws_lb_target_group_attachment" "aomad2-aspera01-nlb-int-9092" {
  count            = 1
  target_group_arn = aws_lb_target_group.aomad2-aspera01-nlb-int-9092[count.index].arn
  target_id        = aws_instance.aomad2-aspera01.id
  port             = 9092
}

resource "aws_lb_listener" "aomad2-aspera01-nlb-int-9092" {
  count             = 1
  load_balancer_arn = aws_lb.aomad2-aspera01-nlb-int.arn
  port              = 9092
  protocol          = "TCP_UDP"
  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.aomad2-aspera01-nlb-int-9092[count.index].arn
  }
}


resource "aws_lb_target_group" "pgbouncer-aoma-6432" {
  name        = "pgbouncer-aoma-6432"
  target_type = "ip"
  port        = 6432
  protocol    = "TCP"
  vpc_id      = aws_vpc.vpc-050b7040cb12315e1.id

  tags = {
    Terraform     = "True"
    Business-Unit = "SME-AOMA-Core"
    Environment   = "Dev"
    Name          = "pgbouncer-aoma-6432"
    Owner         = "vivien.leung@sonymusic.com"
    Project-Code  = "SME-2000-0306A"
    Project-Name  = "AOMA-Core"
  }
}



resource "aws_lb_listener" "pgbouncer-aoma-6432" {
  load_balancer_arn = aws_lb.aomad2-aspera01-nlb-int.arn
  port              = 6432
  protocol          = "TCP"

  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.pgbouncer-aoma-6432.arn
  }

  tags = {
    Terraform     = "True"
    Business-Unit = "SME-AOMA-Core"
    Environment   = "Dev"
    Name          = "pgbouncer-aoma-6432"
    Owner         = "vivien.leung@sonymusic.com"
    Project-Code  = "SME-2000-0306A"
    Project-Name  = "AOMA-Core"
  }
}
resource "aws_lb_listener" "pgbouncer-aoma-5432" {
  load_balancer_arn = aws_lb.aomad2-aspera01-nlb-int.arn
  port              = 5432
  protocol          = "TCP"

  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.pgbouncer-aoma-5432.arn
  }

  tags = {
    Terraform     = "True"
    Business-Unit = "SME-AOMA-Core"
    Environment   = "Dev"
    Name          = "pgbouncer-aoma-5432"
    Owner         = "vivien.leung@sonymusic.com"
    Project-Code  = "SME-2000-0306A"
    Project-Name  = "AOMA-Core"
  }
}

resource "aws_lb_target_group" "pgbouncer-aoma-5432" {
  name        = "pgbouncer-aoma-5432"
  target_type = "ip"
  port        = 5432
  protocol    = "TCP"
  vpc_id      = aws_vpc.vpc-050b7040cb12315e1.id

  tags = {
    Terraform     = "True"
    Business-Unit = "SME-AOMA-Core"
    Environment   = "Stage"
    Name          = "pgbouncer-aoma-5432"
    Owner         = "vivien.leung@sonymusic.com"
    Project-Code  = "SME-2000-0306A"
    Project-Name  = "AOMA-Core"
  }
}
