namespace HanaToolbox.Config;
public enum BackupType { Tenant, Schema, All }
public sealed class BackupConfig
{
public bool Enabled { get; set; } = false;
public int ScheduleHour { get; set; } = 2;
public int ScheduleMinute { get; set; } = 0;
/// What to back up: Tenant, Schema, or All.
public BackupType Type { get; set; } = BackupType.All;
/// hdbuserstore key for the tenant DB.
public string UserKey { get; set; } = "CRONKEY";
/// Base directory for tenant backup files.
public string BackupBasePath { get; set; } = "/hana/backup/tenant";
public bool Compress { get; set; } = true;
public bool BackupSystemDb { get; set; } = false;
public string SystemDbUserKey { get; set; } = string.Empty;
/// Schema names to export when Type is Schema or All.
public List SchemaNames { get; set; } = [];
/// Base directory for schema export files.
public string SchemaBackupPath { get; set; } = "/hana/backup/schema";
public bool CompressSchema { get; set; } = true;
/// Thread count for export/import. 0 = auto (nproc/2).
public int Threads { get; set; } = 0;
}