/// <summary> /// Filters the resource group deployments /// </summary> /// <param name="options">The filtering options</param> /// <returns>The filtered list of deployments</returns> public virtual List <PSResourceGroupDeployment> FilterResourceGroupDeployments(FilterResourceGroupDeploymentOptions options) { List <PSResourceGroupDeployment> deployments = new List <PSResourceGroupDeployment>(); string resourceGroup = options.ResourceGroupName; string name = options.DeploymentName; List <string> excludedProvisioningStates = options.ExcludedProvisioningStates ?? new List <string>(); List <string> provisioningStates = options.ProvisioningStates ?? new List <string>(); if (!string.IsNullOrEmpty(resourceGroup) && !string.IsNullOrEmpty(name)) { deployments.Add(ResourceManagementClient.Deployments.Get(resourceGroup, name).ToPSResourceGroupDeployment(options.ResourceGroupName)); } else if (!string.IsNullOrEmpty(resourceGroup)) { DeploymentListParameters parameters = new DeploymentListParameters(); if (provisioningStates.Count == 1) { parameters.ProvisioningState = provisioningStates.First(); } DeploymentListResult result = ResourceManagementClient.Deployments.List(resourceGroup, parameters); deployments.AddRange(result.Deployments.Select(d => d.ToPSResourceGroupDeployment(options.ResourceGroupName))); while (!string.IsNullOrEmpty(result.NextLink)) { result = ResourceManagementClient.Deployments.ListNext(result.NextLink); deployments.AddRange(result.Deployments.Select(d => d.ToPSResourceGroupDeployment(options.ResourceGroupName))); } } if (provisioningStates.Count > 1) { return(deployments.Where(d => provisioningStates .Any(s => s.Equals(d.ProvisioningState, StringComparison.OrdinalIgnoreCase))).ToList()); } else if (provisioningStates.Count == 0 && excludedProvisioningStates.Count > 0) { return(deployments.Where(d => excludedProvisioningStates .All(s => !s.Equals(d.ProvisioningState, StringComparison.OrdinalIgnoreCase))).ToList()); } else { return(deployments); } }
/// <summary> /// List the deployments for a website. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.WebSitesExtensions.IDeploymentOperations. /// </param> /// <param name='parameters'> /// Additional parameters. /// </param> /// <returns> /// The list of deployments operation response. /// </returns> public static DeploymentListResponse List(this IDeploymentOperations operations, DeploymentListParameters parameters) { try { return(operations.ListAsync(parameters).Result); } catch (AggregateException ex) { if (ex.InnerExceptions.Count > 1) { throw; } else { throw ex.InnerException; } } }
/// <summary> /// List the logs for a deployment for a website. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.WebSitesExtensions.IDeploymentOperations. /// </param> /// <param name='deploymentId'> /// The deployment identifier. /// </param> /// <param name='parameters'> /// Additional parameters. /// </param> /// <returns> /// The list of deployments operation response. /// </returns> public static Task <DeploymentListLogsResponse> ListLogsAsync(this IDeploymentOperations operations, string deploymentId, DeploymentListParameters parameters) { return(operations.ListLogsAsync(deploymentId, parameters, CancellationToken.None)); }
/// <summary> /// List the deployments for a website. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.WebSitesExtensions.IDeploymentOperations. /// </param> /// <param name='parameters'> /// Additional parameters. /// </param> /// <returns> /// The list of deployments operation response. /// </returns> public static Task <DeploymentListResponse> ListAsync(this IDeploymentOperations operations, DeploymentListParameters parameters) { return(operations.ListAsync(parameters, CancellationToken.None)); }
/// <summary> /// Get a list of deployments. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Resources.IDeploymentOperations. /// </param> /// <param name='resourceGroupName'> /// Required. The name of the resource group to filter by. The name is /// case insensitive. /// </param> /// <param name='parameters'> /// Optional. Query parameters. If null is passed returns all /// deployments. /// </param> /// <returns> /// List of deployments. /// </returns> public static Task <DeploymentListResult> ListAsync(this IDeploymentOperations operations, string resourceGroupName, DeploymentListParameters parameters) { return(operations.ListAsync(resourceGroupName, parameters, CancellationToken.None)); }
/// <summary> /// Get a list of deployments. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Resources.IDeploymentOperations. /// </param> /// <param name='resourceGroupName'> /// Required. The name of the resource group to filter by. The name is /// case insensitive. /// </param> /// <param name='parameters'> /// Optional. Query parameters. If null is passed returns all /// deployments. /// </param> /// <returns> /// List of deployments. /// </returns> public static DeploymentListResult List(this IDeploymentOperations operations, string resourceGroupName, DeploymentListParameters parameters) { return(Task.Factory.StartNew((object s) => { return ((IDeploymentOperations)s).ListAsync(resourceGroupName, parameters); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }
/// <summary> /// List the logs for a deployment for a website. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.WebSitesExtensions.IDeploymentOperations. /// </param> /// <param name='deploymentId'> /// Required. The deployment identifier. /// </param> /// <param name='parameters'> /// Optional. Additional parameters. /// </param> /// <returns> /// The list of deployments operation response. /// </returns> public static DeploymentListLogsResponse ListLogs(this IDeploymentOperations operations, string deploymentId, DeploymentListParameters parameters) { return(Task.Factory.StartNew((object s) => { return ((IDeploymentOperations)s).ListLogsAsync(deploymentId, parameters); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }