variable "aws_region" {
  type        = string
  description = "AWS region"
  default     = "us-east-1"
}

variable "environment" {
  type        = string
  description = "Deployment environment (dev, qa, prod)"
  default     = "prod"
}

variable "application_family" {
  type        = string
  description = "Application family"
  default     = "data-platform"
}

variable "service_name" {
  type        = string
  description = "Service name — used for SSM parameter path, IAM policy names, and Secrets Manager namespace"
  default     = "spotify-daily-chart-freshness"
}

variable "lambda_name" {
  type        = string
  description = "Lambda function name in AWS"
  default     = "lambda-spotify-daily-chart-freshness"
}

variable "team_name" {
  type        = string
  description = "Owning team name"
  default     = "data-platform"
}

variable "lambda_timeout" {
  type        = number
  description = "Lambda function timeout in seconds"
  default     = 300
}

variable "snowflake_account" {
  type        = string
  description = "Snowflake account identifier (non-sensitive, passed as env var)"
  default     = "delphi.us-east-1"
}

variable "snowflake_user" {
  type        = string
  description = "Snowflake service user (non-sensitive, passed as env var)"
  default     = "PROD_LAMBDA_SPOTIFY_DAILY_CHART_FRESHNESS"
}

variable "secret_names" {
  type        = list(string)
  description = "Secrets to create under {environment}/{service_name}/ in Secrets Manager"
  default = [
    "SPOTIFY_API_CLIENT_ID",
    "SPOTIFY_API_CLIENT_SECRET",
    "SNOWFLAKE_PRIVATE_KEY",
  ]
}

variable "lag_alert_minutes" {
  type        = number
  description = "Minutes of chart lag before the Lambda emits a lag alert"
  default     = 15
}

variable "notification_endpoint" {
  type        = string
  description = "Datadog notification endpoint (Slack channel handle)"
  default     = "@slack-data-alerts"
}
