diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/__init__.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/__init__.py
index 9e4583068493..4cf5e17b2d24 100644
--- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/__init__.py
+++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/__init__.py
@@ -20,6 +20,7 @@
     from ._models_py3 import AutomaticRepairsPolicy
     from ._models_py3 import AvailabilitySet
     from ._models_py3 import AvailabilitySetUpdate
+    from ._models_py3 import AvailablePatchSummary
     from ._models_py3 import BillingProfile
     from ._models_py3 import BootDiagnostics
     from ._models_py3 import BootDiagnosticsInstanceView
@@ -53,6 +54,7 @@
     from ._models_py3 import InstanceViewStatus
     from ._models_py3 import KeyVaultKeyReference
     from ._models_py3 import KeyVaultSecretReference
+    from ._models_py3 import LastPatchInstallationSummary
     from ._models_py3 import LinuxConfiguration
     from ._models_py3 import LogAnalyticsInputBase
     from ._models_py3 import LogAnalyticsOperationResult
@@ -128,6 +130,7 @@
     from ._models_py3 import VirtualMachineImage
     from ._models_py3 import VirtualMachineImageResource
     from ._models_py3 import VirtualMachineInstanceView
+    from ._models_py3 import VirtualMachinePatchStatus
     from ._models_py3 import VirtualMachineReimageParameters
     from ._models_py3 import VirtualMachineScaleSet
     from ._models_py3 import VirtualMachineScaleSetDataDisk
@@ -189,6 +192,7 @@
     from ._models import AutomaticRepairsPolicy
     from ._models import AvailabilitySet
     from ._models import AvailabilitySetUpdate
+    from ._models import AvailablePatchSummary
     from ._models import BillingProfile
     from ._models import BootDiagnostics
     from ._models import BootDiagnosticsInstanceView
@@ -222,6 +226,7 @@
     from ._models import InstanceViewStatus
     from ._models import KeyVaultKeyReference
     from ._models import KeyVaultSecretReference
+    from ._models import LastPatchInstallationSummary
     from ._models import LinuxConfiguration
     from ._models import LogAnalyticsInputBase
     from ._models import LogAnalyticsOperationResult
@@ -297,6 +302,7 @@
     from ._models import VirtualMachineImage
     from ._models import VirtualMachineImageResource
     from ._models import VirtualMachineInstanceView
+    from ._models import VirtualMachinePatchStatus
     from ._models import VirtualMachineReimageParameters
     from ._models import VirtualMachineScaleSet
     from ._models import VirtualMachineScaleSetDataDisk
@@ -390,6 +396,7 @@
     ResourceIdentityType,
     MaintenanceOperationResultCodeTypes,
     HyperVGenerationType,
+    RebootStatus,
     UpgradeMode,
     VirtualMachineScaleSetScaleInRules,
     OperatingSystemStateTypes,
@@ -417,6 +424,7 @@
     'AutomaticRepairsPolicy',
     'AvailabilitySet',
     'AvailabilitySetUpdate',
+    'AvailablePatchSummary',
     'BillingProfile',
     'BootDiagnostics',
     'BootDiagnosticsInstanceView',
@@ -450,6 +458,7 @@
     'InstanceViewStatus',
     'KeyVaultKeyReference',
     'KeyVaultSecretReference',
+    'LastPatchInstallationSummary',
     'LinuxConfiguration',
     'LogAnalyticsInputBase',
     'LogAnalyticsOperationResult',
@@ -525,6 +534,7 @@
     'VirtualMachineImage',
     'VirtualMachineImageResource',
     'VirtualMachineInstanceView',
+    'VirtualMachinePatchStatus',
     'VirtualMachineReimageParameters',
     'VirtualMachineScaleSet',
     'VirtualMachineScaleSetDataDisk',
@@ -617,6 +627,7 @@
     'ResourceIdentityType',
     'MaintenanceOperationResultCodeTypes',
     'HyperVGenerationType',
+    'RebootStatus',
     'UpgradeMode',
     'VirtualMachineScaleSetScaleInRules',
     'OperatingSystemStateTypes',
diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py
index 43221c71ff12..d29fbdf55093 100644
--- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py
+++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py
@@ -348,6 +348,15 @@ class HyperVGenerationType(str, Enum):
     v2 = "V2"
 
 
+class RebootStatus(str, Enum):
+
+    not_needed = "NotNeeded"
+    required = "Required"
+    started = "Started"
+    failed = "Failed"
+    completed = "Completed"
+
+
 class UpgradeMode(str, Enum):
 
     automatic = "Automatic"
diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py
index f7c6a44da03b..efa163dc3795 100644
--- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py
+++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py
@@ -419,6 +419,77 @@ def __init__(self, **kwargs):
         self.sku = kwargs.get('sku', None)
 
 
