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

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

variable "environment" {
  default = "networking"
}


variable "customer_gateway_ip_address_vpn_sme_internal" {
  type        = string
  description = "The IP address for the customer gateway. SME Ashburn VPN Primary."
  default     = "12.170.130.197"
}

variable "vpn_addresses" {
  type        = list(string)
  description = "List of addresses associated with the VPN connection"
  default = [
    "10.12.1.0/24",     # SME Madison Infoblox CIDR Block
    "10.12.38.0/23",    # SME AZURE Windows365 CIDR Block
    "10.12.242.0/25",   # SME AWS Workspaces CIDR Block
    "10.12.113.0/24",   # SME 25 Madison CIDR Block
    "162.49.75.0/24",   # SME Ashburn Virginia CIDR Block
    "162.49.1.137/32",  # SME gpny.sonymusic.com VPN CIDR Block
    "10.12.103.128/25", # SME gp.sonymusic.com VPN CIDR Block
    "10.12.103.0/25",   # SME gp.sonymusic.com VPN CIDR Block
    "10.12.96.0/22",    # SME gp.sonymusic.com VPN CIDR Block
    "10.12.100.0/23",   # SME gp.sonymusic.com VPN CIDR Block
    "10.12.102.0/24",   # SME gp.sonymusic.com VPN CIDR Block
    "162.49.36.0/22",   # SME gp.sonymusic.com VPN CIDR Block
    "10.12.80.0/22",    # SME internal gateway CIDR Block
  ]
}

variable "user_vpn_addresses" {
  type        = list(string)
  description = "Subset of vpn_addresses including only CIDR's neccessary for user connection via VPN"
  default = [
    "10.30.0.0/22",
    "192.168.32.0/24",
    "192.168.40.0/22",
    "162.49.36.0/22",  # gp.sonymusic.com global protect clients vpn range
    "162.49.1.137/32", # gpny.sonymusic.com global protect clients vpn range
  ]
}
#
variable "vpc_routes" {
  type        = map(string)
  description = "A map of CIDR ranges to VPC names to configure routes for in the associated route table"
  default = {
    "10.100.0.0/16"  = "prod"
    "10.213.0.0/20"  = "shared"
    "10.214.0.0/20"  = "accounting-qa"
    "10.215.0.0/20"  = "accounting-prod"
    "10.101.0.0/16"  = "dev"
    "10.227.0.0/20"  = "test-automation-qa"
    "10.222.0.0/20"  = "business-solutions-qa"
    "10.223.0.0/20"  = "business-solutions-prod"
    "10.221.0.0/20"  = "business-intelligence-prod"
    "10.228.0.0/20"  = "mobile-code-push-qa"
    "10.229.0.0/20"  = "mobile-code-push-prod"
    "10.219.0.0/20"  = "fansifter-qa"
    "10.220.0.0/20"  = "fansifter-prod"
    "10.216.0.0/20"  = "permissions-platform-qa"
    "10.217.0.0/20"  = "permissions-platform-prod"
    "10.225.0.0/20"  = "supply-chain-qa"
    "10.226.0.0/20"  = "supply-chain-prod"
    "10.180.0.0/20"  = "songwhip-qa"
    "10.180.16.0/20" = "songwhip-prod"
    "10.17.0.0/16"   = "gdb-apollo-prod-prod-apollo"
    "10.50.0.0/16"   = "gdb-infra-dev"
    "10.13.0.0/16"   = "gdb-delphi-prod-prod-apollo"
    "10.15.0.0/16"   = "gdb-apollo-dev-stage-apollo"
    "10.30.8.0/21"   = "gdb-delphi-dev-dev-delphi"
    "10.31.0.0/16"   = "gdb-delphi-dev-qa-delphi"
    "10.32.0.0/16"   = "gdb-delphi-dev-stage-delphi"
    "10.33.0.0/16"   = "gdb-delphi-prod-prod-delphi"
    "10.53.0.0/16"   = "gdb-infra-dev-jenkins"
    "10.60.0.0/16"   = "gdb-prodhub-dev-dev-ecommerce"
    "10.61.0.0/16"   = "gdb-prodhub-dev-prod-ecommerce"
    "10.93.0.0/16"   = "gdb-core-prod-uat-core"
    "10.94.0.0/16"   = "gdb-core-prod-prod-core"
    "10.164.0.0/16"  = "gdb-databricks-dev"
    "10.165.0.0/16"  = "gdb-databricks-prod"
  }
}

variable "managed_prefix_list_share_principals" {
  description = "List of principals to share the managed prefix list resource with via RAM"
  default = [
    "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-vu43qt3i", # The Orchard OU
    "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-ouayejxi", # Data Strategy aka GDB OU
    "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-nxfxc71f", # SME DEV OU (child OU, use only final ID)
    "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-dc402ggh", # SME PROD OU (child OU, use only final ID)
  ]
}

variable "inter_region_routes" {
  type        = map(string)
  description = "A map of CIDR ranges to regions to configure routes for in the associated route table"
  default = {
    "172.31.0.0/16"  = "us-west-2"    # royaltyshare
    "10.219.16.0/21" = "eu-central-1" # dx-qa
    "10.219.24.0/21" = "eu-central-1" # dx-prod
  }
}
