package tidbcluster

import "context"

type ClusterRole struct {
	CloudIamIdentity string
	ExternalId       string
}

type Provider interface {
	// GetNamespace gets the tidb cluster namespace
	GetNamespace(ctx context.Context, clusterID string) (string, error)
	// FeatureEnabled check if a featuregate is enabled for a tidb cluster
	FeatureEnabled(ctx context.Context, clusterID string, featureName string) (bool, error)
	GetCertCommonName(ctx context.Context, clusterID string) (string, error)
	GetCertIssuerName(ctx context.Context, clusterID string) (string, error)
	GetClusterRole(ctx context.Context, clusterID string) (*ClusterRole, error)
}
