// // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. // using System.Collections.Generic; using System.Threading.Tasks; namespace Microsoft.SqlTools.ResourceProvider.Core.Authentication { /// /// Provides functionality to authenticate to Azure and discover associated accounts and subscriptions /// public interface IAzureAuthenticationManager : IAccountManager { /// /// User accounts associated to the logged in user /// IEnumerable UserAccounts { get; } /// /// Azure subscriptions associated to the logged in user /// Task> GetSubscriptionsAsync(); /// /// Returns user's azure subscriptions /// Task> GetSelectedSubscriptionsAsync(); /// /// Finds a subscription given subscription id /// bool TryParseSubscriptionIdentifier(string value, out IAzureSubscriptionIdentifier subscription); /// /// Stores the selected subscriptions given the ids /// Task SetSelectedSubscriptionsAsync(IEnumerable subscriptionIds); } }