package o11y

// auth0 const
const (
	auth0TokenCacheKey = "auth0_token"
	auth0GrantType     = "client_credentials"
	auth0URL           = "https://tidb-soc2.us.auth0.com/oauth/token"
	auth0Audience      = "https://tidb-soc2.us.auth0.com/api/v2/"
)

// internal const
const (
	listClusterPath       = "/api/v1/clusters/"
	getClusterPath        = "/api/v1/clusters/%s"
	listGlobalClusterPath = "/api/v1/global/clusters/"
)

// export const
const (
	dedicatedBizType = "tidbcloud"
	devtierBizType   = "devtier"
	byocBizType      = "byoc"
	ngBizType        = "tidbcloud-nextgen"

	ShootID         = "k8s-infra"
	GlobalDevtierID = "devtier-infra"
	BaseID          = "base"
	SeedID          = "seed"

	BaseSeedTenantPrefix = "infra"

	// not o11y field, just define here
	DedicatedType  = "dedicated"
	SharedType     = "shared"
	ServerlessType = "serverless"
	ByocType       = "byoc"
	ByocHostType   = "byoc-host"
	PremiumType    = "premium"
	NgHostType     = "nextgen-host"

	StorageCategorySlowQuery  = "slowquery"
	StorageCategoryStatements = "statements"

	// new deploy types
	DeployTypeV2Dedicated                   = "dedicated"
	DeployTypeV2Premium                     = "premium"
	DeployTypeV2PremiumReserved             = "premium reserved"
	DeployTypeV2EssentialV2                 = "essential v2"
	DeployTypeV2PremiumResourcePool         = "premium resource pool"
	DeployTypeV2PremiumReservedResourcePool = "premium reserved resource pool"
	DeployTypeV2EssentialV2ResourcePool     = "essential v2 resource pool"
	DeployTypeV2Byoc                        = "byoc"
	DeployTypeV2ByocResourcePool            = "byoc resource pool"
	DeployTypeV2Starter                     = "starter"
	DeployTypeV2Essential                   = "essential"
)

var (
	SharedTypes       = []string{DeployTypeV2Starter, DeployTypeV2Essential}
	ResourcePoolTypes = []string{
		DeployTypeV2PremiumResourcePool,
		DeployTypeV2PremiumReservedResourcePool,
		DeployTypeV2EssentialV2ResourcePool,
		DeployTypeV2ByocResourcePool,
	}
	NextgenTypes             = []string{DeployTypeV2Premium, DeployTypeV2PremiumReserved, DeployTypeV2EssentialV2, DeployTypeV2Byoc}
	NextgenResourcePoolTypes = []string{
		DeployTypeV2Premium, DeployTypeV2PremiumReserved, DeployTypeV2EssentialV2, DeployTypeV2Byoc,
		DeployTypeV2PremiumResourcePool, DeployTypeV2PremiumReservedResourcePool, DeployTypeV2EssentialV2ResourcePool,
		DeployTypeV2ByocResourcePool,
	}
)
