diff --git a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/ScaleInPolicy.cs b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/ScaleInPolicy.cs
new file mode 100644
index 0000000000000..894e661e2ff56
--- /dev/null
+++ b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/ScaleInPolicy.cs
@@ -0,0 +1,92 @@
+//
+// 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.Compute.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// Describes a scale-in policy for a virtual machine scale set.
+ ///
+ public partial class ScaleInPolicy
+ {
+ ///
+ /// Initializes a new instance of the ScaleInPolicy class.
+ ///
+ public ScaleInPolicy()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ScaleInPolicy class.
+ ///
+ /// The rules to be followed when scaling-in a
+ /// virtual machine scale set. <br><br> Possible values
+ /// are: <br><br> **Default** When a virtual machine scale
+ /// set is scaled in, the scale set will first be balanced across zones
+ /// if it is a zonal scale set. Then, it will be balanced across Fault
+ /// Domains as far as possible. Within each Fault Domain, the virtual
+ /// machines chosen for removal will be the newest ones that are not
+ /// protected from scale-in. <br><br> **OldestVM** When a
+ /// virtual machine scale set is being scaled-in, the oldest virtual
+ /// machines that are not protected from scale-in will be chosen for
+ /// removal. For zonal virtual machine scale sets, the scale set will
+ /// first be balanced across zones. Within each zone, the oldest
+ /// virtual machines that are not protected will be chosen for removal.
+ /// <br><br> **NewestVM** When a virtual machine scale set
+ /// is being scaled-in, the newest virtual machines that are not
+ /// protected from scale-in will be chosen for removal. For zonal
+ /// virtual machine scale sets, the scale set will first be balanced
+ /// across zones. Within each zone, the newest virtual machines that
+ /// are not protected will be chosen for removal.
+ /// <br><br>
+ public ScaleInPolicy(IList rules = default(IList))
+ {
+ Rules = rules;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the rules to be followed when scaling-in a virtual
+ /// machine scale set. <br><br> Possible
+ /// values are: <br><br> **Default** When a
+ /// virtual machine scale set is scaled in, the scale set will first be
+ /// balanced across zones if it is a zonal scale set. Then, it will be
+ /// balanced across Fault Domains as far as possible. Within each Fault
+ /// Domain, the virtual machines chosen for removal will be the newest
+ /// ones that are not protected from scale-in.
+ /// <br><br> **OldestVM** When a virtual
+ /// machine scale set is being scaled-in, the oldest virtual machines
+ /// that are not protected from scale-in will be chosen for removal.
+ /// For zonal virtual machine scale sets, the scale set will first be
+ /// balanced across zones. Within each zone, the oldest virtual
+ /// machines that are not protected will be chosen for removal.
+ /// <br><br> **NewestVM** When a virtual
+ /// machine scale set is being scaled-in, the newest virtual machines
+ /// that are not protected from scale-in will be chosen for removal.
+ /// For zonal virtual machine scale sets, the scale set will first be
+ /// balanced across zones. Within each zone, the newest virtual
+ /// machines that are not protected will be chosen for removal.
+ /// <br><br>
+ ///
+ [JsonProperty(PropertyName = "rules")]
+ public IList Rules { get; set; }
+
+ }
+}
diff --git a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSet.cs b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSet.cs
index b72fa2db6acf7..9564720813b18 100644
--- a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSet.cs
+++ b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSet.cs
@@ -78,10 +78,13 @@ public VirtualMachineScaleSet()
/// Virtual Machine Scale Set. For instance: whether the Virtual
/// Machines have the capability to support attaching managed data
/// disks with UltraSSD_LRS storage account type.
+ /// Specifies the scale-in policy that
+ /// decides which virtual machines are chosen for removal when a
+ /// Virtual Machine Scale Set is scaled-in.
/// The identity of the virtual machine scale
/// set, if configured.
/// The virtual machine scale set zones.
- public VirtualMachineScaleSet(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary tags = default(IDictionary), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetVMProfile virtualMachineProfile = default(VirtualMachineScaleSetVMProfile), string provisioningState = default(string), bool? overprovision = default(bool?), bool? doNotRunExtensionsOnOverprovisionedVMs = default(bool?), string uniqueId = default(string), bool? singlePlacementGroup = default(bool?), bool? zoneBalance = default(bool?), int? platformFaultDomainCount = default(int?), SubResource proximityPlacementGroup = default(SubResource), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity), IList zones = default(IList))
+ public VirtualMachineScaleSet(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary tags = default(IDictionary), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetVMProfile virtualMachineProfile = default(VirtualMachineScaleSetVMProfile), string provisioningState = default(string), bool? overprovision = default(bool?), bool? doNotRunExtensionsOnOverprovisionedVMs = default(bool?), string uniqueId = default(string), bool? singlePlacementGroup = default(bool?), bool? zoneBalance = default(bool?), int? platformFaultDomainCount = default(int?), SubResource proximityPlacementGroup = default(SubResource), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), ScaleInPolicy scaleInPolicy = default(ScaleInPolicy), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity), IList zones = default(IList))
: base(location, id, name, type, tags)
{
Sku = sku;
@@ -97,6 +100,7 @@ public VirtualMachineScaleSet()
PlatformFaultDomainCount = platformFaultDomainCount;
ProximityPlacementGroup = proximityPlacementGroup;
AdditionalCapabilities = additionalCapabilities;
+ ScaleInPolicy = scaleInPolicy;
Identity = identity;
Zones = zones;
CustomInit();
@@ -205,6 +209,14 @@ public VirtualMachineScaleSet()
[JsonProperty(PropertyName = "properties.additionalCapabilities")]
public AdditionalCapabilities AdditionalCapabilities { get; set; }
+ ///
+ /// Gets or sets specifies the scale-in policy that decides which
+ /// virtual machines are chosen for removal when a Virtual Machine
+ /// Scale Set is scaled-in.
+ ///
+ [JsonProperty(PropertyName = "properties.scaleInPolicy")]
+ public ScaleInPolicy ScaleInPolicy { get; set; }
+
///
/// Gets or sets the identity of the virtual machine scale set, if
/// configured.
diff --git a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSetScaleInRules.cs b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSetScaleInRules.cs
new file mode 100644
index 0000000000000..bbe4bf22bc332
--- /dev/null
+++ b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSetScaleInRules.cs
@@ -0,0 +1,23 @@
+//
+// 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.Compute.Models
+{
+
+ ///
+ /// Defines values for VirtualMachineScaleSetScaleInRules.
+ ///
+ public static class VirtualMachineScaleSetScaleInRules
+ {
+ public const string Default = "Default";
+ public const string OldestVM = "OldestVM";
+ public const string NewestVM = "NewestVM";
+ }
+}
diff --git a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSetUpdate.cs b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSetUpdate.cs
index 0f18654a44616..266834c34d7ba 100644
--- a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSetUpdate.cs
+++ b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/Models/VirtualMachineScaleSetUpdate.cs
@@ -53,9 +53,12 @@ public VirtualMachineScaleSetUpdate()
/// Virtual Machine Scale Set. For instance: whether the Virtual
/// Machines have the capability to support attaching managed data
/// disks with UltraSSD_LRS storage account type.
+ /// Specifies the scale-in policy that
+ /// decides which virtual machines are chosen for removal when a
+ /// Virtual Machine Scale Set is scaled-in.
/// The identity of the virtual machine scale
/// set, if configured.
- public VirtualMachineScaleSetUpdate(IDictionary tags = default(IDictionary), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetUpdateVMProfile virtualMachineProfile = default(VirtualMachineScaleSetUpdateVMProfile), bool? overprovision = default(bool?), bool? singlePlacementGroup = default(bool?), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity))
+ public VirtualMachineScaleSetUpdate(IDictionary tags = default(IDictionary), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetUpdateVMProfile virtualMachineProfile = default(VirtualMachineScaleSetUpdateVMProfile), bool? overprovision = default(bool?), bool? singlePlacementGroup = default(bool?), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), ScaleInPolicy scaleInPolicy = default(ScaleInPolicy), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity))
: base(tags)
{
Sku = sku;
@@ -65,6 +68,7 @@ public VirtualMachineScaleSetUpdate()
Overprovision = overprovision;
SinglePlacementGroup = singlePlacementGroup;
AdditionalCapabilities = additionalCapabilities;
+ ScaleInPolicy = scaleInPolicy;
Identity = identity;
CustomInit();
}
@@ -123,6 +127,14 @@ public VirtualMachineScaleSetUpdate()
[JsonProperty(PropertyName = "properties.additionalCapabilities")]
public AdditionalCapabilities AdditionalCapabilities { get; set; }
+ ///
+ /// Gets or sets specifies the scale-in policy that decides which
+ /// virtual machines are chosen for removal when a Virtual Machine
+ /// Scale Set is scaled-in.
+ ///
+ [JsonProperty(PropertyName = "properties.scaleInPolicy")]
+ public ScaleInPolicy ScaleInPolicy { get; set; }
+
///
/// Gets or sets the identity of the virtual machine scale set, if
/// configured.
diff --git a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/SdkInfo_ComputeManagementClient.cs b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/SdkInfo_ComputeManagementClient.cs
index e8ef6710bfa7c..92e16cbf4f6d4 100644
--- a/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/SdkInfo_ComputeManagementClient.cs
+++ b/sdk/compute/Microsoft.Azure.Management.Compute/src/Generated/SdkInfo_ComputeManagementClient.cs
@@ -49,16 +49,5 @@ public static IEnumerable> ApiInfo_ComputeManageme
}.AsEnumerable();
}
}
- // BEGIN: Code Generation Metadata Section
- public static readonly String AutoRestVersion = "latest";
- public static readonly String AutoRestBootStrapperVersion = "autorest@2.0.4283";
- public static readonly String AutoRestCmdExecuted = "cmd.exe /c autorest.cmd https://github.com/Azure/azure-rest-api-specs/blob/master/specification/compute/resource-manager/readme.md --csharp --version=latest --reflect-api-versions --csharp-sdks-folder=D:\\hylee-sdk\\avset\\sdk";
- public static readonly String GithubForkName = "Azure";
- public static readonly String GithubBranchName = "master";
- public static readonly String GithubCommidId = "6359c5dac93947b24007afd9c569e23e92848ea5";
- public static readonly String CodeGenerationErrors = "";
- public static readonly String GithubRepoName = "azure-rest-api-specs";
- // END: Code Generation Metadata Section
}
}
-