package region

import tntent "github.com/tidbcloud/devops/entity/tenant"

func CountryToRegion(country string) tntent.TenantRegion {
	switch country {
	case "AD", "AE", "AF", "AL", "AM", "AO", "AQ", "AT", "AX", "AZ",
		"BA", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BN", "BQ", "BV", "BW", "BY",
		"CD", "CF", "CG", "CH", "CI", "CK", "CM", "CV", "CW", "CY", "CZ",
		"DE", "DJ", "DK", "DZ", "EE", "EG", "EH", "ER", "ES", "ET",
		"FI", "FO", "FR", "GA", "GB", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GW",
		"HM", "HR", "HU", "IE", "IL", "IM", "IO", "IQ", "IR", "IS", "IT",
		"JE", "JO", "KE", "KG", "KM", "KW", "KZ", "LB", "LI", "LR", "LS", "LT", "LU", "LV", "LY",
		"MA", "MC", "MD", "ME", "MF", "MG", "MK", "ML", "MQ", "MR", "MT", "MU", "MW", "MZ",
		"NA", "NC", "NE", "NG", "NL", "NO", "OM", "PF", "PL", "PM", "PN", "PS", "PT", "QA",
		"RE", "RO", "RS", "RU", "RW",
		"SA", "SC", "SD", "SE", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SS", "ST", "SX", "SY", "SZ",
		"TD", "TF", "TG", "TJ", "TM", "TN", "TR", "TZ", "UA", "UG", "UZ", "VA", "WF", "YE", "YT", "ZA", "ZM", "ZW":
		return tntent.TenantRegionEMEA
	case "AG", "AR", "BB", "BZ", "BO", "BR", "CL", "CO", "CR", "CU", "DM", "DO", "EC", "SV", "GD", "GT", "GY", "HT", "HN",
		"JM", "MX", "NI", "PA", "PY", "PE", "PR", "KN", "LC", "VC", "SR", "TT", "UY", "VE":
		return tntent.TenantRegionLATAM
	case "AI", "AS", "AW", "BM", "BS", "CA", "FK", "GS", "GU", "KY", "MS", "TC", "UM", "US", "VG", "VI":
		return tntent.TenantRegionNA
	case "AU", "BD", "BT", "CC", "CN", "CX", "FJ", "FM", "HK", "ID", "IN", "KH", "KI", "KP", "KR",
		"LA", "LK", "MH", "MM", "MN", "MO", "MP", "MV", "MY", "NF", "NP", "NR", "NU", "NZ", "PW",
		"PG", "PH", "PK", "SB", "SG", "TH", "TK", "TL", "TO", "TV", "TW", "VN", "VU", "WS":
		return tntent.TenantRegionAPAC
	case "JP":
		return tntent.TenantRegionJapan
	}
	return tntent.TenantRegionUnknown
}
