package scheduler

import "gitea.ceperka.net/rosti/incus-sentinel/incus"

type Driver interface {
	// GetInstances retrieves a list of instances from the target
	GetInstances(target string) ([]incus.Instance, error)

	// Sync synchronizes instances between source and target
	Sync(sourceInstance string, targetInstance string, targetHost string, targetPool string) error

	// Backup creates a backup of the specified instance with given tags
	Backup(instance string, tags []string) error
}

type Notifier interface {
	// Notify sends a notification to the specified URL
	Notify(url string) error
}
