public async Task <List <AzureSubscription> > GetAzureARMSubscriptions(AzureTenant azureTenant) { _AzureContext.LogProvider.WriteLog("GetAzureARMSubscriptions", "Start - azureTenant: " + azureTenant.ToString()); String subscriptionsUrl = _AzureContext.AzureServiceUrls.GetARMServiceManagementUrl() + "subscriptions?api-version=2015-01-01"; String accessToken = _AzureContext.TokenProvider.AccessToken; AuthenticationResult subscriptionAuthenticationResult = await _AzureContext.TokenProvider.GetAzureToken(azureTenant.TenantId.ToString()); if (subscriptionAuthenticationResult != null) { accessToken = subscriptionAuthenticationResult.AccessToken; } _AzureContext.StatusProvider.UpdateStatus("BUSY: Getting Subscriptions..."); AzureRestRequest azureRestRequest = new AzureRestRequest(subscriptionsUrl, accessToken, "GET", false); AzureRestResponse azureRestResponse = await _AzureContext.AzureRetriever.GetAzureRestResponse(azureRestRequest); JObject subscriptionsJson = JObject.Parse(azureRestResponse.Response); var subscriptions = from subscription in subscriptionsJson["value"] select subscription; List <AzureSubscription> tenantSubscriptions = new List <AzureSubscription>(); foreach (JObject azureSubscriptionJson in subscriptions) { AzureSubscription azureSubscription = new AzureSubscription(_AzureContext, azureSubscriptionJson, azureTenant, _AzureContext.AzureEnvironment); tenantSubscriptions.Add(azureSubscription); } return(tenantSubscriptions); }