package provider

import (
	"github.com/tidbcloud/eks-provider/controllers/replay/task"
	"github.com/tidbcloud/eks-provider/controllers/replay/task/common"
	"github.com/tidbcloud/eks-provider/controllers/replay/task/eks"
	"github.com/tidbcloud/infra-provider/pkg/deploy"
)

func buildPremiumReplayTasks(c *task.Context, storageClassTask deploy.Task) []deploy.Task {
	return []deploy.Task{
		common.NewGuardian(c),
		storageClassTask,
		common.NewNamespace(c),
		common.NewService(c),
		common.NewReplay(c),
	}
}

func newDedicatedEKSReplayTasks(c *task.Context) []deploy.Task {
	return []deploy.Task{
		common.NewGuardian(c),
		eks.NewProviderConfig(c),
		eks.NewNodeRole(c),
		eks.NewNodePool(c),
		eks.NewStorageClass(c, task.ReplayStorageClass),
		common.NewNamespace(c),
		common.NewService(c),
		common.NewReplay(c),
	}
}
