Remove XApi, WinRM, LocalCmd, HTTP API, TLS probe, SQL deploy model, and deploy UI. Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
namespace ZA.CoreService.ESBCertificateManager.Models;
|
|
|
|
public sealed class DeploymentRunResult
|
|
{
|
|
public Guid RunId { get; init; } = Guid.NewGuid();
|
|
public required IReadOnlyList<TargetStepResult> TargetResults { get; init; }
|
|
public bool OverallSuccess => TargetResults.All(r => r.Success);
|
|
public DateTimeOffset StartedAt { get; init; }
|
|
public DateTimeOffset FinishedAt { get; init; }
|
|
}
|
|
|
|
public sealed class TargetStepResult
|
|
{
|
|
public required int TargetId { get; init; }
|
|
public required string TargetName { get; init; }
|
|
public bool Success { get; init; }
|
|
public required string StatusText { get; init; }
|
|
public string? Detail { get; init; }
|
|
public DateTimeOffset StartedAt { get; init; }
|
|
public DateTimeOffset FinishedAt { get; init; }
|
|
}
|
|
|
|
public sealed class ValidationIssue
|
|
{
|
|
public required string Message { get; init; }
|
|
public int? TargetId { get; init; }
|
|
}
|
|
|
|
public sealed class PreflightValidationResult
|
|
{
|
|
public bool IsValid => Issues.Count == 0;
|
|
public List<ValidationIssue> Issues { get; } = [];
|
|
}
|
|
|
|
public readonly record struct TargetProgressUpdate(int TargetId, string StatusText, bool? SuccessHint);
|