variable "application_family" {
  type    = string
  default = "devops"
}

variable "team_name" {
  type    = string
  default = "devops"
}

variable "environment" {
  description = "The name of the environment"
  default     = "uat"
}

variable "account_group" {
  description = "The account group"
  default     = "orcd"
}

variable "vpc_private_subnets" {
  type = list(object({
    availability_zone                   = string
    cidr_block                          = string
    name                                = optional(string)
    transit_gateway_attachment_subnet   = optional(bool)
    create_nacl                         = optional(bool, true)
    include_in_elasticache_subnet_group = optional(bool, true)
  }))
  description = "List of private subnets"
  default = [
    { availability_zone = "us-east-1a", cidr_block = "10.100.60.0/24", name = "uat_priv_subnet_0", transit_gateway_attachment_subnet = true },
    { availability_zone = "us-east-1b", cidr_block = "10.100.61.0/24", name = "uat_priv_subnet_1", transit_gateway_attachment_subnet = true },
    { availability_zone = "us-east-1c", cidr_block = "10.100.62.0/24", name = "uat_priv_subnet_2", transit_gateway_attachment_subnet = true },
  ]
}

variable "vpc_public_subnets" {
  type = list(object({
    availability_zone = string
    cidr_block        = string
    name              = optional(string)
  }))
  description = "List of public subnets"
  default = [
    { availability_zone = "us-east-1a", cidr_block = "10.100.63.0/26", name = "uat_public_subnet_0" },
    { availability_zone = "us-east-1b", cidr_block = "10.100.63.64/26", name = "uat_public_subnet_1" },
    { availability_zone = "us-east-1c", cidr_block = "10.100.63.128/26", name = "uat_public_subnet_2" },
  ]
}

variable "org_ou_arn" {
  description = "Organization OU for SME AWS"
  default = {
    "theorchard" : "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-vu43qt3i", # The Orchard OU
    "gdb" : "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-ouayejxi",        # Data Strategy aka GDB OU
  }
}
