titan-iac/terraform/aether/variables.tf

75 lines
2.0 KiB
Terraform
Raw Normal View History

variable "aws_region" {
type = string
description = "AWS region used for Aether lab resources."
default = "us-east-1"
}
variable "aws_profile" {
type = string
description = "Optional AWS CLI profile name for the target account."
default = null
}
variable "allowed_account_ids" {
type = list(string)
description = "Optional allow-list for the AWS account IDs Terraform may touch."
default = []
}
variable "name_prefix" {
type = string
description = "Short name used as the prefix for Aether resources."
default = "aether"
validation {
condition = can(regex("^[a-z][a-z0-9-]{1,30}[a-z0-9]$", var.name_prefix))
error_message = "name_prefix must be lowercase kebab-case and start/end with an alphanumeric character."
}
}
variable "environment" {
type = string
description = "Aether environment name."
default = "lab"
validation {
condition = contains(["lab", "sandbox", "test"], var.environment)
error_message = "environment must be one of: lab, sandbox, test."
}
}
variable "enable_budget" {
type = bool
description = "Create a small AWS Budget for the account."
default = false
}
variable "monthly_budget_usd" {
type = number
description = "Monthly budget amount when enable_budget is true."
default = 1
validation {
condition = var.monthly_budget_usd >= 1 && var.monthly_budget_usd <= 25
error_message = "monthly_budget_usd must stay between 1 and 25 for the Aether lab."
}
}
variable "budget_alert_email" {
type = string
description = "Optional email subscriber for AWS Budget notifications."
default = null
}
variable "permit_paid_resources" {
type = bool
description = "Set true before enabling any resource that can create AWS spend."
default = false
}
variable "enable_external_backup_bucket" {
type = bool
description = "Create a versioned S3 bucket for small Atlas offsite backup tests."
default = false
}