diff --git a/src/SDKs/Batch/DataPlane/AzSdk.RP.props b/src/SDKs/Batch/DataPlane/AzSdk.RP.props
index f45067f6761f3..2c27dad8d9dd7 100644
--- a/src/SDKs/Batch/DataPlane/AzSdk.RP.props
+++ b/src/SDKs/Batch/DataPlane/AzSdk.RP.props
@@ -1,7 +1,7 @@
- BatchService_2018-08-01.7.0;
+ Batch_2019-04-01;
$(PackageTags);$(CommonTags);$(AzureApiTag);
\ No newline at end of file
diff --git a/src/SDKs/Batch/Management/Management.Batch/Generated/BatchManagementClient.cs b/src/SDKs/Batch/Management/Management.Batch/Generated/BatchManagementClient.cs
index 613f04b348ac1..bcfc78ece656d 100644
--- a/src/SDKs/Batch/Management/Management.Batch/Generated/BatchManagementClient.cs
+++ b/src/SDKs/Batch/Management/Management.Batch/Generated/BatchManagementClient.cs
@@ -356,7 +356,7 @@ private void Initialize()
Certificate = new CertificateOperations(this);
Pool = new PoolOperations(this);
BaseUri = new System.Uri("https://management.azure.com");
- ApiVersion = "2018-12-01";
+ ApiVersion = "2019-04-01";
AcceptLanguage = "en-US";
LongRunningOperationRetryTimeout = 30;
GenerateClientRequestId = true;
diff --git a/src/SDKs/Batch/Management/Management.Batch/Generated/Models/BatchAccount.cs b/src/SDKs/Batch/Management/Management.Batch/Generated/Models/BatchAccount.cs
index b472de181fed0..3679be5c9fac1 100644
--- a/src/SDKs/Batch/Management/Management.Batch/Generated/Models/BatchAccount.cs
+++ b/src/SDKs/Batch/Management/Management.Batch/Generated/Models/BatchAccount.cs
@@ -50,15 +50,22 @@ public BatchAccount()
/// associated with the Batch account.
/// The properties and status of any
/// auto-storage account associated with the Batch account.
- /// The dedicated core quota for this
+ /// The dedicated core quota for the
/// Batch account.
/// The low-priority core quota for
- /// this Batch account.
- /// The pool quota for this Batch
+ /// the Batch account.
+ /// A list of the dedicated
+ /// core quota per Virtual Machine family for the Batch account. For
+ /// accounts with PoolAllocationMode set to UserSubscription, quota is
+ /// managed on the subscription so this value is not returned.
+ /// A value
+ /// indicating whether the core quota for the Batch Account is enforced
+ /// per Virtual Machine family or not.
+ /// The pool quota for the Batch
/// account.
/// The active job and job
- /// schedule quota for this Batch account.
- public BatchAccount(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary tags = default(IDictionary), 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))
+ /// schedule quota for the Batch account.
+ public BatchAccount(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary tags = default(IDictionary), 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?), IList dedicatedCoreQuotaPerVMFamily = default(IList), bool dedicatedCoreQuotaPerVMFamilyEnforced = default(bool), int poolQuota = default(int), int activeJobAndJobScheduleQuota = default(int))
: base(id, name, type, location, tags)
{
AccountEndpoint = accountEndpoint;
@@ -68,6 +75,8 @@ public BatchAccount()
AutoStorage = autoStorage;
DedicatedCoreQuota = dedicatedCoreQuota;
LowPriorityCoreQuota = lowPriorityCoreQuota;
+ DedicatedCoreQuotaPerVMFamily = dedicatedCoreQuotaPerVMFamily;
+ DedicatedCoreQuotaPerVMFamilyEnforced = dedicatedCoreQuotaPerVMFamilyEnforced;
PoolQuota = poolQuota;
ActiveJobAndJobScheduleQuota = activeJobAndJobScheduleQuota;
CustomInit();
@@ -117,25 +126,60 @@ public BatchAccount()
public AutoStorageProperties AutoStorage { get; private set; }
///
- /// Gets the dedicated core quota for this Batch account.
+ /// Gets the dedicated core quota for the Batch account.
///
+ ///
+ /// For accounts with PoolAllocationMode set to UserSubscription, quota
+ /// is managed on the subscription so this value is not returned.
+ ///
[JsonProperty(PropertyName = "properties.dedicatedCoreQuota")]
public int DedicatedCoreQuota { get; private set; }
///
- /// Gets the low-priority core quota for this Batch account.
+ /// Gets the low-priority core quota for the Batch account.
///
+ ///
+ /// For accounts with PoolAllocationMode set to UserSubscription, quota
+ /// is managed on the subscription so this value is not returned.
+ ///
[JsonProperty(PropertyName = "properties.lowPriorityCoreQuota")]
- public int LowPriorityCoreQuota { get; private set; }
+ public int? LowPriorityCoreQuota { get; private set; }
+
+ ///
+ /// Gets a list of the dedicated core quota per Virtual Machine family
+ /// for the Batch account. For accounts with PoolAllocationMode set to
+ /// UserSubscription, quota is managed on the subscription so this
+ /// value is not returned.
+ ///
+ [JsonProperty(PropertyName = "properties.dedicatedCoreQuotaPerVMFamily")]
+ public IList DedicatedCoreQuotaPerVMFamily { get; private set; }
+
+ ///
+ /// Gets a value indicating whether the core quota for the Batch
+ /// Account is enforced per Virtual Machine family or not.
+ ///
+ ///
+ /// Batch is transitioning its core quota system for dedicated cores to
+ /// be enforced per Virtual Machine family. During this transitional
+ /// phase, the dedicated core quota per Virtual Machine family may not
+ /// yet be enforced. If this flag is false, dedicated core quota is
+ /// enforced via the old dedicatedCoreQuota property on the account and
+ /// does not consider Virtual Machine family. If this flag is true,
+ /// dedicated core quota is enforced via the
+ /// dedicatedCoreQuotaPerVMFamily property on the account, and the old
+ /// dedicatedCoreQuota does not apply.
+ ///
+ [JsonProperty(PropertyName = "properties.dedicatedCoreQuotaPerVMFamilyEnforced")]
+ public bool DedicatedCoreQuotaPerVMFamilyEnforced { get; private set; }
///
- /// Gets the pool quota for this Batch account.
+ /// Gets the pool quota for the Batch account.
///
[JsonProperty(PropertyName = "properties.poolQuota")]
public int PoolQuota { get; private set; }
///
- /// Gets the active job and job schedule quota for this Batch account.
+ /// Gets the active job and job schedule quota for the Batch account.
///
[JsonProperty(PropertyName = "properties.activeJobAndJobScheduleQuota")]
public int ActiveJobAndJobScheduleQuota { get; private set; }
diff --git a/src/SDKs/Batch/Management/Management.Batch/Generated/Models/VirtualMachineFamilyCoreQuota.cs b/src/SDKs/Batch/Management/Management.Batch/Generated/Models/VirtualMachineFamilyCoreQuota.cs
new file mode 100644
index 0000000000000..8e57c3ae4d12a
--- /dev/null
+++ b/src/SDKs/Batch/Management/Management.Batch/Generated/Models/VirtualMachineFamilyCoreQuota.cs
@@ -0,0 +1,62 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Batch.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// A VM Family and its associated core quota for the Batch account.
+ ///
+ public partial class VirtualMachineFamilyCoreQuota
+ {
+ ///
+ /// Initializes a new instance of the VirtualMachineFamilyCoreQuota
+ /// class.
+ ///
+ public VirtualMachineFamilyCoreQuota()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the VirtualMachineFamilyCoreQuota
+ /// class.
+ ///
+ /// The Virtual Machine family name.
+ /// The core quota for the VM family for the
+ /// Batch account.
+ public VirtualMachineFamilyCoreQuota(string name = default(string), int coreQuota = default(int))
+ {
+ Name = name;
+ CoreQuota = coreQuota;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets the Virtual Machine family name.
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; private set; }
+
+ ///
+ /// Gets the core quota for the VM family for the Batch account.
+ ///
+ [JsonProperty(PropertyName = "coreQuota")]
+ public int CoreQuota { get; private set; }
+
+ }
+}
diff --git a/src/SDKs/Batch/Management/Management.Batch/Generated/SdkInfo_BatchManagement.cs b/src/SDKs/Batch/Management/Management.Batch/Generated/SdkInfo_BatchManagement.cs
index 53d109da21f47..e3748044fb48d 100644
--- a/src/SDKs/Batch/Management/Management.Batch/Generated/SdkInfo_BatchManagement.cs
+++ b/src/SDKs/Batch/Management/Management.Batch/Generated/SdkInfo_BatchManagement.cs
@@ -19,13 +19,13 @@ public static IEnumerable> ApiInfo_BatchManagement
{
return new Tuple[]
{
- new Tuple("Batch", "Application", "2018-12-01"),
- new Tuple("Batch", "ApplicationPackage", "2018-12-01"),
- new Tuple("Batch", "BatchAccount", "2018-12-01"),
- new Tuple("Batch", "Certificate", "2018-12-01"),
- new Tuple("Batch", "Location", "2018-12-01"),
- new Tuple("Batch", "Operations", "2018-12-01"),
- new Tuple("Batch", "Pool", "2018-12-01"),
+ new Tuple("Batch", "Application", "2019-04-01"),
+ new Tuple("Batch", "ApplicationPackage", "2019-04-01"),
+ new Tuple("Batch", "BatchAccount", "2019-04-01"),
+ new Tuple("Batch", "Certificate", "2019-04-01"),
+ new Tuple("Batch", "Location", "2019-04-01"),
+ new Tuple("Batch", "Operations", "2019-04-01"),
+ new Tuple("Batch", "Pool", "2019-04-01"),
}.AsEnumerable();
}
}