package provider

import (
	"github.com/tidbcloud/eks-provider/controllers/replay/task"
	"github.com/tidbcloud/eks-provider/controllers/replay/task/eks"
)

type PremiumEKSReplayProvider struct {
	premiumReplayProvider
	zones   []string
	subnets []string
}

func NewPremiumEKSReplayProvider(c *task.Context) *PremiumEKSReplayProvider {
	if c == nil || c.Replay == nil {
		return nil
	}
	defaults := deriveAWSReplayDefaults(c.Replay)
	return &PremiumEKSReplayProvider{
		premiumReplayProvider: newPremiumReplayProvider(
			buildPremiumReplayTasks(c, eks.NewStorageClass(c, task.ReplayStorageClass)),
		),
		zones:   defaults.zones,
		subnets: defaults.subnets,
	}
}

func (p *PremiumEKSReplayProvider) ReplayZones() []string {
	return p.zones
}

func (p *PremiumEKSReplayProvider) ReplaySubnets() []string {
	return p.subnets
}