+class AvailablePatchSummary(Model):
+    """Describes the properties of an virtual machine instance view for available
+    patch summary.
+
+    Variables are only populated by the server, and will be ignored when
+    sending a request.
+
+    :ivar status: The overall success or failure status of the operation. It
+     remains "InProgress" until the operation completes. At that point it will
+     become "Failed", "Succeeded", or "CompletedWithWarnings.". Possible values
+     include: 'InProgress', 'Failed', 'Succeeded', 'CompletedWithWarnings'
+    :vartype status: str or
+     ~azure.mgmt.compute.v2020_06_01.models.PatchOperationStatus
+    :ivar assessment_activity_id: The activity ID of the operation that
+     produced this result. It is used to correlate across CRP and extension
+     logs.
+    :vartype assessment_activity_id: str
+    :ivar reboot_pending: The overall reboot status of the VM. It will be true
+     when partially installed patches require a reboot to complete installation
+     but the reboot has not yet occurred.
+    :vartype reboot_pending: bool
+    :ivar critical_and_security_patch_count: The number of critical or
+     security patches that have been detected as available and not yet
+     installed.
+    :vartype critical_and_security_patch_count: int
+    :ivar other_patch_count: The number of all available patches excluding
+     critical and security.
+    :vartype other_patch_count: int
+    :ivar start_time: The UTC timestamp when the operation began.
+    :vartype start_time: datetime
+    :ivar last_modified_time: The UTC timestamp when the operation began.
+    :vartype last_modified_time: datetime
+    :ivar error: The errors that were encountered during execution of the
+     operation. The details array contains the list of them.
+    :vartype error: ~azure.mgmt.compute.v2020_06_01.models.ApiError
+    """
+
+    _validation = {
+        'status': {'readonly': True},
+        'assessment_activity_id': {'readonly': True},
+        'reboot_pending': {'readonly': True},
+        'critical_and_security_patch_count': {'readonly': True},
+        'other_patch_count': {'readonly': True},
+        'start_time': {'readonly': True},
+        'last_modified_time': {'readonly': True},
+        'error': {'readonly': True},
+    }
+
+    _attribute_map = {
+        'status': {'key': 'status', 'type': 'str'},
+        'assessment_activity_id': {'key': 'assessmentActivityId', 'type': 'str'},
+        'reboot_pending': {'key': 'rebootPending', 'type': 'bool'},
+        'critical_and_security_patch_count': {'key': 'criticalAndSecurityPatchCount', 'type': 'int'},
+        'other_patch_count': {'key': 'otherPatchCount', 'type': 'int'},
+        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
+        'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'},
+        'error': {'key': 'error', 'type': 'ApiError'},
+    }
+
+    def __init__(self, **kwargs):
+        super(AvailablePatchSummary, self).__init__(**kwargs)
+        self.status = None
+        self.assessment_activity_id = None
+        self.reboot_pending = None
+        self.critical_and_security_patch_count = None
+        self.other_patch_count = None
+        self.start_time = None
+        self.last_modified_time = None
+        self.error = None
+
+
 class BillingProfile(Model):
     """Specifies the billing related details of a Azure Spot VM or VMSS.
     <br><br>Minimum api-version: 2019-03-01.
@@ -1875,6 +1946,110 @@ def __init__(self, **kwargs):
         self.source_vault = kwargs.get('source_vault', None)
 
 
+class LastPatchInstallationSummary(Model):
+    """Describes the properties of the last installed patch summary.
+
+    Variables are only populated by the server, and will be ignored when
+    sending a request.
+
+    :ivar status: The overall success or failure status of the operation. It
+     remains "InProgress" until the operation completes. At that point it will
+     become "Failed", "Succeeded", or "CompletedWithWarnings.". Possible values
+     include: 'InProgress', 'Failed', 'Succeeded', 'CompletedWithWarnings'
+    :vartype status: str or
+     ~azure.mgmt.compute.v2020_06_01.models.PatchOperationStatus
+    :ivar installation_activity_id: The activity ID of the operation that
+     produced this result. It is used to correlate across CRP and extension
+     logs.
+    :vartype installation_activity_id: str
+    :ivar maintenance_window_exceeded: Describes whether the operation ran out
+     of time before it completed all its intended actions
+    :vartype maintenance_window_exceeded: bool
+    :ivar reboot_status: The reboot status of the machine after the patch
+     operation. It will be in "NotNeeded" status if reboot is not needed after
+     the patch operation. "Required" will be the status once the patch is
+     applied and machine is required to reboot. "Started" will be the reboot
+     status when the machine has started to reboot. "Failed" will be the status
+     if the machine is failed to reboot. "Completed" will be the status once
+     the machine is rebooted successfully. Possible values include:
+     'NotNeeded', 'Required', 'Started', 'Failed', 'Completed'
+    :vartype reboot_status: str or
+     ~azure.mgmt.compute.v2020_06_01.models.RebootStatus
+    :ivar not_selected_patch_count: The number of all available patches but
+     not going to be installed because it didn't match a classification or
+     inclusion list entry.
+    :vartype not_selected_patch_count: int
+    :ivar excluded_patch_count: The number of all available patches but
+     excluded explicitly by a customer-specified exclusion list match.
+    :vartype excluded_patch_count: int
+    :ivar pending_patch_count: The number of all available patches expected to
+     be installed over the course of the patch installation operation.
+    :vartype pending_patch_count: int
+    :ivar installed_patch_count: The count of patches that successfully
+     installed.
+    :vartype installed_patch_count: int
+    :ivar failed_patch_count: The count of patches that failed installation.
+    :vartype failed_patch_count: int
+    :ivar start_time: The UTC timestamp when the operation began.
+    :vartype start_time: datetime
+    :ivar last_modified_time: The UTC timestamp when the operation began.
+    :vartype last_modified_time: datetime
+    :ivar started_by: The person or system account that started the operation
+    :vartype started_by: str
+    :ivar error: The errors that were encountered during execution of the
+     operation. The details array contains the list of them.
+    :vartype error: ~azure.mgmt.compute.v2020_06_01.models.ApiError
+    """
+
+    _validation = {
+        'status': {'readonly': True},
+        'installation_activity_id': {'readonly': True},
+        'maintenance_window_exceeded': {'readonly': True},
+        'reboot_status': {'readonly': True},
+        'not_selected_patch_count': {'readonly': True},
+        'excluded_patch_count': {'readonly': True},
+        'pending_patch_count': {'readonly': True},
+        'installed_patch_count': {'readonly': True},
+        'failed_patch_count': {'readonly': True},
+        'start_time': {'readonly': True},
+        'last_modified_time': {'readonly': True},
+        'started_by': {'readonly': True},
+        'error': {'readonly': True},
+    }
+
+    _attribute_map = {
+        'status': {'key': 'status', 'type': 'str'},
+        'installation_activity_id': {'key': 'installationActivityId', 'type': 'str'},
+        'maintenance_window_exceeded': {'key': 'maintenanceWindowExceeded', 'type': 'bool'},
+        'reboot_status': {'key': 'rebootStatus', 'type': 'str'},
+        'not_selected_patch_count': {'key': 'notSelectedPatchCount', 'type': 'int'},
+        'excluded_patch_count': {'key': 'excludedPatchCount', 'type': 'int'},
+        'pending_patch_count': {'key': 'pendingPatchCount', 'type': 'int'},
+        'installed_patch_count': {'key': 'installedPatchCount', 'type': 'int'},
+        'failed_patch_count': {'key': 'failedPatchCount', 'type': 'int'},
+        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
+        'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'},
+        'started_by': {'key': 'startedBy', 'type': 'str'},
+        'error': {'key': 'error', 'type': 'ApiError'},
+    }
+
+    def __init__(self, **kwargs):
+        super(LastPatchInstallationSummary, self).__init__(**kwargs)
+        self.status = None
+        self.installation_activity_id = None
+        self.maintenance_window_exceeded = None
+        self.reboot_status = None
+        self.not_selected_patch_count = None
+        self.excluded_patch_count = None
+        self.pending_patch_count = None
+        self.installed_patch_count = None
+        self.failed_patch_count = None
+        self.start_time = None
+        self.last_modified_time = None
+        self.started_by = None
+        self.error = None
+
+
 class LinuxConfiguration(Model):
     """Specifies the Linux operating system settings on the virtual machine.
     <br><br>For a list of supported Linux distributions, see [Linux on
@@ -2419,7 +2594,7 @@ class PatchSettings(Model):
      automatically be updated by the OS. The property
      WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **
      AutomaticByPlatform** - the virtual machine will automatically updated by
-     the OS. The properties provisionVMAgent and
+     the platform. The properties provisionVMAgent and
      WindowsConfiguration.enableAutomaticUpdates must be true. Possible values
      include: 'Manual', 'AutomaticByOS', 'AutomaticByPlatform'
     :type patch_mode: str or
@@ -4254,6 +4429,10 @@ class VirtualMachineExtension(Resource):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -4287,6 +4466,7 @@ class VirtualMachineExtension(Resource):
         'virtual_machine_extension_type': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
         'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
@@ -4300,6 +4480,7 @@ def __init__(self, **kwargs):
         self.virtual_machine_extension_type = kwargs.get('virtual_machine_extension_type', None)
         self.type_handler_version = kwargs.get('type_handler_version', None)
         self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None)
