diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/computeRPCommon.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/computeRPCommon.json index 6f915250349b..75685519e5dc 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/computeRPCommon.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/computeRPCommon.json @@ -1769,6 +1769,10 @@ "name": "WindowsPatchAssessmentMode", "modelAsString": true } + }, + "automaticByPlatformSettings": { + "$ref": "#/definitions/WindowsVMGuestPatchAutomaticByPlatformSettings", + "description": "Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows." } }, "description": "Specifies settings related to VM Guest Patching on Windows." @@ -1798,9 +1802,53 @@ "name": "LinuxPatchAssessmentMode", "modelAsString": true } + }, + "automaticByPlatformSettings": { + "$ref": "#/definitions/LinuxVMGuestPatchAutomaticByPlatformSettings", + "description": "Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux." } }, "description": "Specifies settings related to VM Guest Patching on Linux." + }, + "WindowsVMGuestPatchAutomaticByPlatformSettings": { + "type": "object", + "properties": { + "rebootSetting": { + "type": "string", + "description": "Specifies the reboot setting for all AutomaticByPlatform patch installation operations.", + "enum": [ + "Unknown", + "IfRequired", + "Never", + "Always" + ], + "x-ms-enum": { + "name": "WindowsVMGuestPatchAutomaticByPlatformRebootSetting", + "modelAsString": true + } + } + }, + "description": "Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings." + }, + "LinuxVMGuestPatchAutomaticByPlatformSettings": { + "type": "object", + "properties": { + "rebootSetting": { + "type": "string", + "description": "Specifies the reboot setting for all AutomaticByPlatform patch installation operations.", + "enum": [ + "Unknown", + "IfRequired", + "Never", + "Always" + ], + "x-ms-enum": { + "name": "LinuxVMGuestPatchAutomaticByPlatformRebootSetting", + "modelAsString": true + } + } + }, + "description": "Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings." } } } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineExamples/VirtualMachine_Create_LinuxVmWithAutomaticByPlatformSettings.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineExamples/VirtualMachine_Create_LinuxVmWithAutomaticByPlatformSettings.json new file mode 100644 index 000000000000..6ec047d92cbd --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineExamples/VirtualMachine_Create_LinuxVmWithAutomaticByPlatformSettings.json @@ -0,0 +1,175 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2022-03-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D2s_v3" + }, + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}", + "linuxConfiguration": { + "provisionVMAgent": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform", + "assessmentMode": "AutomaticByPlatform", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "provisionVMAgent": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform", + "assessmentMode": "AutomaticByPlatform", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "osType": "Linux", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_D2s_v3" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "provisionVMAgent": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform", + "assessmentMode": "AutomaticByPlatform", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "osType": "Linux", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_D2s_v3" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineExamples/VirtualMachine_Create_WindowsVmWithAutomaticByPlatformSettings.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineExamples/VirtualMachine_Create_WindowsVmWithAutomaticByPlatformSettings.json new file mode 100644 index 000000000000..5225845ed3b9 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineExamples/VirtualMachine_Create_WindowsVmWithAutomaticByPlatformSettings.json @@ -0,0 +1,178 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2022-03-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform", + "assessmentMode": "AutomaticByPlatform", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform", + "assessmentMode": "AutomaticByPlatform", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform", + "assessmentMode": "AutomaticByPlatform", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_List_MaximumSet_Gen.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_List_MaximumSet_Gen.json index 86993005325d..1ac1e8362a34 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_List_MaximumSet_Gen.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_List_MaximumSet_Gen.json @@ -25,7 +25,8 @@ "mode": "Automatic", "automaticOSUpgradePolicy": { "enableAutomaticOSUpgrade": true, - "disableAutomaticRollback": true + "disableAutomaticRollback": true, + "useRollingUpgradePolicy": true }, "rollingUpgradePolicy": { "maxBatchInstancePercent": 49, @@ -360,7 +361,8 @@ "mode": "Automatic", "automaticOSUpgradePolicy": { "enableAutomaticOSUpgrade": true, - "disableAutomaticRollback": true + "disableAutomaticRollback": true, + "useRollingUpgradePolicy": true }, "rollingUpgradePolicy": { "maxBatchInstancePercent": 49, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_Update_MaximumSet_Gen.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_Update_MaximumSet_Gen.json index 166cd93a10db..d9f4677fc269 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_Update_MaximumSet_Gen.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSets_Update_MaximumSet_Gen.json @@ -41,9 +41,12 @@ "provisionVMAgent": true, "enableAutomaticUpdates": true, "patchSettings": { - "patchMode": "AutomaticByOS", + "patchMode": "AutomaticByPlatform", "enableHotpatching": true, - "assessmentMode": "ImageDefault" + "assessmentMode": "ImageDefault", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } }, "timeZone": "aaaaaaaaaaaaaaaa", "additionalUnattendContent": [ @@ -367,9 +370,12 @@ } ], "patchSettings": { - "patchMode": "AutomaticByOS", + "patchMode": "AutomaticByPlatform", "enableHotpatching": true, - "assessmentMode": "ImageDefault" + "assessmentMode": "ImageDefault", + "automaticByPlatformSettings": { + "rebootSetting": "Never" + } }, "winRM": { "listeners": [ diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachine.json index 8f76bff0949f..1b8cc518865b 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachine.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachine.json @@ -595,6 +595,9 @@ "Create a Windows vm with a patch setting patchMode of AutomaticByOS.": { "$ref": "./examples/virtualMachineExamples/VirtualMachine_Create_WindowsVmWithPatchSettingModeOfAutomaticByOS.json" }, + "Create a Windows vm with a patch setting patchMode of AutomaticByPlatform and AutomaticByPlatformSettings.": { + "$ref": "./examples/virtualMachineExamples/VirtualMachine_Create_WindowsVmWithAutomaticByPlatformSettings.json" + }, "Create a Windows vm with patch settings patchMode and assessmentMode set to AutomaticByPlatform.": { "$ref": "./examples/virtualMachineExamples/VirtualMachine_Create_WindowsVmWithPatchSettingModesOfAutomaticByPlatform.json" }, @@ -613,6 +616,9 @@ "Create a Linux vm with a patch setting patchMode of ImageDefault.": { "$ref": "./examples/virtualMachineExamples/VirtualMachine_Create_LinuxVmWithPatchSettingModeOfImageDefault.json" }, + "Create a Linux vm with a patch setting patchMode of AutomaticByPlatform and AutomaticByPlatformSettings.": { + "$ref": "./examples/virtualMachineExamples/VirtualMachine_Create_LinuxVmWithAutomaticByPlatformSettings.json" + }, "Create a Linux vm with a patch setting assessmentMode of ImageDefault.": { "$ref": "./examples/virtualMachineExamples/VirtualMachine_Create_LinuxVmWithPatchSettingAssessmentModeOfImageDefault.json" }, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachineScaleSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachineScaleSet.json index b5c7f5e77148..773606478acc 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachineScaleSet.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/virtualMachineScaleSet.json @@ -3507,6 +3507,10 @@ "disableAutomaticRollback": { "type": "boolean", "description": "Whether OS image rollback feature should be disabled. Default value is false." + }, + "useRollingUpgradePolicy": { + "type": "boolean", + "description": "Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS." } }, "description": "The configuration parameters used for performing automatic OS upgrade."