/// <summary>
 /// Initializes a new instance of the BatchAccountCreateParameters
 /// class.
 /// </summary>
 /// <param name="location">The region in which to create the
 /// account.</param>
 /// <param name="tags">The user-specified tags associated with the
 /// account.</param>
 /// <param name="autoStorage">The properties related to the
 /// auto-storage account.</param>
 /// <param name="poolAllocationMode">The allocation mode to use for
 /// creating pools in the Batch account.</param>
 /// <param name="keyVaultReference">A reference to the Azure key vault
 /// associated with the Batch account.</param>
 public BatchAccountCreateParameters(string location, IDictionary <string, string> tags = default(IDictionary <string, string>), AutoStorageBaseProperties autoStorage = default(AutoStorageBaseProperties), PoolAllocationMode?poolAllocationMode = default(PoolAllocationMode?), KeyVaultReference keyVaultReference = default(KeyVaultReference))
 {
     Location           = location;
     Tags               = tags;
     AutoStorage        = autoStorage;
     PoolAllocationMode = poolAllocationMode;
     KeyVaultReference  = keyVaultReference;
     CustomInit();
 }
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public virtual void Validate()
 {
     if (KeyVaultReference != null)
     {
         KeyVaultReference.Validate();
     }
     if (AutoStorage != null)
     {
         AutoStorage.Validate();
     }
 }
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public override void Validate()
 {
     if (KeyVaultReference != null)
     {
         KeyVaultReference.Validate();
     }
     if (AutoStorage != null)
     {
         AutoStorage.Validate();
     }
 }
 /// <summary>
 /// Initializes a new instance of the BatchAccountInner class.
 /// </summary>
 /// <param name="accountEndpoint">The account endpoint used to interact
 /// with the Batch service.</param>
 /// <param name="provisioningState">The provisioned state of the
 /// resource. Possible values include: 'Invalid', 'Creating',
 /// 'Deleting', 'Succeeded', 'Failed', 'Cancelled'</param>
 /// <param name="poolAllocationMode">The allocation mode to use for
 /// creating pools in the Batch account.</param>
 /// <param name="keyVaultReference">A reference to the Azure key vault
 /// associated with the Batch account.</param>
 /// <param name="autoStorage">The properties and status of any
 /// auto-storage account associated with the Batch account.</param>
 /// <param name="dedicatedCoreQuota">The dedicated core quota for this
 /// Batch account.</param>
 /// <param name="lowPriorityCoreQuota">The low-priority core quota for
 /// this Batch account.</param>
 /// <param name="poolQuota">The pool quota for this Batch
 /// account.</param>
 /// <param name="activeJobAndJobScheduleQuota">The active job and job
 /// schedule quota for this Batch account.</param>
 public BatchAccountInner(string location = default(string), string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string accountEndpoint = default(string), ProvisioningState provisioningState = default(ProvisioningState), PoolAllocationMode?poolAllocationMode = default(PoolAllocationMode?), KeyVaultReference keyVaultReference = default(KeyVaultReference), AutoStorageProperties autoStorage = default(AutoStorageProperties), int dedicatedCoreQuota = default(int), int lowPriorityCoreQuota = default(int), int poolQuota = default(int), int activeJobAndJobScheduleQuota = default(int))
     : base(location, id, name, type, tags)
 {
     AccountEndpoint              = accountEndpoint;
     ProvisioningState            = provisioningState;
     PoolAllocationMode           = poolAllocationMode;
     KeyVaultReference            = keyVaultReference;
     AutoStorage                  = autoStorage;
     DedicatedCoreQuota           = dedicatedCoreQuota;
     LowPriorityCoreQuota         = lowPriorityCoreQuota;
     PoolQuota                    = poolQuota;
     ActiveJobAndJobScheduleQuota = activeJobAndJobScheduleQuota;
     CustomInit();
 }