Interface ISandboxProviderClient
- Namespace
- OpenShell
- Assembly
- OpenShell.Sdk.dll
Provider attachment and readiness for sandboxes, scoped to one workspace.
public interface ISandboxProviderClient
Methods
AttachAsync(string, string, SandboxProviderMutationOptions?, CancellationToken)
Attaches a provider to a sandbox. Pass the receipt to WaitAsync(ProviderMutationReceipt, TimeSpan, CancellationToken) to await installation.
ValueTask<AttachProviderResult> AttachAsync(string sandbox, string provider, SandboxProviderMutationOptions? options = null, CancellationToken cancellationToken = default)
Parameters
sandboxstringproviderstringoptionsSandboxProviderMutationOptionscancellationTokenCancellationToken
Returns
DetachAsync(string, string, SandboxProviderMutationOptions?, CancellationToken)
Detaches a provider from a sandbox. Revocation is complete only when the receipt reports Revoked.
ValueTask<DetachProviderResult> DetachAsync(string sandbox, string provider, SandboxProviderMutationOptions? options = null, CancellationToken cancellationToken = default)
Parameters
sandboxstringproviderstringoptionsSandboxProviderMutationOptionscancellationTokenCancellationToken
Returns
GetStatusAsync(ProviderMutationReceipt, CancellationToken)
Gets readiness for the exact authority a receipt names.
ValueTask<ProviderReadinessStatus> GetStatusAsync(ProviderMutationReceipt receipt, CancellationToken cancellationToken = default)
Parameters
receiptProviderMutationReceiptcancellationTokenCancellationToken
Returns
GetStatusAsync(string, string?, string?, CancellationToken)
Gets validated readiness for a provider on a sandbox. With receiptId it queries that immutable receipt;
otherwise it reconstructs the current desired state. At least one of provider or receipt id is required.
ValueTask<ProviderReadinessStatus> GetStatusAsync(string sandbox, string? provider = null, string? receiptId = null, CancellationToken cancellationToken = default)
Parameters
sandboxstringproviderstringreceiptIdstringcancellationTokenCancellationToken
Returns
List(string, ListOptions?)
Lists the providers attached to a sandbox lazily.
Pager<Provider> List(string sandbox, ListOptions? options = null)
Parameters
sandboxstringoptionsListOptions
Returns
WaitAllAsync(IReadOnlyCollection<ProviderMutationReceipt>, TimeSpan, CancellationToken)
Waits for several receipts, for example TargetReceipts, under one total deadline.
ValueTask<IReadOnlyList<ProviderWaitResult>> WaitAllAsync(IReadOnlyCollection<ProviderMutationReceipt> receipts, TimeSpan timeout, CancellationToken cancellationToken = default)
Parameters
receiptsIReadOnlyCollection<ProviderMutationReceipt>timeoutTimeSpancancellationTokenCancellationToken
Returns
WaitAsync(ProviderMutationReceipt, TimeSpan, CancellationToken)
Waits, bounded by timeout (greater than zero, at most one hour), for the exact authority a receipt names.
Detach requires Revoked; attach and update require Ready.
A later mutation yields Terminal, never success.
ValueTask<ProviderWaitResult> WaitAsync(ProviderMutationReceipt receipt, TimeSpan timeout, CancellationToken cancellationToken = default)
Parameters
receiptProviderMutationReceipttimeoutTimeSpancancellationTokenCancellationToken
Returns
WaitAsync(ProviderReadinessStatus, TimeSpan, CancellationToken)
Continues a bounded wait from a status that was already observed; a later RPC failure cannot discard it.
ValueTask<ProviderWaitResult> WaitAsync(ProviderReadinessStatus status, TimeSpan timeout, CancellationToken cancellationToken = default)
Parameters
statusProviderReadinessStatustimeoutTimeSpancancellationTokenCancellationToken