# Cognito User Pool
resource "aws_cognito_user_pool" "main" {
  name = var.cognito_user_pool_name
}

# KMS Key
resource "aws_kms_key" "main" {
  description             = "KMS key for EKS"
  deletio_window_in_days = 7
}

resource "aws_kms_alias" "main" {
  name          = var.kms_key_alias
  target_key_id = aws_kms_key.main.key_id
}

# CloudWatch Log Group
resource "aws_cloudwatch_log_group" "main" {
  name = var.log_group_name
}

# RabbitMQ (using Amazon MQ)
resource "aws_mq_broker" "rabbitmq" {
  broker_name        = "rabbitmq"
  engine_type        = "RabbitMQ"
  engine_version     = "3.8.6"
  host_instance_type = "mq.t3.micro"
  user {
    username = var.rabbitmq_username
    password = var.rabbitmq_password
  }
}

# Route53 Hosted Zone
resource "aws_route53_zone" "main" {
  name = var.route53_zone_name
}

# SES Domain Identity
resource "aws_ses_domain_identity" "main" {
  domain = var.ses_domain_name
}

# SNS Topic
resource "aws_sns_topic" "main" {
  name = var.sns_topic_name
}
