variable "image" {
  type        = string
  description = "ECR image URL for the task container."
}

variable "port" {
  type        = number
  description = "Container port the service listens on."
  default     = 80
}

variable "cpu" {
  type        = number
  description = "Task CPU units (Fargate)."
  default     = 256
}

variable "memory" {
  type        = number
  description = "Task memory (MiB, Fargate)."
  default     = 512
}

variable "env" {
  type        = string
  description = "Environment variables as a JSON map string (optional)."
  default     = null
}

variable "cluster_arn" {
  type        = string
  description = "ECS cluster ARN (ref to ecs-cluster)."
}

variable "subnets" {
  type        = string
  description = "Comma-separated subnet ids (ref to vpc)."
}

variable "security_group" {
  type        = string
  description = "Security group id for the service ENIs."
  default     = null
}

variable "lb_target_group_arn" {
  type        = string
  description = "Optional ALB target group ARN (ref to alb)."
  default     = null
}

variable "region" {
  type        = string
  description = "AWS region (provider-level; not a resource arg)."
  default     = null
}

variable "kms_key_arn" {
  type        = string
  description = "ARN of the CMK for CloudWatch log group encryption; if absent, uses managed key."
  default     = null
}

variable "desired_count" {
  type        = number
  description = "Desired number of ECS task replicas (Fargate)."
  default     = 1
}

variable "launch_type" {
  type        = string
  description = "ECS launch type (FARGATE or EC2)."
  default     = "FARGATE"
}

variable "family" {
  type        = string
  description = "ECS task definition family name."
  default     = "app"
}

variable "enabled" {
  type        = bool
  description = "Feature flag: enable/disable this module. Set to false to skip resource creation."
  default     = true
}
