/// <summary>
        /// Enables automatic scaling on the specified pool.
        /// </summary>
        /// <param name="parameters">The parameters specifying the pool and autoscale formula.</param>
        public void EnableAutoScale(AutoScaleParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            string poolId = parameters.Pool == null ? parameters.PoolId : parameters.Pool.Id;

            WriteVerbose(string.Format(Resources.EnableAutoScale, poolId, parameters.AutoScaleFormula));
            PoolOperations poolOperations = parameters.Context.BatchOMClient.PoolOperations;

            poolOperations.EnableAutoScale(poolId, parameters.AutoScaleFormula, parameters.AdditionalBehaviors);
        }
        public static void EnableAutoScale(BatchController controller, BatchAccountContext context, string poolId)
        {
            RequestInterceptor interceptor = CreateHttpRecordingInterceptor();
            BatchClientBehavior[] behaviors = new BatchClientBehavior[] { interceptor };
            BatchClient client = new BatchClient(controller.BatchManagementClient, controller.ResourceManagementClient);

            string formula = "$TargetDedicated=2";
            AutoScaleParameters parameters = new AutoScaleParameters(context, poolId, null, formula, behaviors);
            client.EnableAutoScale(parameters);
        }
 public override void ExecuteCmdlet()
 {
     AutoScaleParameters parameters = new AutoScaleParameters(this.BatchContext, this.Id, null,
         this.AutoScaleFormula, this.AdditionalBehaviors);
     WriteObject(BatchClient.EvaluateAutoScale(parameters));
 }
        /// <summary>
        /// Gets the result of evaluating an automatic scaling formula on the specified pool.
        /// </summary>
        /// <param name="parameters">The parameters specifying the pool and autoscale formula.</param>
        public PSAutoScaleEvaluation EvaluateAutoScale(AutoScaleParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            string poolId = parameters.Pool == null ? parameters.PoolId : parameters.Pool.Id;

            WriteVerbose(string.Format(Resources.EvaluateAutoScale, poolId, parameters.AutoScaleFormula));
            PoolOperations poolOperations = parameters.Context.BatchOMClient.PoolOperations;
            AutoScaleEvaluation evaluation = poolOperations.EvaluateAutoScale(poolId, parameters.AutoScaleFormula, parameters.AdditionalBehaviors);
            return new PSAutoScaleEvaluation(evaluation);
        }
        public static void EnableAutoScale(BatchController controller, BatchAccountContext context, string poolId)
        {
            BatchClient client = new BatchClient(controller.BatchManagementClient, controller.ResourceManagementClient);

            string formula = "$TargetDedicated=2";
            AutoScaleParameters parameters = new AutoScaleParameters(context, poolId, null, formula);
            client.EnableAutoScale(parameters);
        }
 protected override void ProcessRecord()
 {
     AutoScaleParameters parameters = new AutoScaleParameters(this.BatchContext, this.Id, null,
         this.AutoScaleFormula, this.AdditionalBehaviors);
     BatchClient.EnableAutoScale(parameters);
 }