+        self.enable_automatic_upgrade = kwargs.get('enable_automatic_upgrade', None)
         self.settings = kwargs.get('settings', None)
         self.protected_settings = kwargs.get('protected_settings', None)
         self.provisioning_state = None
@@ -4472,6 +4653,10 @@ class VirtualMachineExtensionUpdate(UpdateResource):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -4487,6 +4672,7 @@ class VirtualMachineExtensionUpdate(UpdateResource):
         'type': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
     }
@@ -4498,6 +4684,7 @@ def __init__(self, **kwargs):
         self.type = kwargs.get('type', None)
         self.type_handler_version = kwargs.get('type_handler_version', None)
         self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None)
+        self.enable_automatic_upgrade = kwargs.get('enable_automatic_upgrade', None)
         self.settings = kwargs.get('settings', None)
         self.protected_settings = kwargs.get('protected_settings', None)
 
@@ -4737,6 +4924,9 @@ class VirtualMachineInstanceView(Model):
     :param extensions: The extensions information.
     :type extensions:
      list[~azure.mgmt.compute.v2020_06_01.models.VirtualMachineExtensionInstanceView]
+    :ivar vm_health: The health status for the VM.
+    :vartype vm_health:
+     ~azure.mgmt.compute.v2020_06_01.models.VirtualMachineHealthStatus
     :param boot_diagnostics: Boot Diagnostics is a debugging feature which
      allows you to view Console Output and Screenshot to diagnose VM status.
      <br><br> You can easily view the output of your console log. <br><br>
