EmbeddedSocial-Service/code/Server/Common/IConnectionStringProvider.cs

123 строки
4.9 KiB
C#

// <copyright file="IConnectionStringProvider.cs" company="Microsoft">
// Copyright (c) Microsoft. All rights reserved.
// </copyright>
namespace SocialPlus.Server
{
using System.Threading.Tasks;
using SocialPlus.Server.Blobs;
using SocialPlus.Server.Queues;
using SocialPlus.Server.Tables;
/// <summary>
/// interface of connection string provider
/// </summary>
public interface IConnectionStringProvider
{
/// <summary>
/// Gets Azure storage connection string for tables
/// </summary>
/// <param name="azureStorageInstanceType">Azure storage instance type</param>
/// <returns>Azure storage connection string</returns>
Task<string> GetTablesAzureStorageConnectionString(SocialPlus.Server.Tables.AzureStorageInstanceType azureStorageInstanceType);
/// <summary>
/// Gets Azure storage connection string for blobs
/// </summary>
/// <param name="azureStorageInstanceType">Azure storage instance type</param>
/// <returns>Azure storage connection string</returns>
Task<string> GetBlobsAzureStorageConnectionString(SocialPlus.Server.Blobs.AzureStorageInstanceType azureStorageInstanceType);
/// <summary>
/// Gets <c>Redis</c> connection string
/// </summary>
/// <param name="redisInstanceType"><c>Redis</c> instance type</param>
/// <returns><c>Redis</c> connection string</returns>
Task<string> GetRedisConnectionString(RedisInstanceType redisInstanceType);
/// <summary>
/// Gets Azure CDN URL
/// </summary>
/// <param name="azureCdnInstanceType">Azure CDN instance type</param>
/// <returns>CDN URL</returns>
Task<string> GetAzureCdnUrl(AzureCdnInstanceType azureCdnInstanceType);
/// <summary>
/// Gets service bus connection string
/// </summary>
/// <param name="serviceBusInstanceType">Service bus instance type</param>
/// <returns>service bus connection string</returns>
Task<string> GetServiceBusConnectionString(ServiceBusInstanceType serviceBusInstanceType);
/// <summary>
/// Gets push notifications connection string
/// </summary>
/// <param name="pushNotificationInstanceType">Push notification instance type</param>
/// <returns>service push notification string</returns>
Task<string> GetPushNotificationsConnectionString(PushNotificationInstanceType pushNotificationInstanceType);
/// <summary>
/// Gets search service name
/// </summary>
/// <param name="searchInstanceType">Search instance type</param>
/// <returns>search instance name</returns>
Task<string> GetSearchServiceName(SearchInstanceType searchInstanceType);
/// <summary>
/// Gets search admin key
/// </summary>
/// <param name="searchInstanceType">Search instance type</param>
/// <returns>search instance admin key</returns>
Task<string> GetSearchServiceAdminKey(SearchInstanceType searchInstanceType);
/// <summary>
/// Gets AVERT URL
/// </summary>
/// <param name="avertInstanceType">AVERT instance type</param>
/// <returns>AVERT instance URL</returns>
Task<string> GetAVERTUrl(AVERTInstanceType avertInstanceType);
/// <summary>
/// Gets AVERT Key
/// </summary>
/// <param name="avertInstanceType">AVERT instance type</param>
/// <returns>AVERT instance key</returns>
Task<string> GetAVERTKey(AVERTInstanceType avertInstanceType);
/// <summary>
/// Gets AVERT X509 Certificate Thumbprint
/// </summary>
/// <param name="avertInstanceType">AVERT instance type</param>
/// <returns>AVERT instance X509 certificate thumbprint</returns>
Task<string> GetAVERTCertThumbprint(AVERTInstanceType avertInstanceType);
/// <summary>
/// Gets the hashing key URL in the key vault
/// </summary>
/// <returns>hashing key URL</returns>
Task<string> GetHashingKey();
/// <summary>
/// Gets CVS key
/// </summary>
/// <param name="cvsInstanceType">CVS instance type</param>
/// <returns>CVS key</returns>
Task<string> GetCVSKey(CVSInstanceType cvsInstanceType);
/// <summary>
/// Gets CVS URL
/// </summary>
/// <param name="cvsInstanceType">CVS instance type</param>
/// <returns>CVS instance URL</returns>
Task<string> GetCVSUrl(CVSInstanceType cvsInstanceType);
/// <summary>
/// Gets CVS X509 Certificate Thumbprint
/// </summary>
/// <param name="cvsInstanceType">CVS instance type</param>
/// <returns>CVS instance X509 certificate thumbprint</returns>
Task<string> GetCVSCertThumbprint(CVSInstanceType cvsInstanceType);
}
}