94 lines
2.5 KiB
C#
94 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace StellaOps.Cli.Services.Models;
|
|
|
|
internal sealed class AocIngestDryRunRequest
|
|
{
|
|
[JsonPropertyName("tenant")]
|
|
public string Tenant { get; init; } = string.Empty;
|
|
|
|
[JsonPropertyName("source")]
|
|
public string Source { get; init; } = string.Empty;
|
|
|
|
[JsonPropertyName("document")]
|
|
public AocIngestDryRunDocument Document { get; init; } = new();
|
|
}
|
|
|
|
internal sealed class AocIngestDryRunDocument
|
|
{
|
|
[JsonPropertyName("name")]
|
|
public string? Name { get; init; }
|
|
|
|
[JsonPropertyName("content")]
|
|
public string Content { get; init; } = string.Empty;
|
|
|
|
[JsonPropertyName("contentType")]
|
|
public string ContentType { get; init; } = "application/json";
|
|
|
|
[JsonPropertyName("contentEncoding")]
|
|
public string? ContentEncoding { get; init; }
|
|
}
|
|
|
|
internal sealed class AocIngestDryRunResponse
|
|
{
|
|
[JsonPropertyName("source")]
|
|
public string? Source { get; init; }
|
|
|
|
[JsonPropertyName("tenant")]
|
|
public string? Tenant { get; init; }
|
|
|
|
[JsonPropertyName("guardVersion")]
|
|
public string? GuardVersion { get; init; }
|
|
|
|
[JsonPropertyName("status")]
|
|
public string? Status { get; init; }
|
|
|
|
[JsonPropertyName("document")]
|
|
public AocIngestDryRunDocumentResult Document { get; init; } = new();
|
|
|
|
[JsonPropertyName("violations")]
|
|
public IReadOnlyList<AocIngestDryRunViolation> Violations { get; init; } =
|
|
Array.Empty<AocIngestDryRunViolation>();
|
|
}
|
|
|
|
internal sealed class AocIngestDryRunDocumentResult
|
|
{
|
|
[JsonPropertyName("contentHash")]
|
|
public string? ContentHash { get; init; }
|
|
|
|
[JsonPropertyName("supersedes")]
|
|
public string? Supersedes { get; init; }
|
|
|
|
[JsonPropertyName("provenance")]
|
|
public AocIngestDryRunProvenance Provenance { get; init; } = new();
|
|
}
|
|
|
|
internal sealed class AocIngestDryRunProvenance
|
|
{
|
|
[JsonPropertyName("signature")]
|
|
public AocIngestDryRunSignature Signature { get; init; } = new();
|
|
}
|
|
|
|
internal sealed class AocIngestDryRunSignature
|
|
{
|
|
[JsonPropertyName("format")]
|
|
public string? Format { get; init; }
|
|
|
|
[JsonPropertyName("present")]
|
|
public bool Present { get; init; }
|
|
}
|
|
|
|
internal sealed class AocIngestDryRunViolation
|
|
{
|
|
[JsonPropertyName("code")]
|
|
public string Code { get; init; } = string.Empty;
|
|
|
|
[JsonPropertyName("message")]
|
|
public string Message { get; init; } = string.Empty;
|
|
|
|
[JsonPropertyName("path")]
|
|
public string? Path { get; init; }
|
|
}
|