package gitops

import (
	cloudv1 "github.com/tidbcloud/infra-api/api/v1"
)

// ConfigProvider is the interface to access the specs managed by gitops
// Note: only part of the providers ships with gitops support, try to access machine spec for an unsupported provider
// will result an error
type ConfigProvider interface {
	GetMachineSpec(provider *cloudv1.Provider, component cloudv1.ClusterComponent) (*cloudv1.MachineSpec, error)
	GetResourceSpec(provider *cloudv1.Provider, component cloudv1.ClusterComponent) (*cloudv1.ResourceSpec, error)
}
