2026-05-20 09:48:01 +00:00
|
|
|
namespace Elsa.Secrets.Contracts;
|
|
|
|
|
|
|
|
|
|
public interface ISecretManager
|
|
|
|
|
{
|
|
|
|
|
Task<Secret> CreateAsync(CreateSecretRequest request, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<Secret?> GetAsync(string name, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<IReadOnlyCollection<Secret>> ListAsync(ListSecretsRequest request, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<ListSecretsResult> ListPageAsync(ListSecretsRequest request, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<long> CountAsync(ListSecretsRequest request, CancellationToken cancellationToken = default);
|
2026-06-01 21:47:05 +00:00
|
|
|
Task<Secret> UpdateAsync(string name, UpdateSecretRequest request, CancellationToken cancellationToken = default);
|
2026-05-20 09:48:01 +00:00
|
|
|
Task<Secret> RotateAsync(string name, RotateSecretRequest request, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<Secret?> RevokeAsync(string name, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<bool> DeleteAsync(string name, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<SecretTestResponse> TestAsync(string name, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<SecretPayload> ResolvePayloadAsync(string name, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<SecretPayload> ResolvePayloadAsync(Secret secret, CancellationToken cancellationToken = default);
|
|
|
|
|
}
|