namespace SwBLL.Provisioning; /// /// Backup/data/log file paths for SQL Server database creation, bound from appsettings /// "SqlWorkbench:Provisioning:SqlServer". Deliberately NOT the legacy /// CommonFunctionFrameDAL.ReadValueFromCommonConfig key/value table — this module follows the /// same Vault/appsettings Options convention as every other GB5 module. /// public class SqlServerProvisioningOptions { public const string SectionName = "SqlWorkbench:Provisioning:SqlServer"; /// Directory on the target SQL Server instance where template .bak files live. /// TemplateBackupRef is always just a filename resolved under this path — never a /// caller-supplied path, to rule out path traversal. public string BackupSourcePath { get; set; } = string.Empty; /// Directory on the target SQL Server instance where new .mdf data files are placed. public string DataFileDestinationPath { get; set; } = string.Empty; /// Directory on the target SQL Server instance where new .ldf log files are placed. public string LogFileDestinationPath { get; set; } = string.Empty; /// Fixed-size data file autogrowth increment, in MB — percentage-based growth is /// deliberately avoided (produces increasingly large, slower growth events over time). public int DataFileAutogrowthMB { get; set; } = 256; /// Fixed-size log file autogrowth increment, in MB. public int LogFileAutogrowthMB { get; set; } = 128; /// Command timeout (seconds) for RESTORE DATABASE / CREATE DATABASE, which can run /// long against a large template. public int ProvisioningCommandTimeoutSeconds { get; set; } = 300; }