Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
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
Policy Lint & Smoke / policy-lint (push) Has been cancelled
79 lines
2.3 KiB
C#
79 lines
2.3 KiB
C#
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using StellaOps.Cli.Services.Models;
|
|
|
|
namespace StellaOps.Cli.Services;
|
|
|
|
/// <summary>
|
|
/// Client for Sbomer API operations (layer fragments and composition).
|
|
/// Per CLI-SBOM-60-001.
|
|
/// </summary>
|
|
internal interface ISbomerClient
|
|
{
|
|
/// <summary>
|
|
/// Lists layer fragments for a scan.
|
|
/// </summary>
|
|
Task<SbomerLayerListResponse> ListLayersAsync(
|
|
SbomerLayerListRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Gets layer fragment details.
|
|
/// </summary>
|
|
Task<SbomerLayerDetail?> GetLayerAsync(
|
|
SbomerLayerShowRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Verifies a layer fragment DSSE signature.
|
|
/// </summary>
|
|
Task<SbomerLayerVerifyResult> VerifyLayerAsync(
|
|
SbomerLayerVerifyRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Gets the composition manifest for a scan.
|
|
/// </summary>
|
|
Task<CompositionManifest?> GetCompositionManifestAsync(
|
|
SbomerCompositionShowRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Composes SBOM from layer fragments.
|
|
/// </summary>
|
|
Task<SbomerComposeResult> ComposeAsync(
|
|
SbomerComposeRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Verifies composition against manifest and fragments.
|
|
/// </summary>
|
|
Task<SbomerCompositionVerifyResult> VerifyCompositionAsync(
|
|
SbomerCompositionVerifyRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Gets Merkle diagnostics for a composition.
|
|
/// </summary>
|
|
Task<MerkleDiagnostics?> GetMerkleDiagnosticsAsync(
|
|
string scanId,
|
|
string? tenant,
|
|
CancellationToken cancellationToken);
|
|
|
|
// CLI-SBOM-60-002: Drift detection methods
|
|
|
|
/// <summary>
|
|
/// Analyzes drift between current SBOM and baseline.
|
|
/// </summary>
|
|
Task<SbomerDriftResult> AnalyzeDriftAsync(
|
|
SbomerDriftRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Verifies SBOM with local recomposition and drift detection.
|
|
/// </summary>
|
|
Task<SbomerDriftVerifyResult> VerifyDriftAsync(
|
|
SbomerDriftVerifyRequest request,
|
|
CancellationToken cancellationToken);
|
|
}
|