using System.Threading;
using System.Threading.Tasks;
using StellaOps.Cli.Services.Models;
namespace StellaOps.Cli.Services;
///
/// Client for orchestrator API operations.
/// Per CLI-ORCH-32-001.
///
internal interface IOrchestratorClient
{
///
/// Lists sources matching the query.
///
Task ListSourcesAsync(
SourceListRequest request,
CancellationToken cancellationToken);
///
/// Gets a source by ID.
///
Task GetSourceAsync(
string sourceId,
string? tenant,
CancellationToken cancellationToken);
///
/// Pauses a source.
///
Task PauseSourceAsync(
SourcePauseRequest request,
CancellationToken cancellationToken);
///
/// Resumes a paused source.
///
Task ResumeSourceAsync(
SourceResumeRequest request,
CancellationToken cancellationToken);
///
/// Tests a source connection.
///
Task TestSourceAsync(
SourceTestRequest request,
CancellationToken cancellationToken);
// CLI-ORCH-34-001: Backfill operations
///
/// Starts a backfill operation for a source.
///
Task StartBackfillAsync(
BackfillRequest request,
CancellationToken cancellationToken);
///
/// Gets the status of a backfill operation.
///
Task GetBackfillAsync(
string backfillId,
string? tenant,
CancellationToken cancellationToken);
///
/// Lists backfill operations.
///
Task ListBackfillsAsync(
BackfillListRequest request,
CancellationToken cancellationToken);
///
/// Cancels a running backfill operation.
///
Task CancelBackfillAsync(
BackfillCancelRequest request,
CancellationToken cancellationToken);
// CLI-ORCH-34-001: Quota management
///
/// Gets quotas for a tenant/source.
///
Task GetQuotasAsync(
QuotaGetRequest request,
CancellationToken cancellationToken);
///
/// Sets a quota limit.
///
Task SetQuotaAsync(
QuotaSetRequest request,
CancellationToken cancellationToken);
///
/// Resets a quota's usage counter.
///
Task ResetQuotaAsync(
QuotaResetRequest request,
CancellationToken cancellationToken);
}