namespace ZB.MOM.WW.ScadaBridge.ManagementService;
public class ManagementServiceOptions
{
/// Maximum time to wait for a management command to complete before returning a timeout error; default 30 seconds.
public TimeSpan CommandTimeout { get; set; } = TimeSpan.FromSeconds(30);
/// Maximum time to wait for a long-running transport/deploy command (import/preview/export bundle, deploy artifacts/instance) before returning a timeout error; default 5 minutes.
public TimeSpan LongRunningCommandTimeout { get; set; } = TimeSpan.FromMinutes(5);
/// Age after which a Pending secured write can no longer be approved; it is transitioned to Expired at the next decision/list touch. Default 24 hours. A non-positive value disables server-side expiry.
public TimeSpan SecuredWritePendingTtl { get; set; } = TimeSpan.FromHours(24);
/// Age after which a decided/executed secured-write row (Approved/Rejected/Expired/Executed/Failed, measured from its last lifecycle instant) is purged from PendingSecuredWrites; the AuditLog keeps the history. Default 90 days. A non-positive value disables the purge.
public TimeSpan SecuredWriteTerminalRetention { get; set; } = TimeSpan.FromDays(90);
/// Minimum interval between terminal secured-write purge passes on one node (the purge rides the Secured Writes list sweep). Default 1 hour; zero runs it on every list.
public TimeSpan SecuredWriteTerminalPurgeInterval { get; set; } = TimeSpan.FromHours(1);
}