Inheritance: BatchClientParametersBase
Example #1
0
        /// <summary>
        /// Removes the specified compute nodes from the specified pool.
        /// </summary>
        /// <param name="parameters">The parameters specifying the pool and the compute nodes.</param>
        public void RemoveComputeNodesFromPool(RemoveComputeNodeParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            if (parameters.ComputeNode != null)
            {
                parameters.ComputeNode.omObject.RemoveFromPool(parameters.DeallocationOption, parameters.ResizeTimeout, parameters.AdditionalBehaviors);
            }
            else
            {
                PoolOperations poolOperations = parameters.Context.BatchOMClient.PoolOperations;
                poolOperations.RemoveFromPool(parameters.PoolId, parameters.ComputeNodeIds, parameters.DeallocationOption, parameters.ResizeTimeout, parameters.AdditionalBehaviors);
            }
        }
        public override void ExecuteCmdlet()
        {
            string computeNodeIds = ComputeNode == null ? string.Join(",", this.Ids) : ComputeNode.Id;
            RemoveComputeNodeParameters parameters = new RemoveComputeNodeParameters(this.BatchContext, this.PoolId,
                this.Ids, this.ComputeNode, this.AdditionalBehaviors)
            {
                DeallocationOption = this.DeallocationOption,
                ResizeTimeout = this.ResizeTimeout
            };

            ConfirmAction(
                Force.IsPresent,
                string.Format(Resources.RemoveComputeNodeConfirm, computeNodeIds),
                Resources.RemoveComputeNode,
                computeNodeIds,
                () => BatchClient.RemoveComputeNodesFromPool(parameters));
        }
        /// <summary>
        /// Removes the specified compute nodes from the specified pool.
        /// </summary>
        /// <param name="parameters">The parameters specifying the pool and the compute nodes.</param>
        public void RemoveComputeNodesFromPool(RemoveComputeNodeParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            if (parameters.ComputeNode != null)
            {
                parameters.ComputeNode.omObject.RemoveFromPool(parameters.DeallocationOption, parameters.ResizeTimeout, parameters.AdditionalBehaviors);
            }
            else
            {
                PoolOperations poolOperations = parameters.Context.BatchOMClient.PoolOperations;
                poolOperations.RemoveFromPool(parameters.PoolId, parameters.ComputeNodeIds, parameters.DeallocationOption, parameters.ResizeTimeout, parameters.AdditionalBehaviors);
            }
        }