//
// 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);
}
}