@@ -4751,9 +4941,13 @@ class VirtualMachineInstanceView(Model):
     :param statuses: The resource status information.
     :type statuses:
      list[~azure.mgmt.compute.v2020_06_01.models.InstanceViewStatus]
+    :param patch_status: The status of virtual machine patch operations.
+    :type patch_status:
+     ~azure.mgmt.compute.v2020_06_01.models.VirtualMachinePatchStatus
     """
 
     _validation = {
+        'vm_health': {'readonly': True},
         'assigned_host': {'readonly': True},
     }
 
@@ -4769,9 +4963,11 @@ class VirtualMachineInstanceView(Model):
         'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'},
         'disks': {'key': 'disks', 'type': '[DiskInstanceView]'},
         'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'},
+        'vm_health': {'key': 'vmHealth', 'type': 'VirtualMachineHealthStatus'},
         'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'},
         'assigned_host': {'key': 'assignedHost', 'type': 'str'},
         'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'},
+        'patch_status': {'key': 'patchStatus', 'type': 'VirtualMachinePatchStatus'},
     }
 
     def __init__(self, **kwargs):
@@ -4787,9 +4983,35 @@ def __init__(self, **kwargs):
         self.maintenance_redeploy_status = kwargs.get('maintenance_redeploy_status', None)
         self.disks = kwargs.get('disks', None)
         self.extensions = kwargs.get('extensions', None)
+        self.vm_health = None
         self.boot_diagnostics = kwargs.get('boot_diagnostics', None)
         self.assigned_host = None
         self.statuses = kwargs.get('statuses', None)
+        self.patch_status = kwargs.get('patch_status', None)
+
+
+class VirtualMachinePatchStatus(Model):
+    """The status of virtual machine patch operations.
+
+    :param available_patch_summary: The available patch summary of the latest
+     assessment operation for the virtual machine.
+    :type available_patch_summary:
+     ~azure.mgmt.compute.v2020_06_01.models.AvailablePatchSummary
+    :param last_patch_installation_summary: The installation summary of the
+     latest installation operation for the virtual machine.
+    :type last_patch_installation_summary:
+     ~azure.mgmt.compute.v2020_06_01.models.LastPatchInstallationSummary
+    """
+
+    _attribute_map = {
+        'available_patch_summary': {'key': 'availablePatchSummary', 'type': 'AvailablePatchSummary'},
+        'last_patch_installation_summary': {'key': 'lastPatchInstallationSummary', 'type': 'LastPatchInstallationSummary'},
+    }
+
+    def __init__(self, **kwargs):
+        super(VirtualMachinePatchStatus, self).__init__(**kwargs)
+        self.available_patch_summary = kwargs.get('available_patch_summary', None)
+        self.last_patch_installation_summary = kwargs.get('last_patch_installation_summary', None)
 
 
 class VirtualMachineReimageParameters(Model):
@@ -5057,6 +5279,10 @@ class VirtualMachineScaleSetExtension(SubResourceReadOnly):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -5086,6 +5312,7 @@ class VirtualMachineScaleSetExtension(SubResourceReadOnly):
         'type1': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
         'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
@@ -5101,6 +5328,7 @@ def __init__(self, **kwargs):
         self.type1 = kwargs.get('type1', None)
         self.type_handler_version = kwargs.get('type_handler_version', None)
         self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None)
+        self.enable_automatic_upgrade = kwargs.get('enable_automatic_upgrade', None)
         self.settings = kwargs.get('settings', None)
         self.protected_settings = kwargs.get('protected_settings', None)
         self.provisioning_state = None
@@ -5161,6 +5389,10 @@ class VirtualMachineScaleSetExtensionUpdate(SubResourceReadOnly):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -5191,6 +5423,7 @@ class VirtualMachineScaleSetExtensionUpdate(SubResourceReadOnly):
         'type1': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
         'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
@@ -5206,6 +5439,7 @@ def __init__(self, **kwargs):
         self.type1 = kwargs.get('type1', None)
         self.type_handler_version = kwargs.get('type_handler_version', None)
         self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None)
+        self.enable_automatic_upgrade = kwargs.get('enable_automatic_upgrade', None)
         self.settings = kwargs.get('settings', None)
         self.protected_settings = kwargs.get('protected_settings', None)
         self.provisioning_state = None
diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py
index 4516e6d813e6..cfad7bff11f0 100644
--- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py
+++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py
@@ -419,6 +419,77 @@ def __init__(self, *, tags=None, platform_update_domain_count: int=None, platfor
         self.sku = sku
 
 
+class AvailablePatchSummary(Model):
+    """Describes the properties of an virtual machine instance view for available
+    patch summary.
+
+    Variables are only populated by the server, and will be ignored when
+    sending a request.
+
+    :ivar status: The overall success or failure status of the operation. It
+     remains "InProgress" until the operation completes. At that point it will
+     become "Failed", "Succeeded", or "CompletedWithWarnings.". Possible values
+     include: 'InProgress', 'Failed', 'Succeeded', 'CompletedWithWarnings'
+    :vartype status: str or
+     ~azure.mgmt.compute.v2020_06_01.models.PatchOperationStatus
+    :ivar assessment_activity_id: The activity ID of the operation that
+     produced this result. It is used to correlate across CRP and extension
+     logs.
+    :vartype assessment_activity_id: str
+    :ivar reboot_pending: The overall reboot status of the VM. It will be true
+     when partially installed patches require a reboot to complete installation
+     but the reboot has not yet occurred.
+    :vartype reboot_pending: bool
+    :ivar critical_and_security_patch_count: The number of critical or
+     security patches that have been detected as available and not yet
+     installed.
+    :vartype critical_and_security_patch_count: int
+    :ivar other_patch_count: The number of all available patches excluding
+     critical and security.
+    :vartype other_patch_count: int
+    :ivar start_time: The UTC timestamp when the operation began.
+    :vartype start_time: datetime
+    :ivar last_modified_time: The UTC timestamp when the operation began.
+    :vartype last_modified_time: datetime
+    :ivar error: The errors that were encountered during execution of the
+     operation. The details array contains the list of them.
+    :vartype error: ~azure.mgmt.compute.v2020_06_01.models.ApiError
+    """
+
+    _validation = {
+        'status': {'readonly': True},
+        'assessment_activity_id': {'readonly': True},
+        'reboot_pending': {'readonly': True},
+        'critical_and_security_patch_count': {'readonly': True},
+        'other_patch_count': {'readonly': True},
+        'start_time': {'readonly': True},
+        'last_modified_time': {'readonly': True},
+        'error': {'readonly': True},
+    }
+
+    _attribute_map = {
+        'status': {'key': 'status', 'type': 'str'},
+        'assessment_activity_id': {'key': 'assessmentActivityId', 'type': 'str'},
+        'reboot_pending': {'key': 'rebootPending', 'type': 'bool'},
+        'critical_and_security_patch_count': {'key': 'criticalAndSecurityPatchCount', 'type': 'int'},
+        'other_patch_count': {'key': 'otherPatchCount', 'type': 'int'},
+        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
+        'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'},
+        'error': {'key': 'error', 'type': 'ApiError'},
+    }
+
+    def __init__(self, **kwargs) -> None:
+        super(AvailablePatchSummary, self).__init__(**kwargs)
+        self.status = None
+        self.assessment_activity_id = None
+        self.reboot_pending = None
+        self.critical_and_security_patch_count = None
+        self.other_patch_count = None
+        self.start_time = None
+        self.last_modified_time = None
+        self.error = None
+
+
 class BillingProfile(Model):
     """Specifies the billing related details of a Azure Spot VM or VMSS.
     <br><br>Minimum api-version: 2019-03-01.
