package provider

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

type PremiumAliyunReplayProvider struct {
	premiumReplayProvider
	subnets []string
}

func NewPremiumAliyunReplayProvider(c *task.Context) *PremiumAliyunReplayProvider {
	if c == nil || c.Replay == nil {
		return nil
	}
	defaults := deriveACKReplayDefaults(c.Replay)
	return &PremiumAliyunReplayProvider{
		premiumReplayProvider: newPremiumReplayProvider(
			buildPremiumReplayTasks(c, ack.NewStorageClass(c, task.ReplayStorageClass)),
		),
		subnets: defaults.subnets,
	}
}

func (p *PremiumAliyunReplayProvider) ReplayZones() []string {
	return nil
}

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