package v1

import (
	"fmt"

	"k8s.io/apimachinery/pkg/types"
)

const (
	ProviderTypeAWS           = "aws"
	ProviderTypeGCP           = "gcp"
	ProviderTypeEKS           = "eks"
	ProviderTypeAWSFreeTier   = "aws-free-tier"
	ProviderTypeAWSSharedTier = "aws-shared-tier"
	UnkownProvider            = "unknown"
)

func (i *Import) GetClusterRef() types.NamespacedName {
	return types.NamespacedName{
		Namespace: i.Namespace,
		Name:      i.Spec.ClusterName,
	}
}

func (i *Import) ClusterScopeName() string {
	return fmt.Sprintf("%s-%s", i.Spec.ClusterName, i.ObjectMeta.Name)
}

// When providerType is 'aws-free-tier' or 'aws-shared-tier' or 'eks', convert it to 'aws'
func ConvtProviderType(providerType string) string {
	switch providerType {
	case ProviderTypeAWSFreeTier, ProviderTypeAWSSharedTier, ProviderTypeEKS:
		return ProviderTypeAWS
	}
	return providerType
}
