diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
index 5c43799e8249..518a407770ba 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
@@ -7482,6 +7482,27 @@
},
"description": "The configuration parameters used while performing a rolling upgrade."
},
+ "ScaleInPolicy": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "OldestVM",
+ "NewestVM"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineScaleSetScaleInRules",
+ "modelAsString": true
+ }
+ },
+ "description": "The rules to be followed when scaling-in a virtual machine scale set.
Possible values are:
**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.
**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.
**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.
"
+ }
+ },
+ "description": "Describes a scale-in policy for a virtual machine scale set."
+ },
"ImageOSDisk": {
"properties": {
"osType": {
@@ -8607,6 +8628,10 @@
"additionalCapabilities": {
"$ref": "#/definitions/AdditionalCapabilities",
"description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the 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."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
@@ -8632,6 +8657,10 @@
"additionalCapabilities": {
"$ref": "#/definitions/AdditionalCapabilities",
"description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the 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."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."