namespace OrpaonVision.Core.Training.Contracts;
///
/// 运行时部署快照。
///
public sealed class RuntimeDeploymentSnapshot
{
///
/// 快照ID。
///
public Guid Id { get; init; } = Guid.NewGuid();
///
/// 快照名称。
///
public string Name { get; init; } = string.Empty;
///
/// 快照描述。
///
public string Description { get; init; } = string.Empty;
///
/// 机种ID。
///
public Guid ProductTypeId { get; init; }
///
/// 机种编码。
///
public string ProductTypeCode { get; init; } = string.Empty;
///
/// 规则版本ID。
///
public Guid RuleVersionId { get; init; }
///
/// 规则版本号。
///
public string RuleVersionNo { get; init; } = string.Empty;
///
/// 模型包版本ID。
///
public Guid ModelPackageVersionId { get; init; }
///
/// 模型包版本号。
///
public string ModelPackageVersionNo { get; init; } = string.Empty;
///
/// 运行时参数版本ID。
///
public Guid RuntimeParameterVersionId { get; init; }
///
/// 运行时参数版本号。
///
public string RuntimeParameterVersionNo { get; init; } = string.Empty;
///
/// 快照状态。
///
public RuntimeDeploymentSnapshotStatus Status { get; init; }
///
/// 创建时间(UTC)。
///
public DateTime CreatedAtUtc { get; init; } = DateTime.UtcNow;
///
/// 创建者。
///
public string CreatedBy { get; init; } = string.Empty;
///
/// 激活时间(UTC)。
///
public DateTime? ActivatedAtUtc { get; init; }
///
/// 激活者。
///
public string? ActivatedBy { get; init; }
///
/// 回滚时间(UTC)。
///
public DateTime? RolledBackAtUtc { get; init; }
///
/// 回滚者。
///
public string? RolledBackBy { get; init; }
///
/// 快照元数据(JSON格式)。
///
public string MetadataJson { get; init; } = string.Empty;
}
///
/// 运行时部署快照状态。
///
public enum RuntimeDeploymentSnapshotStatus
{
///
/// 草稿。
///
Draft,
///
/// 已激活。
///
Activated,
///
/// 已回滚。
///
RolledBack,
///
/// 已归档。
///
Archived
}