@@ -1875,6 +1946,110 @@ def __init__(self, *, secret_url: str, source_vault, **kwargs) -> None:
         self.source_vault = source_vault
 
 
+class LastPatchInstallationSummary(Model):
+    """Describes the properties of the last installed patch summary.
+
+    Variables are only populated by the server, and will be ignored when
+    sending a request.
+
+    :ivar status: The overall success or failure status of the operation. It
+     remains "InProgress" until the operation completes. At that point it will
+     become "Failed", "Succeeded", or "CompletedWithWarnings.". Possible values
+     include: 'InProgress', 'Failed', 'Succeeded', 'CompletedWithWarnings'
+    :vartype status: str or
+     ~azure.mgmt.compute.v2020_06_01.models.PatchOperationStatus
+    :ivar installation_activity_id: The activity ID of the operation that
+     produced this result. It is used to correlate across CRP and extension
+     logs.
+    :vartype installation_activity_id: str
+    :ivar maintenance_window_exceeded: Describes whether the operation ran out
+     of time before it completed all its intended actions
+    :vartype maintenance_window_exceeded: bool
+    :ivar reboot_status: The reboot status of the machine after the patch
+     operation. It will be in "NotNeeded" status if reboot is not needed after
+     the patch operation. "Required" will be the status once the patch is
+     applied and machine is required to reboot. "Started" will be the reboot
+     status when the machine has started to reboot. "Failed" will be the status
+     if the machine is failed to reboot. "Completed" will be the status once
+     the machine is rebooted successfully. Possible values include:
+     'NotNeeded', 'Required', 'Started', 'Failed', 'Completed'
+    :vartype reboot_status: str or
+     ~azure.mgmt.compute.v2020_06_01.models.RebootStatus
+    :ivar not_selected_patch_count: The number of all available patches but
+     not going to be installed because it didn't match a classification or
+     inclusion list entry.
+    :vartype not_selected_patch_count: int
+    :ivar excluded_patch_count: The number of all available patches but
+     excluded explicitly by a customer-specified exclusion list match.
+    :vartype excluded_patch_count: int
+    :ivar pending_patch_count: The number of all available patches expected to
+     be installed over the course of the patch installation operation.
+    :vartype pending_patch_count: int
+    :ivar installed_patch_count: The count of patches that successfully
+     installed.
+    :vartype installed_patch_count: int
+    :ivar failed_patch_count: The count of patches that failed installation.
+    :vartype failed_patch_count: int
+    :ivar start_time: The UTC timestamp when the operation began.
+    :vartype start_time: datetime
+    :ivar last_modified_time: The UTC timestamp when the operation began.
+    :vartype last_modified_time: datetime
+    :ivar started_by: The person or system account that started the operation
+    :vartype started_by: str
+    :ivar error: The errors that were encountered during execution of the
+     operation. The details array contains the list of them.
+    :vartype error: ~azure.mgmt.compute.v2020_06_01.models.ApiError
+    """
+
+    _validation = {
+        'status': {'readonly': True},
+        'installation_activity_id': {'readonly': True},
+        'maintenance_window_exceeded': {'readonly': True},
+        'reboot_status': {'readonly': True},
+        'not_selected_patch_count': {'readonly': True},
+        'excluded_patch_count': {'readonly': True},
+        'pending_patch_count': {'readonly': True},
+        'installed_patch_count': {'readonly': True},
+        'failed_patch_count': {'readonly': True},
+        'start_time': {'readonly': True},
+        'last_modified_time': {'readonly': True},
+        'started_by': {'readonly': True},
+        'error': {'readonly': True},
+    }
+
+    _attribute_map = {
+        'status': {'key': 'status', 'type': 'str'},
+        'installation_activity_id': {'key': 'installationActivityId', 'type': 'str'},
+        'maintenance_window_exceeded': {'key': 'maintenanceWindowExceeded', 'type': 'bool'},
+        'reboot_status': {'key': 'rebootStatus', 'type': 'str'},
+        'not_selected_patch_count': {'key': 'notSelectedPatchCount', 'type': 'int'},
+        'excluded_patch_count': {'key': 'excludedPatchCount', 'type': 'int'},
+        'pending_patch_count': {'key': 'pendingPatchCount', 'type': 'int'},
+        'installed_patch_count': {'key': 'installedPatchCount', 'type': 'int'},
+        'failed_patch_count': {'key': 'failedPatchCount', 'type': 'int'},
+        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
+        'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'},
+        'started_by': {'key': 'startedBy', 'type': 'str'},
+        'error': {'key': 'error', 'type': 'ApiError'},
+    }
+
+    def __init__(self, **kwargs) -> None:
+        super(LastPatchInstallationSummary, self).__init__(**kwargs)
+        self.status = None
+        self.installation_activity_id = None
+        self.maintenance_window_exceeded = None
+        self.reboot_status = None
+        self.not_selected_patch_count = None
+        self.excluded_patch_count = None
+        self.pending_patch_count = None
+        self.installed_patch_count = None
+        self.failed_patch_count = None
+        self.start_time = None
+        self.last_modified_time = None
+        self.started_by = None
+        self.error = None
+
+
 class LinuxConfiguration(Model):
     """Specifies the Linux operating system settings on the virtual machine.
     <br><br>For a list of supported Linux distributions, see [Linux on
@@ -2419,7 +2594,7 @@ class PatchSettings(Model):
      automatically be updated by the OS. The property
      WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **
      AutomaticByPlatform** - the virtual machine will automatically updated by
-     the OS. The properties provisionVMAgent and
+     the platform. The properties provisionVMAgent and
      WindowsConfiguration.enableAutomaticUpdates must be true. Possible values
      include: 'Manual', 'AutomaticByOS', 'AutomaticByPlatform'
     :type patch_mode: str or
@@ -4254,6 +4429,10 @@ class VirtualMachineExtension(Resource):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -4287,19 +4466,21 @@ class VirtualMachineExtension(Resource):
         'virtual_machine_extension_type': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
         'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
         'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineExtensionInstanceView'},
     }
 
-    def __init__(self, *, location: str, tags=None, force_update_tag: str=None, publisher: str=None, virtual_machine_extension_type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, instance_view=None, **kwargs) -> None:
+    def __init__(self, *, location: str, tags=None, force_update_tag: str=None, publisher: str=None, virtual_machine_extension_type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, enable_automatic_upgrade: bool=None, settings=None, protected_settings=None, instance_view=None, **kwargs) -> None:
         super(VirtualMachineExtension, self).__init__(location=location, tags=tags, **kwargs)
         self.force_update_tag = force_update_tag
         self.publisher = publisher
         self.virtual_machine_extension_type = virtual_machine_extension_type
         self.type_handler_version = type_handler_version
         self.auto_upgrade_minor_version = auto_upgrade_minor_version
+        self.enable_automatic_upgrade = enable_automatic_upgrade
         self.settings = settings
         self.protected_settings = protected_settings
         self.provisioning_state = None
@@ -4472,6 +4653,10 @@ class VirtualMachineExtensionUpdate(UpdateResource):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -4487,17 +4672,19 @@ class VirtualMachineExtensionUpdate(UpdateResource):
         'type': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
     }
 
-    def __init__(self, *, tags=None, force_update_tag: str=None, publisher: str=None, type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, **kwargs) -> None:
+    def __init__(self, *, tags=None, force_update_tag: str=None, publisher: str=None, type: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, enable_automatic_upgrade: bool=None, settings=None, protected_settings=None, **kwargs) -> None:
         super(VirtualMachineExtensionUpdate, self).__init__(tags=tags, **kwargs)
         self.force_update_tag = force_update_tag
         self.publisher = publisher
         self.type = type
         self.type_handler_version = type_handler_version
         self.auto_upgrade_minor_version = auto_upgrade_minor_version
+        self.enable_automatic_upgrade = enable_automatic_upgrade
         self.settings = settings
         self.protected_settings = protected_settings
 
@@ -4737,6 +4924,9 @@ class VirtualMachineInstanceView(Model):
     :param extensions: The extensions information.
     :type extensions:
      list[~azure.mgmt.compute.v2020_06_01.models.VirtualMachineExtensionInstanceView]
+    :ivar vm_health: The health status for the VM.
+    :vartype vm_health:
+     ~azure.mgmt.compute.v2020_06_01.models.VirtualMachineHealthStatus
     :param boot_diagnostics: Boot Diagnostics is a debugging feature which
      allows you to view Console Output and Screenshot to diagnose VM status.
      <br><br> You can easily view the output of your console log. <br><br>
@@ -4751,9 +4941,13 @@ class VirtualMachineInstanceView(Model):
     :param statuses: The resource status information.
     :type statuses:
      list[~azure.mgmt.compute.v2020_06_01.models.InstanceViewStatus]
+    :param patch_status: The status of virtual machine patch operations.
+    :type patch_status:
+     ~azure.mgmt.compute.v2020_06_01.models.VirtualMachinePatchStatus
     """
 
     _validation = {
+        'vm_health': {'readonly': True},
         'assigned_host': {'readonly': True},
     }
 
