< Summary

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

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor()-100%100%
.ctor(...)-100%100%
get_Id()-100%100%
get_DisplayName()-100%100%
get_Url()-100%100%
get_ETag()-100%100%
get_LastModified()-100%100%
get_CreationTime()-100%100%
get_State()-100%100%
get_StateTransitionTime()-100%100%
get_AllocationState()-100%100%
get_AllocationStateTransitionTime()-100%100%
get_VmSize()-100%100%
get_CloudServiceConfiguration()-100%100%
get_VirtualMachineConfiguration()-100%100%
get_ResizeTimeout()-100%100%
get_ResizeErrors()-100%100%
get_CurrentDedicatedNodes()-100%100%
get_CurrentLowPriorityNodes()-100%100%
get_TargetDedicatedNodes()-100%100%
get_TargetLowPriorityNodes()-100%100%
get_EnableAutoScale()-100%100%
get_AutoScaleFormula()-100%100%
get_AutoScaleEvaluationInterval()-100%100%
get_AutoScaleRun()-100%100%
get_EnableInterNodeCommunication()-100%100%
get_NetworkConfiguration()-100%100%
get_StartTask()-100%100%
get_CertificateReferences()-100%100%
get_ApplicationPackageReferences()-100%100%
get_ApplicationLicenses()-100%100%
get_MaxTasksPerNode()-100%100%
get_TaskSchedulingPolicy()-100%100%
get_UserAccounts()-100%100%
get_Metadata()-100%100%
get_Stats()-100%100%
get_MountConfiguration()-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\GeneratedProtocol\Models\CloudPool.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.Models
 12{
 13    using Newtonsoft.Json;
 14    using System.Collections;
 15    using System.Collections.Generic;
 16    using System.Linq;
 17
 18    /// <summary>
 19    /// A Pool in the Azure Batch service.
 20    /// </summary>
 21    public partial class CloudPool
 22    {
 23        /// <summary>
 24        /// Initializes a new instance of the CloudPool class.
 25        /// </summary>
 101826        public CloudPool()
 27        {
 28            CustomInit();
 101829        }
 30
 31        /// <summary>
 32        /// Initializes a new instance of the CloudPool class.
 33        /// </summary>
 34        /// <param name="id">A string that uniquely identifies the Pool within
 35        /// the Account.</param>
 36        /// <param name="displayName">The display name for the Pool.</param>
 37        /// <param name="url">The URL of the Pool.</param>
 38        /// <param name="eTag">The ETag of the Pool.</param>
 39        /// <param name="lastModified">The last modified time of the
 40        /// Pool.</param>
 41        /// <param name="creationTime">The creation time of the Pool.</param>
 42        /// <param name="state">The current state of the Pool.</param>
 43        /// <param name="stateTransitionTime">The time at which the Pool
 44        /// entered its current state.</param>
 45        /// <param name="allocationState">Whether the Pool is resizing.</param>
 46        /// <param name="allocationStateTransitionTime">The time at which the
 47        /// Pool entered its current allocation state.</param>
 48        /// <param name="vmSize">The size of virtual machines in the Pool. All
 49        /// virtual machines in a Pool are the same size.</param>
 50        /// <param name="cloudServiceConfiguration">The cloud service
 51        /// configuration for the Pool.</param>
 52        /// <param name="virtualMachineConfiguration">The virtual machine
 53        /// configuration for the Pool.</param>
 54        /// <param name="resizeTimeout">The timeout for allocation of Compute
 55        /// Nodes to the Pool.</param>
 56        /// <param name="resizeErrors">A list of errors encountered while
 57        /// performing the last resize on the Pool.</param>
 58        /// <param name="currentDedicatedNodes">The number of dedicated Compute
 59        /// Nodes currently in the Pool.</param>
 60        /// <param name="currentLowPriorityNodes">The number of low-priority
 61        /// Compute Nodes currently in the Pool.</param>
 62        /// <param name="targetDedicatedNodes">The desired number of dedicated
 63        /// Compute Nodes in the Pool.</param>
 64        /// <param name="targetLowPriorityNodes">The desired number of
 65        /// low-priority Compute Nodes in the Pool.</param>
 66        /// <param name="enableAutoScale">Whether the Pool size should
 67        /// automatically adjust over time.</param>
 68        /// <param name="autoScaleFormula">A formula for the desired number of
 69        /// Compute Nodes in the Pool.</param>
 70        /// <param name="autoScaleEvaluationInterval">The time interval at
 71        /// which to automatically adjust the Pool size according to the
 72        /// autoscale formula.</param>
 73        /// <param name="autoScaleRun">The results and errors from the last
 74        /// execution of the autoscale formula.</param>
 75        /// <param name="enableInterNodeCommunication">Whether the Pool permits
 76        /// direct communication between Compute Nodes.</param>
 77        /// <param name="networkConfiguration">The network configuration for
 78        /// the Pool.</param>
 79        /// <param name="startTask">A Task specified to run on each Compute
 80        /// Node as it joins the Pool.</param>
 81        /// <param name="certificateReferences">The list of Certificates to be
 82        /// installed on each Compute Node in the Pool.</param>
 83        /// <param name="applicationPackageReferences">The list of Packages to
 84        /// be installed on each Compute Node in the Pool.</param>
 85        /// <param name="applicationLicenses">The list of application licenses
 86        /// the Batch service will make available on each Compute Node in the
 87        /// Pool.</param>
 88        /// <param name="maxTasksPerNode">The maximum number of Tasks that can
 89        /// run concurrently on a single Compute Node in the Pool.</param>
 90        /// <param name="taskSchedulingPolicy">How Tasks are distributed across
 91        /// Compute Nodes in a Pool.</param>
 92        /// <param name="userAccounts">The list of user Accounts to be created
 93        /// on each Compute Node in the Pool.</param>
 94        /// <param name="metadata">A list of name-value pairs associated with
 95        /// the Pool as metadata.</param>
 96        /// <param name="stats">Utilization and resource usage statistics for
 97        /// the entire lifetime of the Pool.</param>
 98        /// <param name="mountConfiguration">A list of file systems to mount on
 99        /// each node in the pool.</param>
 8100        public CloudPool(string id = default(string), string displayName = default(string), string url = default(string)
 101        {
 8102            Id = id;
 8103            DisplayName = displayName;
 8104            Url = url;
 8105            ETag = eTag;
 8106            LastModified = lastModified;
 8107            CreationTime = creationTime;
 8108            State = state;
 8109            StateTransitionTime = stateTransitionTime;
 8110            AllocationState = allocationState;
 8111            AllocationStateTransitionTime = allocationStateTransitionTime;
 8112            VmSize = vmSize;
 8113            CloudServiceConfiguration = cloudServiceConfiguration;
 8114            VirtualMachineConfiguration = virtualMachineConfiguration;
 8115            ResizeTimeout = resizeTimeout;
 8116            ResizeErrors = resizeErrors;
 8117            CurrentDedicatedNodes = currentDedicatedNodes;
 8118            CurrentLowPriorityNodes = currentLowPriorityNodes;
 8119            TargetDedicatedNodes = targetDedicatedNodes;
 8120            TargetLowPriorityNodes = targetLowPriorityNodes;
 8121            EnableAutoScale = enableAutoScale;
 8122            AutoScaleFormula = autoScaleFormula;
 8123            AutoScaleEvaluationInterval = autoScaleEvaluationInterval;
 8124            AutoScaleRun = autoScaleRun;
 8125            EnableInterNodeCommunication = enableInterNodeCommunication;
 8126            NetworkConfiguration = networkConfiguration;
 8127            StartTask = startTask;
 8128            CertificateReferences = certificateReferences;
 8129            ApplicationPackageReferences = applicationPackageReferences;
 8130            ApplicationLicenses = applicationLicenses;
 8131            MaxTasksPerNode = maxTasksPerNode;
 8132            TaskSchedulingPolicy = taskSchedulingPolicy;
 8133            UserAccounts = userAccounts;
 8134            Metadata = metadata;
 8135            Stats = stats;
 8136            MountConfiguration = mountConfiguration;
 137            CustomInit();
 8138        }
 139
 140        /// <summary>
 141        /// An initialization method that performs custom operations like setting defaults
 142        /// </summary>
 143        partial void CustomInit();
 144
 145        /// <summary>
 146        /// Gets or sets a string that uniquely identifies the Pool within the
 147        /// Account.
 148        /// </summary>
 149        /// <remarks>
 150        /// The ID can contain any combination of alphanumeric characters
 151        /// including hyphens and underscores, and cannot contain more than 64
 152        /// characters. The ID is case-preserving and case-insensitive (that
 153        /// is, you may not have two IDs within an Account that differ only by
 154        /// case).
 155        /// </remarks>
 156        [JsonProperty(PropertyName = "id")]
 2529157        public string Id { get; set; }
 158
 159        /// <summary>
 160        /// Gets or sets the display name for the Pool.
 161        /// </summary>
 162        /// <remarks>
 163        /// The display name need not be unique and can contain any Unicode
 164        /// characters up to a maximum length of 1024.
 165        /// </remarks>
 166        [JsonProperty(PropertyName = "displayName")]
 2524167        public string DisplayName { get; set; }
 168
 169        /// <summary>
 170        /// Gets or sets the URL of the Pool.
 171        /// </summary>
 172        [JsonProperty(PropertyName = "url")]
 2539173        public string Url { get; set; }
 174
 175        /// <summary>
 176        /// Gets or sets the ETag of the Pool.
 177        /// </summary>
 178        /// <remarks>
 179        /// This is an opaque string. You can use it to detect whether the Pool
 180        /// has changed between requests. In particular, you can be pass the
 181        /// ETag when updating a Pool to specify that your changes should take
 182        /// effect only if nobody else has modified the Pool in the meantime.
 183        /// </remarks>
 184        [JsonProperty(PropertyName = "eTag")]
 2532185        public string ETag { get; set; }
 186
 187        /// <summary>
 188        /// Gets or sets the last modified time of the Pool.
 189        /// </summary>
 190        /// <remarks>
 191        /// This is the last time at which the Pool level data, such as the
 192        /// targetDedicatedNodes or enableAutoscale settings, changed. It does
 193        /// not factor in node-level changes such as a Compute Node changing
 194        /// state.
 195        /// </remarks>
 196        [JsonProperty(PropertyName = "lastModified")]
 2521197        public System.DateTime? LastModified { get; set; }
 198
 199        /// <summary>
 200        /// Gets or sets the creation time of the Pool.
 201        /// </summary>
 202        [JsonProperty(PropertyName = "creationTime")]
 2551203        public System.DateTime? CreationTime { get; set; }
 204
 205        /// <summary>
 206        /// Gets or sets the current state of the Pool.
 207        /// </summary>
 208        /// <remarks>
 209        /// Possible values include: 'active', 'deleting'
 210        /// </remarks>
 211        [JsonProperty(PropertyName = "state")]
 2540212        public PoolState? State { get; set; }
 213
 214        /// <summary>
 215        /// Gets or sets the time at which the Pool entered its current state.
 216        /// </summary>
 217        [JsonProperty(PropertyName = "stateTransitionTime")]
 2533218        public System.DateTime? StateTransitionTime { get; set; }
 219
 220        /// <summary>
 221        /// Gets or sets whether the Pool is resizing.
 222        /// </summary>
 223        /// <remarks>
 224        /// Possible values include: 'steady', 'resizing', 'stopping'
 225        /// </remarks>
 226        [JsonProperty(PropertyName = "allocationState")]
 2541227        public AllocationState? AllocationState { get; set; }
 228
 229        /// <summary>
 230        /// Gets or sets the time at which the Pool entered its current
 231        /// allocation state.
 232        /// </summary>
 233        [JsonProperty(PropertyName = "allocationStateTransitionTime")]
 2552234        public System.DateTime? AllocationStateTransitionTime { get; set; }
 235
 236        /// <summary>
 237        /// Gets or sets the size of virtual machines in the Pool. All virtual
 238        /// machines in a Pool are the same size.
 239        /// </summary>
 240        /// <remarks>
 241        /// For information about available sizes of virtual machines in Pools,
 242        /// see Choose a VM size for Compute Nodes in an Azure Batch Pool
 243        /// (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).
 244        /// </remarks>
 245        [JsonProperty(PropertyName = "vmSize")]
 2521246        public string VmSize { get; set; }
 247
 248        /// <summary>
 249        /// Gets or sets the cloud service configuration for the Pool.
 250        /// </summary>
 251        /// <remarks>
 252        /// This property and virtualMachineConfiguration are mutually
 253        /// exclusive and one of the properties must be specified. This
 254        /// property cannot be specified if the Batch Account was created with
 255        /// its poolAllocationMode property set to 'UserSubscription'.
 256        /// </remarks>
 257        [JsonProperty(PropertyName = "cloudServiceConfiguration")]
 2521258        public CloudServiceConfiguration CloudServiceConfiguration { get; set; }
 259
 260        /// <summary>
 261        /// Gets or sets the virtual machine configuration for the Pool.
 262        /// </summary>
 263        /// <remarks>
 264        /// This property and cloudServiceConfiguration are mutually exclusive
 265        /// and one of the properties must be specified.
 266        /// </remarks>
 267        [JsonProperty(PropertyName = "virtualMachineConfiguration")]
 2525268        public VirtualMachineConfiguration VirtualMachineConfiguration { get; set; }
 269
 270        /// <summary>
 271        /// Gets or sets the timeout for allocation of Compute Nodes to the
 272        /// Pool.
 273        /// </summary>
 274        /// <remarks>
 275        /// This is the timeout for the most recent resize operation. (The
 276        /// initial sizing when the Pool is created counts as a resize.) The
 277        /// default value is 15 minutes.
 278        /// </remarks>
 279        [JsonProperty(PropertyName = "resizeTimeout")]
 2549280        public System.TimeSpan? ResizeTimeout { get; set; }
 281
 282        /// <summary>
 283        /// Gets or sets a list of errors encountered while performing the last
 284        /// resize on the Pool.
 285        /// </summary>
 286        /// <remarks>
 287        /// This property is set only if one or more errors occurred during the
 288        /// last Pool resize, and only when the Pool allocationState is Steady.
 289        /// </remarks>
 290        [JsonProperty(PropertyName = "resizeErrors")]
 2548291        public IList<ResizeError> ResizeErrors { get; set; }
 292
 293        /// <summary>
 294        /// Gets or sets the number of dedicated Compute Nodes currently in the
 295        /// Pool.
 296        /// </summary>
 297        [JsonProperty(PropertyName = "currentDedicatedNodes")]
 2543298        public int? CurrentDedicatedNodes { get; set; }
 299
 300        /// <summary>
 301        /// Gets or sets the number of low-priority Compute Nodes currently in
 302        /// the Pool.
 303        /// </summary>
 304        /// <remarks>
 305        /// Low-priority Compute Nodes which have been preempted are included
 306        /// in this count.
 307        /// </remarks>
 308        [JsonProperty(PropertyName = "currentLowPriorityNodes")]
 2515309        public int? CurrentLowPriorityNodes { get; set; }
 310
 311        /// <summary>
 312        /// Gets or sets the desired number of dedicated Compute Nodes in the
 313        /// Pool.
 314        /// </summary>
 315        [JsonProperty(PropertyName = "targetDedicatedNodes")]
 2539316        public int? TargetDedicatedNodes { get; set; }
 317
 318        /// <summary>
 319        /// Gets or sets the desired number of low-priority Compute Nodes in
 320        /// the Pool.
 321        /// </summary>
 322        [JsonProperty(PropertyName = "targetLowPriorityNodes")]
 2526323        public int? TargetLowPriorityNodes { get; set; }
 324
 325        /// <summary>
 326        /// Gets or sets whether the Pool size should automatically adjust over
 327        /// time.
 328        /// </summary>
 329        /// <remarks>
 330        /// If false, at least one of targetDedicateNodes and
 331        /// targetLowPriorityNodes must be specified. If true, the
 332        /// autoScaleFormula property is required and the Pool automatically
 333        /// resizes according to the formula. The default value is false.
 334        /// </remarks>
 335        [JsonProperty(PropertyName = "enableAutoScale")]
 2535336        public bool? EnableAutoScale { get; set; }
 337
 338        /// <summary>
 339        /// Gets or sets a formula for the desired number of Compute Nodes in
 340        /// the Pool.
 341        /// </summary>
 342        /// <remarks>
 343        /// This property is set only if the Pool automatically scales, i.e.
 344        /// enableAutoScale is true.
 345        /// </remarks>
 346        [JsonProperty(PropertyName = "autoScaleFormula")]
 2550347        public string AutoScaleFormula { get; set; }
 348
 349        /// <summary>
 350        /// Gets or sets the time interval at which to automatically adjust the
 351        /// Pool size according to the autoscale formula.
 352        /// </summary>
 353        /// <remarks>
 354        /// This property is set only if the Pool automatically scales, i.e.
 355        /// enableAutoScale is true.
 356        /// </remarks>
 357        [JsonProperty(PropertyName = "autoScaleEvaluationInterval")]
 2537358        public System.TimeSpan? AutoScaleEvaluationInterval { get; set; }
 359
 360        /// <summary>
 361        /// Gets or sets the results and errors from the last execution of the
 362        /// autoscale formula.
 363        /// </summary>
 364        /// <remarks>
 365        /// This property is set only if the Pool automatically scales, i.e.
 366        /// enableAutoScale is true.
 367        /// </remarks>
 368        [JsonProperty(PropertyName = "autoScaleRun")]
 2551369        public AutoScaleRun AutoScaleRun { get; set; }
 370
 371        /// <summary>
 372        /// Gets or sets whether the Pool permits direct communication between
 373        /// Compute Nodes.
 374        /// </summary>
 375        /// <remarks>
 376        /// This imposes restrictions on which Compute Nodes can be assigned to
 377        /// the Pool. Specifying this value can reduce the chance of the
 378        /// requested number of Compute Nodes to be allocated in the Pool.
 379        /// </remarks>
 380        [JsonProperty(PropertyName = "enableInterNodeCommunication")]
 2537381        public bool? EnableInterNodeCommunication { get; set; }
 382
 383        /// <summary>
 384        /// Gets or sets the network configuration for the Pool.
 385        /// </summary>
 386        [JsonProperty(PropertyName = "networkConfiguration")]
 2532387        public NetworkConfiguration NetworkConfiguration { get; set; }
 388
 389        /// <summary>
 390        /// Gets or sets a Task specified to run on each Compute Node as it
 391        /// joins the Pool.
 392        /// </summary>
 393        [JsonProperty(PropertyName = "startTask")]
 2515394        public StartTask StartTask { get; set; }
 395
 396        /// <summary>
 397        /// Gets or sets the list of Certificates to be installed on each
 398        /// Compute Node in the Pool.
 399        /// </summary>
 400        /// <remarks>
 401        /// For Windows Nodes, the Batch service installs the Certificates to
 402        /// the specified Certificate store and location. For Linux Compute
 403        /// Nodes, the Certificates are stored in a directory inside the Task
 404        /// working directory and an environment variable
 405        /// AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this
 406        /// location. For Certificates with visibility of 'remoteUser', a
 407        /// 'certs' directory is created in the user's home directory (e.g.,
 408        /// /home/{user-name}/certs) and Certificates are placed in that
 409        /// directory.
 410        /// </remarks>
 411        [JsonProperty(PropertyName = "certificateReferences")]
 2532412        public IList<CertificateReference> CertificateReferences { get; set; }
 413
 414        /// <summary>
 415        /// Gets or sets the list of Packages to be installed on each Compute
 416        /// Node in the Pool.
 417        /// </summary>
 418        /// <remarks>
 419        /// Changes to Package references affect all new Nodes joining the
 420        /// Pool, but do not affect Compute Nodes that are already in the Pool
 421        /// until they are rebooted or reimaged. There is a maximum of 10
 422        /// Package references on any given Pool.
 423        /// </remarks>
 424        [JsonProperty(PropertyName = "applicationPackageReferences")]
 2558425        public IList<ApplicationPackageReference> ApplicationPackageReferences { get; set; }
 426
 427        /// <summary>
 428        /// Gets or sets the list of application licenses the Batch service
 429        /// will make available on each Compute Node in the Pool.
 430        /// </summary>
 431        /// <remarks>
 432        /// The list of application licenses must be a subset of available
 433        /// Batch service application licenses. If a license is requested which
 434        /// is not supported, Pool creation will fail.
 435        /// </remarks>
 436        [JsonProperty(PropertyName = "applicationLicenses")]
 2556437        public IList<string> ApplicationLicenses { get; set; }
 438
 439        /// <summary>
 440        /// Gets or sets the maximum number of Tasks that can run concurrently
 441        /// on a single Compute Node in the Pool.
 442        /// </summary>
 443        /// <remarks>
 444        /// The default value is 1. The maximum value is the smaller of 4 times
 445        /// the number of cores of the vmSize of the Pool or 256.
 446        /// </remarks>
 447        [JsonProperty(PropertyName = "maxTasksPerNode")]
 2520448        public int? MaxTasksPerNode { get; set; }
 449
 450        /// <summary>
 451        /// Gets or sets how Tasks are distributed across Compute Nodes in a
 452        /// Pool.
 453        /// </summary>
 454        /// <remarks>
 455        /// If not specified, the default is spread.
 456        /// </remarks>
 457        [JsonProperty(PropertyName = "taskSchedulingPolicy")]
 2527458        public TaskSchedulingPolicy TaskSchedulingPolicy { get; set; }
 459
 460        /// <summary>
 461        /// Gets or sets the list of user Accounts to be created on each
 462        /// Compute Node in the Pool.
 463        /// </summary>
 464        [JsonProperty(PropertyName = "userAccounts")]
 2543465        public IList<UserAccount> UserAccounts { get; set; }
 466
 467        /// <summary>
 468        /// Gets or sets a list of name-value pairs associated with the Pool as
 469        /// metadata.
 470        /// </summary>
 471        [JsonProperty(PropertyName = "metadata")]
 2529472        public IList<MetadataItem> Metadata { get; set; }
 473
 474        /// <summary>
 475        /// Gets or sets utilization and resource usage statistics for the
 476        /// entire lifetime of the Pool.
 477        /// </summary>
 478        /// <remarks>
 479        /// This property is populated only if the CloudPool was retrieved with
 480        /// an expand clause including the 'stats' attribute; otherwise it is
 481        /// null. The statistics may not be immediately available. The Batch
 482        /// service performs periodic roll-up of statistics. The typical delay
 483        /// is about 30 minutes.
 484        /// </remarks>
 485        [JsonProperty(PropertyName = "stats")]
 2547486        public PoolStatistics Stats { get; set; }
 487
 488        /// <summary>
 489        /// Gets or sets a list of file systems to mount on each node in the
 490        /// pool.
 491        /// </summary>
 492        /// <remarks>
 493        /// This supports Azure Files, NFS, CIFS/SMB, and Blobfuse.
 494        /// </remarks>
 495        [JsonProperty(PropertyName = "mountConfiguration")]
 2529496        public IList<MountConfiguration> MountConfiguration { get; set; }
 497
 498    }
 499}