private void RegisterResourceProviders(GlobalComponents globalComponents, string subscriptionName) { SubscriptionData subscription = globalComponents.SubscriptionManager.Subscriptions[subscriptionName]; ISubscriptionClient client = GetSubscriptionClient(subscription); var knownProviders = new List <string>(ProviderRegistrationConstants.GetKnownResourceTypes()); var providers = new List <ProviderResource>(client.ListResources(knownProviders)); var providersToRegister = providers .Where(p => p.State == ProviderRegistrationConstants.Unregistered) .Select(p => p.Type).ToList(); try { Task.WaitAll(providersToRegister.Select(client.RegisterResourceTypeAsync).Cast <Task>().ToArray()); } catch (AggregateException) { // It's ok for registration to fail. } }