@@ -4769,12 +4963,14 @@ class VirtualMachineInstanceView(Model):
         'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'},
         'disks': {'key': 'disks', 'type': '[DiskInstanceView]'},
         'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'},
+        'vm_health': {'key': 'vmHealth', 'type': 'VirtualMachineHealthStatus'},
         'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'},
         'assigned_host': {'key': 'assignedHost', 'type': 'str'},
         'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'},
+        'patch_status': {'key': 'patchStatus', 'type': 'VirtualMachinePatchStatus'},
     }
 
-    def __init__(self, *, platform_update_domain: int=None, platform_fault_domain: int=None, computer_name: str=None, os_name: str=None, os_version: str=None, hyper_vgeneration=None, rdp_thumb_print: str=None, vm_agent=None, maintenance_redeploy_status=None, disks=None, extensions=None, boot_diagnostics=None, statuses=None, **kwargs) -> None:
+    def __init__(self, *, platform_update_domain: int=None, platform_fault_domain: int=None, computer_name: str=None, os_name: str=None, os_version: str=None, hyper_vgeneration=None, rdp_thumb_print: str=None, vm_agent=None, maintenance_redeploy_status=None, disks=None, extensions=None, boot_diagnostics=None, statuses=None, patch_status=None, **kwargs) -> None:
         super(VirtualMachineInstanceView, self).__init__(**kwargs)
         self.platform_update_domain = platform_update_domain
         self.platform_fault_domain = platform_fault_domain
