public static List <AzureResourceGroup> GetResourceGroups(SubscriptionCloudCredentials credentials) { var result = new List <AzureResourceGroup>(); ResourceManagementClient client = new ResourceManagementClient(credentials); var resourceGroupParams = new ResourceGroupListParameters(); var groupResult = client.ResourceGroups.List(resourceGroupParams); foreach (var resourceGroup in groupResult.ResourceGroups) { var azureResourceGroup = new AzureResourceGroup(resourceGroup); var resourceParams = new ResourceListParameters(); resourceParams.ResourceGroupName = resourceGroup.Name; var resourceResult = client.Resources.List(resourceParams); foreach (var resource in resourceResult.Resources) { azureResourceGroup.Resources.Add(new Models.AzureResource(resource, credentials.SubscriptionId, resourceGroup.Name)); } result.Add(azureResourceGroup); } return(result); }
/// <summary> /// Gets a collection of resource groups. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Resources.IResourceGroupOperations. /// </param> /// <param name='parameters'> /// Optional. Query parameters. If null is passed returns all resource /// groups. /// </param> /// <returns> /// List of resource groups. /// </returns> public static Task <ResourceGroupListResult> ListAsync(this IResourceGroupOperations operations, ResourceGroupListParameters parameters) { return(operations.ListAsync(parameters, CancellationToken.None)); }
/// <summary> /// Gets a collection of resource groups. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Resources.IResourceGroupOperations. /// </param> /// <param name='parameters'> /// Optional. Query parameters. If null is passed returns all resource /// groups. /// </param> /// <returns> /// List of resource groups. /// </returns> public static ResourceGroupListResult List(this IResourceGroupOperations operations, ResourceGroupListParameters parameters) { return(Task.Factory.StartNew((object s) => { return ((IResourceGroupOperations)s).ListAsync(parameters); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }