< Summary

Class:Microsoft.Azure.Batch.Protocol.PoolOperationsExtensions
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\GeneratedProtocol\PoolOperationsExtensions.cs
Covered lines:0
Uncovered lines:68
Coverable lines:68
Total lines:921
Line coverage:0% (0 of 68)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
ListUsageMetrics(...)-0%100%
ListUsageMetricsAsync()-0%100%
GetAllLifetimeStatistics(...)-0%100%
GetAllLifetimeStatisticsAsync()-0%100%
Add(...)-0%100%
AddAsync()-0%100%
List(...)-0%100%
ListAsync()-0%100%
Delete(...)-0%100%
DeleteAsync()-0%100%
Exists(...)-0%100%
ExistsAsync()-0%100%
Get(...)-0%100%
GetAsync()-0%100%
Patch(...)-0%100%
PatchAsync()-0%100%
DisableAutoScale(...)-0%100%
DisableAutoScaleAsync()-0%100%
EnableAutoScale(...)-0%100%
EnableAutoScaleAsync()-0%100%
EvaluateAutoScale(...)-0%100%
EvaluateAutoScaleAsync()-0%100%
Resize(...)-0%100%
ResizeAsync()-0%100%
StopResize(...)-0%100%
StopResizeAsync()-0%100%
UpdateProperties(...)-0%100%
UpdatePropertiesAsync()-0%100%
RemoveNodes(...)-0%100%
RemoveNodesAsync()-0%100%
ListUsageMetricsNext(...)-0%100%
ListUsageMetricsNextAsync()-0%100%
ListNext(...)-0%100%
ListNextAsync()-0%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\GeneratedProtocol\PoolOperationsExtensions.cs

#LineLine coverage
 1// <auto-generated>
 2// Copyright (c) Microsoft Corporation. All rights reserved.
 3// Licensed under the MIT License. See License.txt in the project root for
 4// license information.
 5//
 6// Code generated by Microsoft (R) AutoRest Code Generator.
 7// Changes may cause incorrect behavior and will be lost if the code is
 8// regenerated.
 9// </auto-generated>
 10
 11namespace Microsoft.Azure.Batch.Protocol
 12{
 13    using Microsoft.Rest;
 14    using Microsoft.Rest.Azure;
 15    using Models;
 16    using System.Threading;
 17    using System.Threading.Tasks;
 18
 19    /// <summary>
 20    /// Extension methods for PoolOperations.
 21    /// </summary>
 22    public static partial class PoolOperationsExtensions
 23    {
 24            /// <summary>
 25            /// Lists the usage metrics, aggregated by Pool across individual time
 26            /// intervals, for the specified Account.
 27            /// </summary>
 28            /// <remarks>
 29            /// If you do not specify a $filter clause including a poolId, the response
 30            /// includes all Pools that existed in the Account in the time range of the
 31            /// returned aggregation intervals. If you do not specify a $filter clause
 32            /// including a startTime or endTime these filters default to the start and end
 33            /// times of the last aggregation interval currently available; that is, only
 34            /// the last aggregation interval is returned.
 35            /// </remarks>
 36            /// <param name='operations'>
 37            /// The operations group for this extension method.
 38            /// </param>
 39            /// <param name='poolListUsageMetricsOptions'>
 40            /// Additional parameters for the operation
 41            /// </param>
 42            public static IPage<PoolUsageMetrics> ListUsageMetrics(this IPoolOperations operations, PoolListUsageMetrics
 43            {
 044                return operations.ListUsageMetricsAsync(poolListUsageMetricsOptions).GetAwaiter().GetResult();
 45            }
 46
 47            /// <summary>
 48            /// Lists the usage metrics, aggregated by Pool across individual time
 49            /// intervals, for the specified Account.
 50            /// </summary>
 51            /// <remarks>
 52            /// If you do not specify a $filter clause including a poolId, the response
 53            /// includes all Pools that existed in the Account in the time range of the
 54            /// returned aggregation intervals. If you do not specify a $filter clause
 55            /// including a startTime or endTime these filters default to the start and end
 56            /// times of the last aggregation interval currently available; that is, only
 57            /// the last aggregation interval is returned.
 58            /// </remarks>
 59            /// <param name='operations'>
 60            /// The operations group for this extension method.
 61            /// </param>
 62            /// <param name='poolListUsageMetricsOptions'>
 63            /// Additional parameters for the operation
 64            /// </param>
 65            /// <param name='cancellationToken'>
 66            /// The cancellation token.
 67            /// </param>
 68            public static async Task<IPage<PoolUsageMetrics>> ListUsageMetricsAsync(this IPoolOperations operations, Poo
 69            {
 070                using (var _result = await operations.ListUsageMetricsWithHttpMessagesAsync(poolListUsageMetricsOptions,
 71                {
 072                    return _result.Body;
 73                }
 074            }
 75
 76            /// <summary>
 77            /// Gets lifetime summary statistics for all of the Pools in the specified
 78            /// Account.
 79            /// </summary>
 80            /// <remarks>
 81            /// Statistics are aggregated across all Pools that have ever existed in the
 82            /// Account, from Account creation to the last update time of the statistics.
 83            /// The statistics may not be immediately available. The Batch service performs
 84            /// periodic roll-up of statistics. The typical delay is about 30 minutes.
 85            /// </remarks>
 86            /// <param name='operations'>
 87            /// The operations group for this extension method.
 88            /// </param>
 89            /// <param name='poolGetAllLifetimeStatisticsOptions'>
 90            /// Additional parameters for the operation
 91            /// </param>
 92            public static PoolStatistics GetAllLifetimeStatistics(this IPoolOperations operations, PoolGetAllLifetimeSta
 93            {
 094                return operations.GetAllLifetimeStatisticsAsync(poolGetAllLifetimeStatisticsOptions).GetAwaiter().GetRes
 95            }
 96
 97            /// <summary>
 98            /// Gets lifetime summary statistics for all of the Pools in the specified
 99            /// Account.
 100            /// </summary>
 101            /// <remarks>
 102            /// Statistics are aggregated across all Pools that have ever existed in the
 103            /// Account, from Account creation to the last update time of the statistics.
 104            /// The statistics may not be immediately available. The Batch service performs
 105            /// periodic roll-up of statistics. The typical delay is about 30 minutes.
 106            /// </remarks>
 107            /// <param name='operations'>
 108            /// The operations group for this extension method.
 109            /// </param>
 110            /// <param name='poolGetAllLifetimeStatisticsOptions'>
 111            /// Additional parameters for the operation
 112            /// </param>
 113            /// <param name='cancellationToken'>
 114            /// The cancellation token.
 115            /// </param>
 116            public static async Task<PoolStatistics> GetAllLifetimeStatisticsAsync(this IPoolOperations operations, Pool
 117            {
 0118                using (var _result = await operations.GetAllLifetimeStatisticsWithHttpMessagesAsync(poolGetAllLifetimeSt
 119                {
 0120                    return _result.Body;
 121                }
 0122            }
 123
 124            /// <summary>
 125            /// Adds a Pool to the specified Account.
 126            /// </summary>
 127            /// <remarks>
 128            /// When naming Pools, avoid including sensitive information such as user names
 129            /// or secret project names. This information may appear in telemetry logs
 130            /// accessible to Microsoft Support engineers.
 131            /// </remarks>
 132            /// <param name='operations'>
 133            /// The operations group for this extension method.
 134            /// </param>
 135            /// <param name='pool'>
 136            /// The Pool to be added.
 137            /// </param>
 138            /// <param name='poolAddOptions'>
 139            /// Additional parameters for the operation
 140            /// </param>
 141            public static PoolAddHeaders Add(this IPoolOperations operations, PoolAddParameter pool, PoolAddOptions pool
 142            {
 0143                return operations.AddAsync(pool, poolAddOptions).GetAwaiter().GetResult();
 144            }
 145
 146            /// <summary>
 147            /// Adds a Pool to the specified Account.
 148            /// </summary>
 149            /// <remarks>
 150            /// When naming Pools, avoid including sensitive information such as user names
 151            /// or secret project names. This information may appear in telemetry logs
 152            /// accessible to Microsoft Support engineers.
 153            /// </remarks>
 154            /// <param name='operations'>
 155            /// The operations group for this extension method.
 156            /// </param>
 157            /// <param name='pool'>
 158            /// The Pool to be added.
 159            /// </param>
 160            /// <param name='poolAddOptions'>
 161            /// Additional parameters for the operation
 162            /// </param>
 163            /// <param name='cancellationToken'>
 164            /// The cancellation token.
 165            /// </param>
 166            public static async Task<PoolAddHeaders> AddAsync(this IPoolOperations operations, PoolAddParameter pool, Po
 167            {
 0168                using (var _result = await operations.AddWithHttpMessagesAsync(pool, poolAddOptions, null, cancellationT
 169                {
 0170                    return _result.Headers;
 171                }
 0172            }
 173
 174            /// <summary>
 175            /// Lists all of the Pools in the specified Account.
 176            /// </summary>
 177            /// <param name='operations'>
 178            /// The operations group for this extension method.
 179            /// </param>
 180            /// <param name='poolListOptions'>
 181            /// Additional parameters for the operation
 182            /// </param>
 183            public static IPage<CloudPool> List(this IPoolOperations operations, PoolListOptions poolListOptions = defau
 184            {
 0185                return operations.ListAsync(poolListOptions).GetAwaiter().GetResult();
 186            }
 187
 188            /// <summary>
 189            /// Lists all of the Pools in the specified Account.
 190            /// </summary>
 191            /// <param name='operations'>
 192            /// The operations group for this extension method.
 193            /// </param>
 194            /// <param name='poolListOptions'>
 195            /// Additional parameters for the operation
 196            /// </param>
 197            /// <param name='cancellationToken'>
 198            /// The cancellation token.
 199            /// </param>
 200            public static async Task<IPage<CloudPool>> ListAsync(this IPoolOperations operations, PoolListOptions poolLi
 201            {
 0202                using (var _result = await operations.ListWithHttpMessagesAsync(poolListOptions, null, cancellationToken
 203                {
 0204                    return _result.Body;
 205                }
 0206            }
 207
 208            /// <summary>
 209            /// Deletes a Pool from the specified Account.
 210            /// </summary>
 211            /// <remarks>
 212            /// When you request that a Pool be deleted, the following actions occur: the
 213            /// Pool state is set to deleting; any ongoing resize operation on the Pool are
 214            /// stopped; the Batch service starts resizing the Pool to zero Compute Nodes;
 215            /// any Tasks running on existing Compute Nodes are terminated and requeued (as
 216            /// if a resize Pool operation had been requested with the default requeue
 217            /// option); finally, the Pool is removed from the system. Because running
 218            /// Tasks are requeued, the user can rerun these Tasks by updating their Job to
 219            /// target a different Pool. The Tasks can then run on the new Pool. If you
 220            /// want to override the requeue behavior, then you should call resize Pool
 221            /// explicitly to shrink the Pool to zero size before deleting the Pool. If you
 222            /// call an Update, Patch or Delete API on a Pool in the deleting state, it
 223            /// will fail with HTTP status code 409 with error code PoolBeingDeleted.
 224            /// </remarks>
 225            /// <param name='operations'>
 226            /// The operations group for this extension method.
 227            /// </param>
 228            /// <param name='poolId'>
 229            /// The ID of the Pool to delete.
 230            /// </param>
 231            /// <param name='poolDeleteOptions'>
 232            /// Additional parameters for the operation
 233            /// </param>
 234            public static PoolDeleteHeaders Delete(this IPoolOperations operations, string poolId, PoolDeleteOptions poo
 235            {
 0236                return operations.DeleteAsync(poolId, poolDeleteOptions).GetAwaiter().GetResult();
 237            }
 238
 239            /// <summary>
 240            /// Deletes a Pool from the specified Account.
 241            /// </summary>
 242            /// <remarks>
 243            /// When you request that a Pool be deleted, the following actions occur: the
 244            /// Pool state is set to deleting; any ongoing resize operation on the Pool are
 245            /// stopped; the Batch service starts resizing the Pool to zero Compute Nodes;
 246            /// any Tasks running on existing Compute Nodes are terminated and requeued (as
 247            /// if a resize Pool operation had been requested with the default requeue
 248            /// option); finally, the Pool is removed from the system. Because running
 249            /// Tasks are requeued, the user can rerun these Tasks by updating their Job to
 250            /// target a different Pool. The Tasks can then run on the new Pool. If you
 251            /// want to override the requeue behavior, then you should call resize Pool
 252            /// explicitly to shrink the Pool to zero size before deleting the Pool. If you
 253            /// call an Update, Patch or Delete API on a Pool in the deleting state, it
 254            /// will fail with HTTP status code 409 with error code PoolBeingDeleted.
 255            /// </remarks>
 256            /// <param name='operations'>
 257            /// The operations group for this extension method.
 258            /// </param>
 259            /// <param name='poolId'>
 260            /// The ID of the Pool to delete.
 261            /// </param>
 262            /// <param name='poolDeleteOptions'>
 263            /// Additional parameters for the operation
 264            /// </param>
 265            /// <param name='cancellationToken'>
 266            /// The cancellation token.
 267            /// </param>
 268            public static async Task<PoolDeleteHeaders> DeleteAsync(this IPoolOperations operations, string poolId, Pool
 269            {
 0270                using (var _result = await operations.DeleteWithHttpMessagesAsync(poolId, poolDeleteOptions, null, cance
 271                {
 0272                    return _result.Headers;
 273                }
 0274            }
 275
 276            /// <summary>
 277            /// Gets basic properties of a Pool.
 278            /// </summary>
 279            /// <param name='operations'>
 280            /// The operations group for this extension method.
 281            /// </param>
 282            /// <param name='poolId'>
 283            /// The ID of the Pool to get.
 284            /// </param>
 285            /// <param name='poolExistsOptions'>
 286            /// Additional parameters for the operation
 287            /// </param>
 288            public static bool Exists(this IPoolOperations operations, string poolId, PoolExistsOptions poolExistsOption
 289            {
 0290                return operations.ExistsAsync(poolId, poolExistsOptions).GetAwaiter().GetResult();
 291            }
 292
 293            /// <summary>
 294            /// Gets basic properties of a Pool.
 295            /// </summary>
 296            /// <param name='operations'>
 297            /// The operations group for this extension method.
 298            /// </param>
 299            /// <param name='poolId'>
 300            /// The ID of the Pool to get.
 301            /// </param>
 302            /// <param name='poolExistsOptions'>
 303            /// Additional parameters for the operation
 304            /// </param>
 305            /// <param name='cancellationToken'>
 306            /// The cancellation token.
 307            /// </param>
 308            public static async Task<bool> ExistsAsync(this IPoolOperations operations, string poolId, PoolExistsOptions
 309            {
 0310                using (var _result = await operations.ExistsWithHttpMessagesAsync(poolId, poolExistsOptions, null, cance
 311                {
 0312                    return _result.Body;
 313                }
 0314            }
 315
 316            /// <summary>
 317            /// Gets information about the specified Pool.
 318            /// </summary>
 319            /// <param name='operations'>
 320            /// The operations group for this extension method.
 321            /// </param>
 322            /// <param name='poolId'>
 323            /// The ID of the Pool to get.
 324            /// </param>
 325            /// <param name='poolGetOptions'>
 326            /// Additional parameters for the operation
 327            /// </param>
 328            public static CloudPool Get(this IPoolOperations operations, string poolId, PoolGetOptions poolGetOptions = 
 329            {
 0330                return operations.GetAsync(poolId, poolGetOptions).GetAwaiter().GetResult();
 331            }
 332
 333            /// <summary>
 334            /// Gets information about the specified Pool.
 335            /// </summary>
 336            /// <param name='operations'>
 337            /// The operations group for this extension method.
 338            /// </param>
 339            /// <param name='poolId'>
 340            /// The ID of the Pool to get.
 341            /// </param>
 342            /// <param name='poolGetOptions'>
 343            /// Additional parameters for the operation
 344            /// </param>
 345            /// <param name='cancellationToken'>
 346            /// The cancellation token.
 347            /// </param>
 348            public static async Task<CloudPool> GetAsync(this IPoolOperations operations, string poolId, PoolGetOptions 
 349            {
 0350                using (var _result = await operations.GetWithHttpMessagesAsync(poolId, poolGetOptions, null, cancellatio
 351                {
 0352                    return _result.Body;
 353                }
 0354            }
 355
 356            /// <summary>
 357            /// Updates the properties of the specified Pool.
 358            /// </summary>
 359            /// <remarks>
 360            /// This only replaces the Pool properties specified in the request. For
 361            /// example, if the Pool has a StartTask associated with it, and a request does
 362            /// not specify a StartTask element, then the Pool keeps the existing
 363            /// StartTask.
 364            /// </remarks>
 365            /// <param name='operations'>
 366            /// The operations group for this extension method.
 367            /// </param>
 368            /// <param name='poolId'>
 369            /// The ID of the Pool to update.
 370            /// </param>
 371            /// <param name='poolPatchParameter'>
 372            /// The parameters for the request.
 373            /// </param>
 374            /// <param name='poolPatchOptions'>
 375            /// Additional parameters for the operation
 376            /// </param>
 377            public static PoolPatchHeaders Patch(this IPoolOperations operations, string poolId, PoolPatchParameter pool
 378            {
 0379                return operations.PatchAsync(poolId, poolPatchParameter, poolPatchOptions).GetAwaiter().GetResult();
 380            }
 381
 382            /// <summary>
 383            /// Updates the properties of the specified Pool.
 384            /// </summary>
 385            /// <remarks>
 386            /// This only replaces the Pool properties specified in the request. For
 387            /// example, if the Pool has a StartTask associated with it, and a request does
 388            /// not specify a StartTask element, then the Pool keeps the existing
 389            /// StartTask.
 390            /// </remarks>
 391            /// <param name='operations'>
 392            /// The operations group for this extension method.
 393            /// </param>
 394            /// <param name='poolId'>
 395            /// The ID of the Pool to update.
 396            /// </param>
 397            /// <param name='poolPatchParameter'>
 398            /// The parameters for the request.
 399            /// </param>
 400            /// <param name='poolPatchOptions'>
 401            /// Additional parameters for the operation
 402            /// </param>
 403            /// <param name='cancellationToken'>
 404            /// The cancellation token.
 405            /// </param>
 406            public static async Task<PoolPatchHeaders> PatchAsync(this IPoolOperations operations, string poolId, PoolPa
 407            {
 0408                using (var _result = await operations.PatchWithHttpMessagesAsync(poolId, poolPatchParameter, poolPatchOp
 409                {
 0410                    return _result.Headers;
 411                }
 0412            }
 413
 414            /// <summary>
 415            /// Disables automatic scaling for a Pool.
 416            /// </summary>
 417            /// <param name='operations'>
 418            /// The operations group for this extension method.
 419            /// </param>
 420            /// <param name='poolId'>
 421            /// The ID of the Pool on which to disable automatic scaling.
 422            /// </param>
 423            /// <param name='poolDisableAutoScaleOptions'>
 424            /// Additional parameters for the operation
 425            /// </param>
 426            public static PoolDisableAutoScaleHeaders DisableAutoScale(this IPoolOperations operations, string poolId, P
 427            {
 0428                return operations.DisableAutoScaleAsync(poolId, poolDisableAutoScaleOptions).GetAwaiter().GetResult();
 429            }
 430
 431            /// <summary>
 432            /// Disables automatic scaling for a Pool.
 433            /// </summary>
 434            /// <param name='operations'>
 435            /// The operations group for this extension method.
 436            /// </param>
 437            /// <param name='poolId'>
 438            /// The ID of the Pool on which to disable automatic scaling.
 439            /// </param>
 440            /// <param name='poolDisableAutoScaleOptions'>
 441            /// Additional parameters for the operation
 442            /// </param>
 443            /// <param name='cancellationToken'>
 444            /// The cancellation token.
 445            /// </param>
 446            public static async Task<PoolDisableAutoScaleHeaders> DisableAutoScaleAsync(this IPoolOperations operations,
 447            {
 0448                using (var _result = await operations.DisableAutoScaleWithHttpMessagesAsync(poolId, poolDisableAutoScale
 449                {
 0450                    return _result.Headers;
 451                }
 0452            }
 453
 454            /// <summary>
 455            /// Enables automatic scaling for a Pool.
 456            /// </summary>
 457            /// <remarks>
 458            /// You cannot enable automatic scaling on a Pool if a resize operation is in
 459            /// progress on the Pool. If automatic scaling of the Pool is currently
 460            /// disabled, you must specify a valid autoscale formula as part of the
 461            /// request. If automatic scaling of the Pool is already enabled, you may
 462            /// specify a new autoscale formula and/or a new evaluation interval. You
 463            /// cannot call this API for the same Pool more than once every 30 seconds.
 464            /// </remarks>
 465            /// <param name='operations'>
 466            /// The operations group for this extension method.
 467            /// </param>
 468            /// <param name='poolId'>
 469            /// The ID of the Pool on which to enable automatic scaling.
 470            /// </param>
 471            /// <param name='poolEnableAutoScaleParameter'>
 472            /// The parameters for the request.
 473            /// </param>
 474            /// <param name='poolEnableAutoScaleOptions'>
 475            /// Additional parameters for the operation
 476            /// </param>
 477            public static PoolEnableAutoScaleHeaders EnableAutoScale(this IPoolOperations operations, string poolId, Poo
 478            {
 0479                return operations.EnableAutoScaleAsync(poolId, poolEnableAutoScaleParameter, poolEnableAutoScaleOptions)
 480            }
 481
 482            /// <summary>
 483            /// Enables automatic scaling for a Pool.
 484            /// </summary>
 485            /// <remarks>
 486            /// You cannot enable automatic scaling on a Pool if a resize operation is in
 487            /// progress on the Pool. If automatic scaling of the Pool is currently
 488            /// disabled, you must specify a valid autoscale formula as part of the
 489            /// request. If automatic scaling of the Pool is already enabled, you may
 490            /// specify a new autoscale formula and/or a new evaluation interval. You
 491            /// cannot call this API for the same Pool more than once every 30 seconds.
 492            /// </remarks>
 493            /// <param name='operations'>
 494            /// The operations group for this extension method.
 495            /// </param>
 496            /// <param name='poolId'>
 497            /// The ID of the Pool on which to enable automatic scaling.
 498            /// </param>
 499            /// <param name='poolEnableAutoScaleParameter'>
 500            /// The parameters for the request.
 501            /// </param>
 502            /// <param name='poolEnableAutoScaleOptions'>
 503            /// Additional parameters for the operation
 504            /// </param>
 505            /// <param name='cancellationToken'>
 506            /// The cancellation token.
 507            /// </param>
 508            public static async Task<PoolEnableAutoScaleHeaders> EnableAutoScaleAsync(this IPoolOperations operations, s
 509            {
 0510                using (var _result = await operations.EnableAutoScaleWithHttpMessagesAsync(poolId, poolEnableAutoScalePa
 511                {
 0512                    return _result.Headers;
 513                }
 0514            }
 515
 516            /// <summary>
 517            /// Gets the result of evaluating an automatic scaling formula on the Pool.
 518            /// </summary>
 519            /// <remarks>
 520            /// This API is primarily for validating an autoscale formula, as it simply
 521            /// returns the result without applying the formula to the Pool. The Pool must
 522            /// have auto scaling enabled in order to evaluate a formula.
 523            /// </remarks>
 524            /// <param name='operations'>
 525            /// The operations group for this extension method.
 526            /// </param>
 527            /// <param name='poolId'>
 528            /// The ID of the Pool on which to evaluate the automatic scaling formula.
 529            /// </param>
 530            /// <param name='autoScaleFormula'>
 531            /// The formula for the desired number of Compute Nodes in the Pool. The
 532            /// formula is validated and its results calculated, but it is not applied to
 533            /// the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a
 534            /// Pool'. For more information about specifying this formula, see
 535            /// Automatically scale Compute Nodes in an Azure Batch Pool
 536            /// (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling).
 537            /// </param>
 538            /// <param name='poolEvaluateAutoScaleOptions'>
 539            /// Additional parameters for the operation
 540            /// </param>
 541            public static AutoScaleRun EvaluateAutoScale(this IPoolOperations operations, string poolId, string autoScal
 542            {
 0543                return operations.EvaluateAutoScaleAsync(poolId, autoScaleFormula, poolEvaluateAutoScaleOptions).GetAwai
 544            }
 545
 546            /// <summary>
 547            /// Gets the result of evaluating an automatic scaling formula on the Pool.
 548            /// </summary>
 549            /// <remarks>
 550            /// This API is primarily for validating an autoscale formula, as it simply
 551            /// returns the result without applying the formula to the Pool. The Pool must
 552            /// have auto scaling enabled in order to evaluate a formula.
 553            /// </remarks>
 554            /// <param name='operations'>
 555            /// The operations group for this extension method.
 556            /// </param>
 557            /// <param name='poolId'>
 558            /// The ID of the Pool on which to evaluate the automatic scaling formula.
 559            /// </param>
 560            /// <param name='autoScaleFormula'>
 561            /// The formula for the desired number of Compute Nodes in the Pool. The
 562            /// formula is validated and its results calculated, but it is not applied to
 563            /// the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a
 564            /// Pool'. For more information about specifying this formula, see
 565            /// Automatically scale Compute Nodes in an Azure Batch Pool
 566            /// (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling).
 567            /// </param>
 568            /// <param name='poolEvaluateAutoScaleOptions'>
 569            /// Additional parameters for the operation
 570            /// </param>
 571            /// <param name='cancellationToken'>
 572            /// The cancellation token.
 573            /// </param>
 574            public static async Task<AutoScaleRun> EvaluateAutoScaleAsync(this IPoolOperations operations, string poolId
 575            {
 0576                using (var _result = await operations.EvaluateAutoScaleWithHttpMessagesAsync(poolId, autoScaleFormula, p
 577                {
 0578                    return _result.Body;
 579                }
 0580            }
 581
 582            /// <summary>
 583            /// Changes the number of Compute Nodes that are assigned to a Pool.
 584            /// </summary>
 585            /// <remarks>
 586            /// You can only resize a Pool when its allocation state is steady. If the Pool
 587            /// is already resizing, the request fails with status code 409. When you
 588            /// resize a Pool, the Pool's allocation state changes from steady to resizing.
 589            /// You cannot resize Pools which are configured for automatic scaling. If you
 590            /// try to do this, the Batch service returns an error 409. If you resize a
 591            /// Pool downwards, the Batch service chooses which Compute Nodes to remove. To
 592            /// remove specific Compute Nodes, use the Pool remove Compute Nodes API
 593            /// instead.
 594            /// </remarks>
 595            /// <param name='operations'>
 596            /// The operations group for this extension method.
 597            /// </param>
 598            /// <param name='poolId'>
 599            /// The ID of the Pool to resize.
 600            /// </param>
 601            /// <param name='poolResizeParameter'>
 602            /// The parameters for the request.
 603            /// </param>
 604            /// <param name='poolResizeOptions'>
 605            /// Additional parameters for the operation
 606            /// </param>
 607            public static PoolResizeHeaders Resize(this IPoolOperations operations, string poolId, PoolResizeParameter p
 608            {
 0609                return operations.ResizeAsync(poolId, poolResizeParameter, poolResizeOptions).GetAwaiter().GetResult();
 610            }
 611
 612            /// <summary>
 613            /// Changes the number of Compute Nodes that are assigned to a Pool.
 614            /// </summary>
 615            /// <remarks>
 616            /// You can only resize a Pool when its allocation state is steady. If the Pool
 617            /// is already resizing, the request fails with status code 409. When you
 618            /// resize a Pool, the Pool's allocation state changes from steady to resizing.
 619            /// You cannot resize Pools which are configured for automatic scaling. If you
 620            /// try to do this, the Batch service returns an error 409. If you resize a
 621            /// Pool downwards, the Batch service chooses which Compute Nodes to remove. To
 622            /// remove specific Compute Nodes, use the Pool remove Compute Nodes API
 623            /// instead.
 624            /// </remarks>
 625            /// <param name='operations'>
 626            /// The operations group for this extension method.
 627            /// </param>
 628            /// <param name='poolId'>
 629            /// The ID of the Pool to resize.
 630            /// </param>
 631            /// <param name='poolResizeParameter'>
 632            /// The parameters for the request.
 633            /// </param>
 634            /// <param name='poolResizeOptions'>
 635            /// Additional parameters for the operation
 636            /// </param>
 637            /// <param name='cancellationToken'>
 638            /// The cancellation token.
 639            /// </param>
 640            public static async Task<PoolResizeHeaders> ResizeAsync(this IPoolOperations operations, string poolId, Pool
 641            {
 0642                using (var _result = await operations.ResizeWithHttpMessagesAsync(poolId, poolResizeParameter, poolResiz
 643                {
 0644                    return _result.Headers;
 645                }
 0646            }
 647
 648            /// <summary>
 649            /// Stops an ongoing resize operation on the Pool.
 650            /// </summary>
 651            /// <remarks>
 652            /// This does not restore the Pool to its previous state before the resize
 653            /// operation: it only stops any further changes being made, and the Pool
 654            /// maintains its current state. After stopping, the Pool stabilizes at the
 655            /// number of Compute Nodes it was at when the stop operation was done. During
 656            /// the stop operation, the Pool allocation state changes first to stopping and
 657            /// then to steady. A resize operation need not be an explicit resize Pool
 658            /// request; this API can also be used to halt the initial sizing of the Pool
 659            /// when it is created.
 660            /// </remarks>
 661            /// <param name='operations'>
 662            /// The operations group for this extension method.
 663            /// </param>
 664            /// <param name='poolId'>
 665            /// The ID of the Pool whose resizing you want to stop.
 666            /// </param>
 667            /// <param name='poolStopResizeOptions'>
 668            /// Additional parameters for the operation
 669            /// </param>
 670            public static PoolStopResizeHeaders StopResize(this IPoolOperations operations, string poolId, PoolStopResiz
 671            {
 0672                return operations.StopResizeAsync(poolId, poolStopResizeOptions).GetAwaiter().GetResult();
 673            }
 674
 675            /// <summary>
 676            /// Stops an ongoing resize operation on the Pool.
 677            /// </summary>
 678            /// <remarks>
 679            /// This does not restore the Pool to its previous state before the resize
 680            /// operation: it only stops any further changes being made, and the Pool
 681            /// maintains its current state. After stopping, the Pool stabilizes at the
 682            /// number of Compute Nodes it was at when the stop operation was done. During
 683            /// the stop operation, the Pool allocation state changes first to stopping and
 684            /// then to steady. A resize operation need not be an explicit resize Pool
 685            /// request; this API can also be used to halt the initial sizing of the Pool
 686            /// when it is created.
 687            /// </remarks>
 688            /// <param name='operations'>
 689            /// The operations group for this extension method.
 690            /// </param>
 691            /// <param name='poolId'>
 692            /// The ID of the Pool whose resizing you want to stop.
 693            /// </param>
 694            /// <param name='poolStopResizeOptions'>
 695            /// Additional parameters for the operation
 696            /// </param>
 697            /// <param name='cancellationToken'>
 698            /// The cancellation token.
 699            /// </param>
 700            public static async Task<PoolStopResizeHeaders> StopResizeAsync(this IPoolOperations operations, string pool
 701            {
 0702                using (var _result = await operations.StopResizeWithHttpMessagesAsync(poolId, poolStopResizeOptions, nul
 703                {
 0704                    return _result.Headers;
 705                }
 0706            }
 707
 708            /// <summary>
 709            /// Updates the properties of the specified Pool.
 710            /// </summary>
 711            /// <remarks>
 712            /// This fully replaces all the updatable properties of the Pool. For example,
 713            /// if the Pool has a StartTask associated with it and if StartTask is not
 714            /// specified with this request, then the Batch service will remove the
 715            /// existing StartTask.
 716            /// </remarks>
 717            /// <param name='operations'>
 718            /// The operations group for this extension method.
 719            /// </param>
 720            /// <param name='poolId'>
 721            /// The ID of the Pool to update.
 722            /// </param>
 723            /// <param name='poolUpdatePropertiesParameter'>
 724            /// The parameters for the request.
 725            /// </param>
 726            /// <param name='poolUpdatePropertiesOptions'>
 727            /// Additional parameters for the operation
 728            /// </param>
 729            public static PoolUpdatePropertiesHeaders UpdateProperties(this IPoolOperations operations, string poolId, P
 730            {
 0731                return operations.UpdatePropertiesAsync(poolId, poolUpdatePropertiesParameter, poolUpdatePropertiesOptio
 732            }
 733
 734            /// <summary>
 735            /// Updates the properties of the specified Pool.
 736            /// </summary>
 737            /// <remarks>
 738            /// This fully replaces all the updatable properties of the Pool. For example,
 739            /// if the Pool has a StartTask associated with it and if StartTask is not
 740            /// specified with this request, then the Batch service will remove the
 741            /// existing StartTask.
 742            /// </remarks>
 743            /// <param name='operations'>
 744            /// The operations group for this extension method.
 745            /// </param>
 746            /// <param name='poolId'>
 747            /// The ID of the Pool to update.
 748            /// </param>
 749            /// <param name='poolUpdatePropertiesParameter'>
 750            /// The parameters for the request.
 751            /// </param>
 752            /// <param name='poolUpdatePropertiesOptions'>
 753            /// Additional parameters for the operation
 754            /// </param>
 755            /// <param name='cancellationToken'>
 756            /// The cancellation token.
 757            /// </param>
 758            public static async Task<PoolUpdatePropertiesHeaders> UpdatePropertiesAsync(this IPoolOperations operations,
 759            {
 0760                using (var _result = await operations.UpdatePropertiesWithHttpMessagesAsync(poolId, poolUpdateProperties
 761                {
 0762                    return _result.Headers;
 763                }
 0764            }
 765
 766            /// <summary>
 767            /// Removes Compute Nodes from the specified Pool.
 768            /// </summary>
 769            /// <remarks>
 770            /// This operation can only run when the allocation state of the Pool is
 771            /// steady. When this operation runs, the allocation state changes from steady
 772            /// to resizing.
 773            /// </remarks>
 774            /// <param name='operations'>
 775            /// The operations group for this extension method.
 776            /// </param>
 777            /// <param name='poolId'>
 778            /// The ID of the Pool from which you want to remove Compute Nodes.
 779            /// </param>
 780            /// <param name='nodeRemoveParameter'>
 781            /// The parameters for the request.
 782            /// </param>
 783            /// <param name='poolRemoveNodesOptions'>
 784            /// Additional parameters for the operation
 785            /// </param>
 786            public static PoolRemoveNodesHeaders RemoveNodes(this IPoolOperations operations, string poolId, NodeRemoveP
 787            {
 0788                return operations.RemoveNodesAsync(poolId, nodeRemoveParameter, poolRemoveNodesOptions).GetAwaiter().Get
 789            }
 790
 791            /// <summary>
 792            /// Removes Compute Nodes from the specified Pool.
 793            /// </summary>
 794            /// <remarks>
 795            /// This operation can only run when the allocation state of the Pool is
 796            /// steady. When this operation runs, the allocation state changes from steady
 797            /// to resizing.
 798            /// </remarks>
 799            /// <param name='operations'>
 800            /// The operations group for this extension method.
 801            /// </param>
 802            /// <param name='poolId'>
 803            /// The ID of the Pool from which you want to remove Compute Nodes.
 804            /// </param>
 805            /// <param name='nodeRemoveParameter'>
 806            /// The parameters for the request.
 807            /// </param>
 808            /// <param name='poolRemoveNodesOptions'>
 809            /// Additional parameters for the operation
 810            /// </param>
 811            /// <param name='cancellationToken'>
 812            /// The cancellation token.
 813            /// </param>
 814            public static async Task<PoolRemoveNodesHeaders> RemoveNodesAsync(this IPoolOperations operations, string po
 815            {
 0816                using (var _result = await operations.RemoveNodesWithHttpMessagesAsync(poolId, nodeRemoveParameter, pool
 817                {
 0818                    return _result.Headers;
 819                }
 0820            }
 821
 822            /// <summary>
 823            /// Lists the usage metrics, aggregated by Pool across individual time
 824            /// intervals, for the specified Account.
 825            /// </summary>
 826            /// <remarks>
 827            /// If you do not specify a $filter clause including a poolId, the response
 828            /// includes all Pools that existed in the Account in the time range of the
 829            /// returned aggregation intervals. If you do not specify a $filter clause
 830            /// including a startTime or endTime these filters default to the start and end
 831            /// times of the last aggregation interval currently available; that is, only
 832            /// the last aggregation interval is returned.
 833            /// </remarks>
 834            /// <param name='operations'>
 835            /// The operations group for this extension method.
 836            /// </param>
 837            /// <param name='nextPageLink'>
 838            /// The NextLink from the previous successful call to List operation.
 839            /// </param>
 840            /// <param name='poolListUsageMetricsNextOptions'>
 841            /// Additional parameters for the operation
 842            /// </param>
 843            public static IPage<PoolUsageMetrics> ListUsageMetricsNext(this IPoolOperations operations, string nextPageL
 844            {
 0845                return operations.ListUsageMetricsNextAsync(nextPageLink, poolListUsageMetricsNextOptions).GetAwaiter().
 846            }
 847
 848            /// <summary>
 849            /// Lists the usage metrics, aggregated by Pool across individual time
 850            /// intervals, for the specified Account.
 851            /// </summary>
 852            /// <remarks>
 853            /// If you do not specify a $filter clause including a poolId, the response
 854            /// includes all Pools that existed in the Account in the time range of the
 855            /// returned aggregation intervals. If you do not specify a $filter clause
 856            /// including a startTime or endTime these filters default to the start and end
 857            /// times of the last aggregation interval currently available; that is, only
 858            /// the last aggregation interval is returned.
 859            /// </remarks>
 860            /// <param name='operations'>
 861            /// The operations group for this extension method.
 862            /// </param>
 863            /// <param name='nextPageLink'>
 864            /// The NextLink from the previous successful call to List operation.
 865            /// </param>
 866            /// <param name='poolListUsageMetricsNextOptions'>
 867            /// Additional parameters for the operation
 868            /// </param>
 869            /// <param name='cancellationToken'>
 870            /// The cancellation token.
 871            /// </param>
 872            public static async Task<IPage<PoolUsageMetrics>> ListUsageMetricsNextAsync(this IPoolOperations operations,
 873            {
 0874                using (var _result = await operations.ListUsageMetricsNextWithHttpMessagesAsync(nextPageLink, poolListUs
 875                {
 0876                    return _result.Body;
 877                }
 0878            }
 879
 880            /// <summary>
 881            /// Lists all of the Pools in the specified Account.
 882            /// </summary>
 883            /// <param name='operations'>
 884            /// The operations group for this extension method.
 885            /// </param>
 886            /// <param name='nextPageLink'>
 887            /// The NextLink from the previous successful call to List operation.
 888            /// </param>
 889            /// <param name='poolListNextOptions'>
 890            /// Additional parameters for the operation
 891            /// </param>
 892            public static IPage<CloudPool> ListNext(this IPoolOperations operations, string nextPageLink, PoolListNextOp
 893            {
 0894                return operations.ListNextAsync(nextPageLink, poolListNextOptions).GetAwaiter().GetResult();
 895            }
 896
 897            /// <summary>
 898            /// Lists all of the Pools in the specified Account.
 899            /// </summary>
 900            /// <param name='operations'>
 901            /// The operations group for this extension method.
 902            /// </param>
 903            /// <param name='nextPageLink'>
 904            /// The NextLink from the previous successful call to List operation.
 905            /// </param>
 906            /// <param name='poolListNextOptions'>
 907            /// Additional parameters for the operation
 908            /// </param>
 909            /// <param name='cancellationToken'>
 910            /// The cancellation token.
 911            /// </param>
 912            public static async Task<IPage<CloudPool>> ListNextAsync(this IPoolOperations operations, string nextPageLin
 913            {
 0914                using (var _result = await operations.ListNextWithHttpMessagesAsync(nextPageLink, poolListNextOptions, n
 915                {
 0916                    return _result.Body;
 917                }
 0918            }
 919
 920    }
 921}