@@ -4787,9 +4983,35 @@ def __init__(self, *, platform_update_domain: int=None, platform_fault_domain: i
         self.maintenance_redeploy_status = maintenance_redeploy_status
         self.disks = disks
         self.extensions = extensions
+        self.vm_health = None
         self.boot_diagnostics = boot_diagnostics
         self.assigned_host = None
         self.statuses = statuses
+        self.patch_status = patch_status
+
+
+class VirtualMachinePatchStatus(Model):
+    """The status of virtual machine patch operations.
+
+    :param available_patch_summary: The available patch summary of the latest
+     assessment operation for the virtual machine.
+    :type available_patch_summary:
+     ~azure.mgmt.compute.v2020_06_01.models.AvailablePatchSummary
+    :param last_patch_installation_summary: The installation summary of the
+     latest installation operation for the virtual machine.
+    :type last_patch_installation_summary:
+     ~azure.mgmt.compute.v2020_06_01.models.LastPatchInstallationSummary
+    """
+
+    _attribute_map = {
+        'available_patch_summary': {'key': 'availablePatchSummary', 'type': 'AvailablePatchSummary'},
+        'last_patch_installation_summary': {'key': 'lastPatchInstallationSummary', 'type': 'LastPatchInstallationSummary'},
+    }
+
+    def __init__(self, *, available_patch_summary=None, last_patch_installation_summary=None, **kwargs) -> None:
+        super(VirtualMachinePatchStatus, self).__init__(**kwargs)
+        self.available_patch_summary = available_patch_summary
+        self.last_patch_installation_summary = last_patch_installation_summary
 
 
 class VirtualMachineReimageParameters(Model):
@@ -5057,6 +5279,10 @@ class VirtualMachineScaleSetExtension(SubResourceReadOnly):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -5086,13 +5312,14 @@ class VirtualMachineScaleSetExtension(SubResourceReadOnly):
         'type1': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
         'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
         'provision_after_extensions': {'key': 'properties.provisionAfterExtensions', 'type': '[str]'},
     }
 
