namespace ScadaLink.DeploymentManager;

/// <summary>
/// Configuration options for the central-side Deployment Manager.
/// </summary>
public class DeploymentManagerOptions
{
    /// <summary>Timeout for lifecycle commands sent to sites (disable, enable, delete).</summary>
    public TimeSpan LifecycleCommandTimeout { get; set; } = TimeSpan.FromSeconds(30);

    /// <summary>WP-7: Timeout per site for system-wide artifact deployment.</summary>
    public TimeSpan ArtifactDeploymentTimeoutPerSite { get; set; } = TimeSpan.FromSeconds(120);

    /// <summary>WP-3: Timeout for acquiring an operation lock on an instance.</summary>
    public TimeSpan OperationLockTimeout { get; set; } = TimeSpan.FromSeconds(5);
}
