Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
 /// <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;
         }
     }
 }
Ejemplo n.º 3
0
 /// <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));
 }
Ejemplo n.º 4
0
 /// <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));
 }
Ejemplo n.º 5
0
 /// <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));
 }
Ejemplo n.º 6
0
 /// <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());
 }