resource "aws_msk_cluster" "qa-order-history" {
  cluster_name           = "qa-order-history"
  enhanced_monitoring    = "DEFAULT"
  kafka_version          = "3.6.0"
  number_of_broker_nodes = 3
  storage_mode           = "LOCAL"

  broker_node_group_info {
    az_distribution = "DEFAULT"
    client_subnets  = ["subnet-04c6ece9949621b33", "subnet-07b49ecf254a62ce9", "subnet-081e6914d74d17eed"]
    instance_type   = "kafka.m5.large"
    security_groups = ["sg-0d96b00762321d0e9"]
    connectivity_info {
      public_access {
        type = "DISABLED"
      }
    }
    storage_info {
      ebs_storage_info {
        volume_size = 1000
      }
    }
  }

  client_authentication {
    unauthenticated = false
    sasl {
      iam   = true
      scram = false
    }
    tls {
      certificate_authority_arns = ["arn:aws:acm-pca:us-east-1:662302927201:certificate-authority/7cc7b481-0ae1-42c9-9c4d-ca9b65cb40da"]
    }
  }

  encryption_info {
    encryption_at_rest_kms_key_arn = "arn:aws:kms:us-east-1:662302927201:key/2aea5e22-b0af-46d8-9af5-817b1648ee2d"
    encryption_in_transit {
      client_broker = "TLS"
      in_cluster    = true
    }
  }

  logging_info {
    broker_logs {
      cloudwatch_logs {
        enabled   = true
        log_group = "qa-order-history-msk-logs"
      }
      firehose {
        enabled = false
      }
      s3 {
        enabled = false
      }
    }
  }

  open_monitoring {
    prometheus {
      jmx_exporter {
        enabled_in_broker = true
      }
      node_exporter {
        enabled_in_broker = true
      }
    }
  }
}
