Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
devportal-offline / build-offline (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
43 lines
2.1 KiB
C#
43 lines
2.1 KiB
C#
using System.Collections.Immutable;
|
|
using System.Text.Json.Serialization;
|
|
using StellaOps.Policy.Engine.Services;
|
|
|
|
namespace StellaOps.Policy.Engine.Domain;
|
|
|
|
public sealed record PolicyBundleRequest(
|
|
[property: JsonPropertyName("dsl")] PolicyDslPayload Dsl,
|
|
[property: JsonPropertyName("signingKeyId")] string? SigningKeyId,
|
|
[property: JsonPropertyName("provenance")] PolicyProvenanceInput? Provenance = null);
|
|
|
|
/// <summary>
|
|
/// Input provenance information for policy compilation.
|
|
/// </summary>
|
|
public sealed record PolicyProvenanceInput(
|
|
[property: JsonPropertyName("sourceType")] string SourceType,
|
|
[property: JsonPropertyName("sourceUrl")] string? SourceUrl = null,
|
|
[property: JsonPropertyName("submitter")] string? Submitter = null,
|
|
[property: JsonPropertyName("commitSha")] string? CommitSha = null,
|
|
[property: JsonPropertyName("branch")] string? Branch = null);
|
|
|
|
public sealed record PolicyBundleResponse(
|
|
[property: JsonPropertyName("success")] bool Success,
|
|
[property: JsonPropertyName("digest")] string? Digest,
|
|
[property: JsonPropertyName("signature")] string? Signature,
|
|
[property: JsonPropertyName("sizeBytes")] int SizeBytes,
|
|
[property: JsonPropertyName("createdAt")] DateTimeOffset? CreatedAt,
|
|
[property: JsonPropertyName("diagnostics")] ImmutableArray<PolicyIssue> Diagnostics,
|
|
[property: JsonPropertyName("aocMetadata")] PolicyAocMetadataResponse? AocMetadata = null);
|
|
|
|
/// <summary>
|
|
/// AOC metadata returned from policy compilation.
|
|
/// </summary>
|
|
public sealed record PolicyAocMetadataResponse(
|
|
[property: JsonPropertyName("compilationId")] string CompilationId,
|
|
[property: JsonPropertyName("compilerVersion")] string CompilerVersion,
|
|
[property: JsonPropertyName("compiledAt")] DateTimeOffset CompiledAt,
|
|
[property: JsonPropertyName("sourceDigest")] string SourceDigest,
|
|
[property: JsonPropertyName("artifactDigest")] string ArtifactDigest,
|
|
[property: JsonPropertyName("complexityScore")] double ComplexityScore,
|
|
[property: JsonPropertyName("ruleCount")] int RuleCount,
|
|
[property: JsonPropertyName("durationMilliseconds")] long DurationMilliseconds);
|