using PepperDash.Core;
namespace PepperDash.Essentials.Core
{
///
/// All ISecrecretProvider classes must implement this interface.
///
public interface ISecretProvider : IKeyed
{
///
/// Set secret value for provider by key
///
/// key of secret to set
/// value to set secret to
///
bool SetSecret(string key, object value);
///
/// Return object containing secret from provider
///
/// key of secret to retrieve
///
ISecret GetSecret(string key);
///
/// Verifies presence of secret
///
/// key of secret to chek
///
bool TestSecret(string key);
///
/// Description of the secrets provider
///
string Description { get; }
}
///
/// interface for delivering secrets in Essentials.
///
public interface ISecret
{
///
/// Instance of ISecretProvider that the secret belongs to
///
ISecretProvider Provider { get; }
///
/// Key of the secret in the provider
///
string Key { get; }
///
/// Value of the secret
///
object Value { get; }
}
}