-    def __init__(self, *, name: str=None, force_update_tag: str=None, publisher: str=None, type1: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, provision_after_extensions=None, **kwargs) -> None:
+    def __init__(self, *, name: str=None, force_update_tag: str=None, publisher: str=None, type1: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, enable_automatic_upgrade: bool=None, settings=None, protected_settings=None, provision_after_extensions=None, **kwargs) -> None:
         super(VirtualMachineScaleSetExtension, self).__init__(**kwargs)
         self.name = name
         self.type = None
@@ -5101,6 +5328,7 @@ def __init__(self, *, name: str=None, force_update_tag: str=None, publisher: str
         self.type1 = type1
         self.type_handler_version = type_handler_version
         self.auto_upgrade_minor_version = auto_upgrade_minor_version
+        self.enable_automatic_upgrade = enable_automatic_upgrade
         self.settings = settings
         self.protected_settings = protected_settings
         self.provisioning_state = None
@@ -5161,6 +5389,10 @@ class VirtualMachineScaleSetExtensionUpdate(SubResourceReadOnly):
      deployed, however, the extension will not upgrade minor versions unless
      redeployed, even with this property set to true.
     :type auto_upgrade_minor_version: bool
+    :param enable_automatic_upgrade: Indicates whether the extension should be
+     automatically upgraded by the platform if there is a newer version of the
+     extension available.
+    :type enable_automatic_upgrade: bool
     :param settings: Json formatted public settings for the extension.
     :type settings: object
     :param protected_settings: The extension can contain either
@@ -5191,13 +5423,14 @@ class VirtualMachineScaleSetExtensionUpdate(SubResourceReadOnly):
         'type1': {'key': 'properties.type', 'type': 'str'},
         'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'},
         'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'},
+        'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'},
         'settings': {'key': 'properties.settings', 'type': 'object'},
         'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'},
         'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
         'provision_after_extensions': {'key': 'properties.provisionAfterExtensions', 'type': '[str]'},
     }
 
-    def __init__(self, *, force_update_tag: str=None, publisher: str=None, type1: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, settings=None, protected_settings=None, provision_after_extensions=None, **kwargs) -> None:
+    def __init__(self, *, force_update_tag: str=None, publisher: str=None, type1: str=None, type_handler_version: str=None, auto_upgrade_minor_version: bool=None, enable_automatic_upgrade: bool=None, settings=None, protected_settings=None, provision_after_extensions=None, **kwargs) -> None:
         super(VirtualMachineScaleSetExtensionUpdate, self).__init__(**kwargs)
         self.name = None
         self.type = None
@@ -5206,6 +5439,7 @@ def __init__(self, *, force_update_tag: str=None, publisher: str=None, type1: st
         self.type1 = type1
         self.type_handler_version = type_handler_version
         self.auto_upgrade_minor_version = auto_upgrade_minor_version
+        self.enable_automatic_upgrade = enable_automatic_upgrade
         self.settings = settings
         self.protected_settings = protected_settings
         self.provisioning_state = None
diff --git a/sdk/compute/azure-mgmt-compute/setup.py b/sdk/compute/azure-mgmt-compute/setup.py
index cfcaa1edbaea..9c66a4d27b46 100644
--- a/sdk/compute/azure-mgmt-compute/setup.py
+++ b/sdk/compute/azure-mgmt-compute/setup.py
@@ -36,7 +36,7 @@
     pass
 
 # Version extraction inspired from 'requests'
-with open(os.path.join(package_folder_path, 'version.py')
+with open(os.path.join(package_folder_path, 'version.py') 
           if os.path.exists(os.path.join(package_folder_path, 'version.py'))
           else os.path.join(package_folder_path, '_version.py'), 'r') as fd:
     version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]',