Files
CHORUS/pkg/slurp/storage/backup_manager_noop.go

40 lines
1.2 KiB
Go

package storage
import "context"
// noopBackupManager provides a BackupManager that performs no operations.
type noopBackupManager struct{}
// NewNoopBackupManager returns a no-op backup manager.
func NewNoopBackupManager() BackupManager {
return &noopBackupManager{}
}
func (n *noopBackupManager) CreateBackup(ctx context.Context, config *BackupConfig) (*BackupInfo, error) {
return &BackupInfo{Status: BackupStatusCompleted}, nil
}
func (n *noopBackupManager) RestoreBackup(ctx context.Context, backupID string, config *RestoreConfig) error {
return nil
}
func (n *noopBackupManager) ListBackups(ctx context.Context) ([]*BackupInfo, error) {
return []*BackupInfo{}, nil
}
func (n *noopBackupManager) DeleteBackup(ctx context.Context, backupID string) error {
return nil
}
func (n *noopBackupManager) ValidateBackup(ctx context.Context, backupID string) (*BackupValidation, error) {
return &BackupValidation{BackupID: backupID, Valid: true}, nil
}
func (n *noopBackupManager) ScheduleBackup(ctx context.Context, schedule *BackupSchedule) error {
return nil
}
func (n *noopBackupManager) GetBackupStats(ctx context.Context) (*BackupStatistics, error) {
return &BackupStatistics{}, nil
}