package regions

// GCPRegions contains Google Cloud Platform region IDs and their display names
// Note: GCP provider is not yet implemented - this is provided for future use
var GCPRegions = map[string]string{
	"us-central1":             "US Central",
	"us-east1":                "US East",
	"us-east4":                "US East 4",
	"us-west1":                "US West",
	"us-west2":                "US West 2",
	"us-west3":                "US West 3",
	"northamerica-northeast1": "Canada North",
	"southamerica-east1":      "Brazil East",
	"europe-west1":            "Europe West",
	"europe-west2":            "Europe West 2",
	"europe-west3":            "Europe West 3",
	"europe-west4":            "Europe West 4",
	"europe-west6":            "Europe West 6",
	"europe-north1":           "Europe North",
	"asia-east1":              "Asia East",
	"asia-east2":              "Asia East 2",
	"asia-northeast1":         "Asia Northeast",
	"asia-northeast2":         "Asia Northeast 2",
	"asia-northeast3":         "Asia Northeast 3",
	"asia-south1":             "Asia South",
	"asia-south2":             "Asia South 2",
	"asia-southeast1":         "Asia Southeast",
	"asia-southeast2":         "Asia Southeast 2",
	"australia-southeast1":    "Australia Southeast",
	"australia-southeast2":    "Australia Southeast 2",
}

// GetGCPRegionName returns the display name for a GCP region ID
func GetGCPRegionName(regionID string) string {
	if name, exists := GCPRegions[regionID]; exists {
		return name
	}
	return "Unknown Region"
}

// IsValidGCPRegion checks if a GCP region ID is valid
func IsValidGCPRegion(regionID string) bool {
	_, exists := GCPRegions[regionID]
	return exists
}

// GetGCPRegionIDs returns all GCP region IDs
func GetGCPRegionIDs() []string {
	regions := make([]string, 0, len(GCPRegions))
	for regionID := range GCPRegions {
		regions = append(regions, regionID)
	}
	return regions
}
