variable "identifier" { description = "RDS instance identifier" type = string } variable "engine_version" { description = "PostgreSQL engine version" type = string default = "16.3" } variable "instance_class" { description = "RDS instance class" type = string default = "db.t3.medium" } variable "allocated_storage" { description = "Initial allocated storage in GiB" type = number default = 20 } variable "max_allocated_storage" { description = "Maximum storage for autoscaling (0 disables)" type = number default = 100 } variable "db_name" { description = "Initial database name" type = string } variable "username" { description = "Master username" type = string default = "postgres" } variable "password" { description = "Master password (ignored when manage_master_user_password = true)" type = string default = null sensitive = true } variable "manage_master_user_password" { description = "Let RDS manage the master password in Secrets Manager" type = bool default = true } variable "subnet_group_name" { description = "DB subnet group name (created when subnet_ids is provided)" type = string default = null } variable "subnet_ids" { description = "Subnet IDs for the DB subnet group" type = list(string) default = [] } variable "security_group_ids" { description = "Security group IDs for the RDS instance" type = list(string) } variable "multi_az" { description = "Enable Multi-AZ deployment" type = bool default = true } variable "kms_key_id" { description = "KMS key ARN for storage encryption" type = string default = null } variable "backup_retention_period" { description = "Days to retain automated backups" type = number default = 7 } variable "backup_window" { description = "Preferred backup window (UTC)" type = string default = "03:00-04:00" } variable "maintenance_window" { description = "Preferred maintenance window" type = string default = "sun:05:00-sun:06:00" } variable "deletion_protection" { description = "Enable deletion protection" type = bool default = true } variable "skip_final_snapshot" { description = "Skip final snapshot on deletion" type = bool default = false } variable "monitoring_interval" { description = "Enhanced monitoring interval in seconds (0 disables)" type = number default = 60 } variable "performance_insights_enabled" { description = "Enable Performance Insights" type = bool default = true } variable "performance_insights_kms_key_id" { description = "KMS key for Performance Insights encryption" type = string default = null } variable "parameter_group_family" { description = "DB parameter group family" type = string default = "postgres16" } variable "parameters" { description = "Map of DB parameter names to values" type = map(string) default = {} } variable "read_replicas" { description = "Map of read replica logical names to instance class" type = map(string) default = {} } variable "tags" { description = "Resource tags to apply to all resources" type = map(string) default = {} }