35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
// -----------------------------------------------------------------------------
|
|
// RetentionPolicy.cs
|
|
// Sprint: SPRINT_20260118_017_Evidence_artifact_store_unification
|
|
// Task: AS-002 - Implement S3-backed ArtifactStore
|
|
// Description: Retention policy settings for artifacts
|
|
// -----------------------------------------------------------------------------
|
|
namespace StellaOps.Artifact.Infrastructure;
|
|
|
|
/// <summary>
|
|
/// Retention policy for artifact types.
|
|
/// Sprint: SPRINT_20260118_017 (AS-002)
|
|
/// </summary>
|
|
public sealed class RetentionPolicy
|
|
{
|
|
/// <summary>
|
|
/// Number of days to retain artifacts.
|
|
/// </summary>
|
|
public int RetentionDays { get; set; } = 365 * 5;
|
|
|
|
/// <summary>
|
|
/// Whether to delete artifacts after expiry (true) or just mark expired (false).
|
|
/// </summary>
|
|
public bool DeleteAfterExpiry { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// Optional S3 storage class to transition to after specified days.
|
|
/// </summary>
|
|
public string? TransitionStorageClass { get; set; }
|
|
|
|
/// <summary>
|
|
/// Days after creation to transition to TransitionStorageClass.
|
|
/// </summary>
|
|
public int? TransitionAfterDays { get; set; }
|
|
}
|