DeviceBridge/Providers/ISecretsProvider.cs (22 lines of code) (raw):

// Copyright (c) Microsoft Corporation. All rights reserved. using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.Azure.KeyVault.Models; using NLog; namespace DeviceBridge.Providers { public interface ISecretsProvider { Task PutSecretAsync(Logger logger, string secretName, string secretValue); Task<string> GetIdScopeAsync(Logger logger); Task<string> GetIotcSasKeyAsync(Logger logger); Task<string> GetSqlPasswordAsync(Logger logger); Task<string> GetSqlUsernameAsync(Logger logger); Task<string> GetSqlServerAsync(Logger logger); Task<string> GetSqlDatabaseAsync(Logger logger); Task<string> GetApiKey(Logger logger); Task<SecretBundle> GetEncryptionKey(Logger logger, string version = null); Task PutEncryptionKey(Logger logger, string value); Task<IDictionary<string, SecretBundle>> GetEncryptionKeyVersions(Logger logger); } }