@azure/arm-compute 24.0.0 → 24.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/api/availabilitySets/operations.d.ts +0 -5
- package/dist/browser/api/availabilitySets/operations.js +51 -34
- package/dist/browser/api/availabilitySets/operations.js.map +1 -1
- package/dist/browser/api/capacityReservationGroups/operations.d.ts +0 -5
- package/dist/browser/api/capacityReservationGroups/operations.js +26 -19
- package/dist/browser/api/capacityReservationGroups/operations.js.map +1 -1
- package/dist/browser/api/capacityReservations/operations.d.ts +0 -5
- package/dist/browser/api/capacityReservations/operations.js +24 -19
- package/dist/browser/api/capacityReservations/operations.js.map +1 -1
- package/dist/browser/api/communityGalleries/operations.js +3 -1
- package/dist/browser/api/communityGalleries/operations.js.map +1 -1
- package/dist/browser/api/communityGalleryImageVersions/operations.js +6 -2
- package/dist/browser/api/communityGalleryImageVersions/operations.js.map +1 -1
- package/dist/browser/api/communityGalleryImages/operations.js +6 -2
- package/dist/browser/api/communityGalleryImages/operations.js.map +1 -1
- package/dist/browser/api/computeManagementContext.js +4 -2
- package/dist/browser/api/computeManagementContext.js.map +1 -1
- package/dist/browser/api/dedicatedHostGroups/operations.d.ts +0 -5
- package/dist/browser/api/dedicatedHostGroups/operations.js +26 -19
- package/dist/browser/api/dedicatedHostGroups/operations.js.map +1 -1
- package/dist/browser/api/dedicatedHosts/operations.d.ts +0 -5
- package/dist/browser/api/dedicatedHosts/operations.js +39 -28
- package/dist/browser/api/dedicatedHosts/operations.js.map +1 -1
- package/dist/browser/api/diskAccesses/operations.d.ts +0 -5
- package/dist/browser/api/diskAccesses/operations.js +33 -16
- package/dist/browser/api/diskAccesses/operations.js.map +1 -1
- package/dist/browser/api/diskEncryptionSets/operations.d.ts +0 -5
- package/dist/browser/api/diskEncryptionSets/operations.js +21 -12
- package/dist/browser/api/diskEncryptionSets/operations.js.map +1 -1
- package/dist/browser/api/diskRestorePoint/operations.js +14 -6
- package/dist/browser/api/diskRestorePoint/operations.js.map +1 -1
- package/dist/browser/api/disks/operations.d.ts +0 -5
- package/dist/browser/api/disks/operations.js +26 -15
- package/dist/browser/api/disks/operations.js.map +1 -1
- package/dist/browser/api/galleries/operations.d.ts +0 -5
- package/dist/browser/api/galleries/operations.js +18 -11
- package/dist/browser/api/galleries/operations.js.map +1 -1
- package/dist/browser/api/galleryApplicationVersions/operations.d.ts +0 -5
- package/dist/browser/api/galleryApplicationVersions/operations.js +15 -10
- package/dist/browser/api/galleryApplicationVersions/operations.js.map +1 -1
- package/dist/browser/api/galleryApplications/operations.d.ts +0 -5
- package/dist/browser/api/galleryApplications/operations.js +15 -10
- package/dist/browser/api/galleryApplications/operations.js.map +1 -1
- package/dist/browser/api/galleryImageVersions/operations.d.ts +0 -5
- package/dist/browser/api/galleryImageVersions/operations.js +15 -10
- package/dist/browser/api/galleryImageVersions/operations.js.map +1 -1
- package/dist/browser/api/galleryImages/operations.d.ts +0 -5
- package/dist/browser/api/galleryImages/operations.js +15 -10
- package/dist/browser/api/galleryImages/operations.js.map +1 -1
- package/dist/browser/api/galleryInVMAccessControlProfileVersions/operations.d.ts +0 -5
- package/dist/browser/api/galleryInVMAccessControlProfileVersions/operations.js +15 -10
- package/dist/browser/api/galleryInVMAccessControlProfileVersions/operations.js.map +1 -1
- package/dist/browser/api/galleryInVMAccessControlProfiles/operations.d.ts +0 -5
- package/dist/browser/api/galleryInVMAccessControlProfiles/operations.js +15 -10
- package/dist/browser/api/galleryInVMAccessControlProfiles/operations.js.map +1 -1
- package/dist/browser/api/galleryScriptVersions/operations.d.ts +0 -5
- package/dist/browser/api/galleryScriptVersions/operations.js +15 -10
- package/dist/browser/api/galleryScriptVersions/operations.js.map +1 -1
- package/dist/browser/api/galleryScripts/operations.d.ts +0 -5
- package/dist/browser/api/galleryScripts/operations.js +15 -10
- package/dist/browser/api/galleryScripts/operations.js.map +1 -1
- package/dist/browser/api/gallerySharingProfile/operations.js +3 -1
- package/dist/browser/api/gallerySharingProfile/operations.js.map +1 -1
- package/dist/browser/api/images/operations.d.ts +0 -5
- package/dist/browser/api/images/operations.js +29 -22
- package/dist/browser/api/images/operations.js.map +1 -1
- package/dist/browser/api/interconnectBlocks/index.d.ts +3 -0
- package/dist/browser/api/interconnectBlocks/index.js.map +1 -0
- package/dist/browser/api/interconnectBlocks/operations.d.ts +31 -0
- package/dist/{react-native/api/images → browser/api/interconnectBlocks}/operations.js +70 -63
- package/dist/browser/api/interconnectBlocks/operations.js.map +1 -0
- package/dist/browser/api/interconnectBlocks/options.d.ts +29 -0
- package/dist/browser/api/interconnectBlocks/options.js.map +1 -0
- package/dist/browser/api/logAnalytics/operations.js +14 -10
- package/dist/browser/api/logAnalytics/operations.js.map +1 -1
- package/dist/browser/api/operations/operations.js +5 -3
- package/dist/browser/api/operations/operations.js.map +1 -1
- package/dist/browser/api/proximityPlacementGroups/operations.d.ts +0 -5
- package/dist/browser/api/proximityPlacementGroups/operations.js +26 -19
- package/dist/browser/api/proximityPlacementGroups/operations.js.map +1 -1
- package/dist/browser/api/resourceSkus/operations.js +3 -1
- package/dist/browser/api/resourceSkus/operations.js.map +1 -1
- package/dist/browser/api/restorePointCollections/operations.d.ts +0 -5
- package/dist/browser/api/restorePointCollections/operations.js +27 -20
- package/dist/browser/api/restorePointCollections/operations.js.map +1 -1
- package/dist/browser/api/restorePoints/operations.d.ts +0 -5
- package/dist/browser/api/restorePoints/operations.js +14 -13
- package/dist/browser/api/restorePoints/operations.js.map +1 -1
- package/dist/browser/api/sharedGalleries/operations.js +6 -2
- package/dist/browser/api/sharedGalleries/operations.js.map +1 -1
- package/dist/browser/api/sharedGalleryImageVersions/operations.js +6 -2
- package/dist/browser/api/sharedGalleryImageVersions/operations.js.map +1 -1
- package/dist/browser/api/sharedGalleryImages/operations.js +6 -2
- package/dist/browser/api/sharedGalleryImages/operations.js.map +1 -1
- package/dist/browser/api/snapshots/operations.d.ts +0 -5
- package/dist/browser/api/snapshots/operations.js +26 -15
- package/dist/browser/api/snapshots/operations.js.map +1 -1
- package/dist/browser/api/softDeletedResource/operations.js +3 -1
- package/dist/browser/api/softDeletedResource/operations.js.map +1 -1
- package/dist/browser/api/sshPublicKeys/operations.d.ts +0 -5
- package/dist/browser/api/sshPublicKeys/operations.js +33 -24
- package/dist/browser/api/sshPublicKeys/operations.js.map +1 -1
- package/dist/browser/api/usage/operations.js +5 -3
- package/dist/browser/api/usage/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineExtensionImages/operations.js +12 -6
- package/dist/browser/api/virtualMachineExtensionImages/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineExtensions/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachineExtensions/operations.js +23 -18
- package/dist/browser/api/virtualMachineExtensions/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineImages/operations.js +28 -14
- package/dist/browser/api/virtualMachineImages/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineImagesEdgeZone/operations.js +20 -10
- package/dist/browser/api/virtualMachineImagesEdgeZone/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineRunCommands/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachineRunCommands/operations.js +33 -24
- package/dist/browser/api/virtualMachineRunCommands/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineScaleSetExtensions/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachineScaleSetExtensions/operations.js +24 -19
- package/dist/browser/api/virtualMachineScaleSetExtensions/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js +13 -7
- package/dist/browser/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineScaleSetRollingUpgrades/operations.js +19 -11
- package/dist/browser/api/virtualMachineScaleSetRollingUpgrades/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineScaleSetVMExtensions/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachineScaleSetVMExtensions/operations.js +23 -18
- package/dist/browser/api/virtualMachineScaleSetVMExtensions/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineScaleSetVMRunCommands/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachineScaleSetVMRunCommands/operations.js +24 -19
- package/dist/browser/api/virtualMachineScaleSetVMRunCommands/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineScaleSetVMs/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachineScaleSetVMs/operations.js +93 -62
- package/dist/browser/api/virtualMachineScaleSetVMs/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineScaleSets/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachineScaleSets/operations.js +153 -106
- package/dist/browser/api/virtualMachineScaleSets/operations.js.map +1 -1
- package/dist/browser/api/virtualMachineSizes/operations.js +5 -3
- package/dist/browser/api/virtualMachineSizes/operations.js.map +1 -1
- package/dist/browser/api/virtualMachines/operations.d.ts +0 -5
- package/dist/browser/api/virtualMachines/operations.js +146 -97
- package/dist/browser/api/virtualMachines/operations.js.map +1 -1
- package/dist/browser/classic/availabilitySets/index.d.ts +0 -5
- package/dist/browser/classic/availabilitySets/index.js.map +1 -1
- package/dist/browser/classic/capacityReservationGroups/index.d.ts +0 -5
- package/dist/browser/classic/capacityReservationGroups/index.js.map +1 -1
- package/dist/browser/classic/capacityReservations/index.d.ts +0 -5
- package/dist/browser/classic/capacityReservations/index.js.map +1 -1
- package/dist/browser/classic/dedicatedHostGroups/index.d.ts +0 -5
- package/dist/browser/classic/dedicatedHostGroups/index.js.map +1 -1
- package/dist/browser/classic/dedicatedHosts/index.d.ts +0 -5
- package/dist/browser/classic/dedicatedHosts/index.js.map +1 -1
- package/dist/browser/classic/diskAccesses/index.d.ts +0 -5
- package/dist/browser/classic/diskAccesses/index.js.map +1 -1
- package/dist/browser/classic/diskEncryptionSets/index.d.ts +0 -5
- package/dist/browser/classic/diskEncryptionSets/index.js.map +1 -1
- package/dist/browser/classic/disks/index.d.ts +0 -5
- package/dist/browser/classic/disks/index.js.map +1 -1
- package/dist/browser/classic/galleries/index.d.ts +0 -5
- package/dist/browser/classic/galleries/index.js.map +1 -1
- package/dist/browser/classic/galleryApplicationVersions/index.d.ts +0 -5
- package/dist/browser/classic/galleryApplicationVersions/index.js.map +1 -1
- package/dist/browser/classic/galleryApplications/index.d.ts +0 -5
- package/dist/browser/classic/galleryApplications/index.js.map +1 -1
- package/dist/browser/classic/galleryImageVersions/index.d.ts +0 -5
- package/dist/browser/classic/galleryImageVersions/index.js.map +1 -1
- package/dist/browser/classic/galleryImages/index.d.ts +0 -5
- package/dist/browser/classic/galleryImages/index.js.map +1 -1
- package/dist/browser/classic/galleryInVMAccessControlProfileVersions/index.d.ts +0 -5
- package/dist/browser/classic/galleryInVMAccessControlProfileVersions/index.js.map +1 -1
- package/dist/browser/classic/galleryInVMAccessControlProfiles/index.d.ts +0 -5
- package/dist/browser/classic/galleryInVMAccessControlProfiles/index.js.map +1 -1
- package/dist/browser/classic/galleryScriptVersions/index.d.ts +0 -5
- package/dist/browser/classic/galleryScriptVersions/index.js.map +1 -1
- package/dist/browser/classic/galleryScripts/index.d.ts +0 -5
- package/dist/browser/classic/galleryScripts/index.js.map +1 -1
- package/dist/browser/classic/images/index.d.ts +0 -5
- package/dist/browser/classic/images/index.js.map +1 -1
- package/dist/browser/classic/index.d.ts +1 -0
- package/dist/browser/classic/index.js.map +1 -1
- package/dist/browser/classic/interconnectBlocks/index.d.ts +35 -0
- package/dist/browser/classic/interconnectBlocks/index.js +44 -0
- package/dist/browser/classic/interconnectBlocks/index.js.map +1 -0
- package/dist/browser/classic/proximityPlacementGroups/index.d.ts +0 -5
- package/dist/browser/classic/proximityPlacementGroups/index.js.map +1 -1
- package/dist/browser/classic/restorePointCollections/index.d.ts +0 -5
- package/dist/browser/classic/restorePointCollections/index.js.map +1 -1
- package/dist/browser/classic/restorePoints/index.d.ts +0 -5
- package/dist/browser/classic/restorePoints/index.js.map +1 -1
- package/dist/browser/classic/snapshots/index.d.ts +0 -5
- package/dist/browser/classic/snapshots/index.js.map +1 -1
- package/dist/browser/classic/sshPublicKeys/index.d.ts +0 -5
- package/dist/browser/classic/sshPublicKeys/index.js.map +1 -1
- package/dist/browser/classic/virtualMachineExtensions/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachineExtensions/index.js.map +1 -1
- package/dist/browser/classic/virtualMachineRunCommands/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachineRunCommands/index.js.map +1 -1
- package/dist/browser/classic/virtualMachineScaleSetExtensions/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachineScaleSetExtensions/index.js.map +1 -1
- package/dist/browser/classic/virtualMachineScaleSetVMExtensions/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachineScaleSetVMExtensions/index.js.map +1 -1
- package/dist/browser/classic/virtualMachineScaleSetVMRunCommands/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachineScaleSetVMRunCommands/index.js.map +1 -1
- package/dist/browser/classic/virtualMachineScaleSetVMs/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachineScaleSetVMs/index.js.map +1 -1
- package/dist/browser/classic/virtualMachineScaleSets/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachineScaleSets/index.js.map +1 -1
- package/dist/browser/classic/virtualMachines/index.d.ts +0 -5
- package/dist/browser/classic/virtualMachines/index.js.map +1 -1
- package/dist/browser/computeManagementClient.d.ts +3 -0
- package/dist/browser/computeManagementClient.js +4 -0
- package/dist/browser/computeManagementClient.js.map +1 -1
- package/dist/browser/index.d.ts +5 -3
- package/dist/browser/index.js +2 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/models/compute/index.d.ts +2 -2
- package/dist/browser/models/compute/index.js +1 -1
- package/dist/browser/models/compute/index.js.map +1 -1
- package/dist/browser/models/compute/models.d.ts +131 -2
- package/dist/browser/models/compute/models.js +218 -3
- package/dist/browser/models/compute/models.js.map +1 -1
- package/dist/browser/restorePollerHelpers.js +22 -12
- package/dist/browser/restorePollerHelpers.js.map +1 -1
- package/dist/browser/static-helpers/pagingHelpers.js +1 -1
- package/dist/browser/static-helpers/pagingHelpers.js.map +1 -1
- package/dist/browser/static-helpers/pollingHelpers.d.ts +1 -1
- package/dist/browser/static-helpers/pollingHelpers.js +1 -1
- package/dist/browser/static-helpers/pollingHelpers.js.map +1 -1
- package/dist/browser/static-helpers/simplePollerHelpers.d.ts +1 -1
- package/dist/browser/static-helpers/simplePollerHelpers.js.map +1 -1
- package/dist/commonjs/api/availabilitySets/operations.d.ts +0 -5
- package/dist/commonjs/api/availabilitySets/operations.js +49 -27
- package/dist/commonjs/api/availabilitySets/operations.js.map +2 -2
- package/dist/commonjs/api/capacityReservationGroups/operations.d.ts +0 -5
- package/dist/commonjs/api/capacityReservationGroups/operations.js +26 -14
- package/dist/commonjs/api/capacityReservationGroups/operations.js.map +2 -2
- package/dist/commonjs/api/capacityReservations/operations.d.ts +0 -5
- package/dist/commonjs/api/capacityReservations/operations.js +24 -14
- package/dist/commonjs/api/capacityReservations/operations.js.map +2 -2
- package/dist/commonjs/api/communityGalleries/operations.js +3 -1
- package/dist/commonjs/api/communityGalleries/operations.js.map +2 -2
- package/dist/commonjs/api/communityGalleryImageVersions/operations.js +6 -2
- package/dist/commonjs/api/communityGalleryImageVersions/operations.js.map +2 -2
- package/dist/commonjs/api/communityGalleryImages/operations.js +6 -2
- package/dist/commonjs/api/communityGalleryImages/operations.js.map +2 -2
- package/dist/commonjs/api/computeManagementContext.js +4 -2
- package/dist/commonjs/api/computeManagementContext.js.map +2 -2
- package/dist/commonjs/api/dedicatedHostGroups/operations.d.ts +0 -5
- package/dist/commonjs/api/dedicatedHostGroups/operations.js +26 -14
- package/dist/commonjs/api/dedicatedHostGroups/operations.js.map +2 -2
- package/dist/commonjs/api/dedicatedHosts/operations.d.ts +0 -5
- package/dist/commonjs/api/dedicatedHosts/operations.js +39 -23
- package/dist/commonjs/api/dedicatedHosts/operations.js.map +2 -2
- package/dist/commonjs/api/diskAccesses/operations.d.ts +0 -5
- package/dist/commonjs/api/diskAccesses/operations.js +33 -11
- package/dist/commonjs/api/diskAccesses/operations.js.map +2 -2
- package/dist/commonjs/api/diskEncryptionSets/operations.d.ts +0 -5
- package/dist/commonjs/api/diskEncryptionSets/operations.js +21 -7
- package/dist/commonjs/api/diskEncryptionSets/operations.js.map +2 -2
- package/dist/commonjs/api/diskRestorePoint/operations.js +14 -6
- package/dist/commonjs/api/diskRestorePoint/operations.js.map +2 -2
- package/dist/commonjs/api/disks/operations.d.ts +0 -5
- package/dist/commonjs/api/disks/operations.js +26 -10
- package/dist/commonjs/api/disks/operations.js.map +2 -2
- package/dist/commonjs/api/galleries/operations.d.ts +0 -5
- package/dist/commonjs/api/galleries/operations.js +18 -6
- package/dist/commonjs/api/galleries/operations.js.map +2 -2
- package/dist/commonjs/api/galleryApplicationVersions/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryApplicationVersions/operations.js +15 -5
- package/dist/commonjs/api/galleryApplicationVersions/operations.js.map +2 -2
- package/dist/commonjs/api/galleryApplications/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryApplications/operations.js +15 -5
- package/dist/commonjs/api/galleryApplications/operations.js.map +2 -2
- package/dist/commonjs/api/galleryImageVersions/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryImageVersions/operations.js +15 -5
- package/dist/commonjs/api/galleryImageVersions/operations.js.map +2 -2
- package/dist/commonjs/api/galleryImages/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryImages/operations.js +15 -5
- package/dist/commonjs/api/galleryImages/operations.js.map +2 -2
- package/dist/commonjs/api/galleryInVMAccessControlProfileVersions/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryInVMAccessControlProfileVersions/operations.js +15 -5
- package/dist/commonjs/api/galleryInVMAccessControlProfileVersions/operations.js.map +2 -2
- package/dist/commonjs/api/galleryInVMAccessControlProfiles/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryInVMAccessControlProfiles/operations.js +15 -5
- package/dist/commonjs/api/galleryInVMAccessControlProfiles/operations.js.map +2 -2
- package/dist/commonjs/api/galleryScriptVersions/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryScriptVersions/operations.js +15 -5
- package/dist/commonjs/api/galleryScriptVersions/operations.js.map +2 -2
- package/dist/commonjs/api/galleryScripts/operations.d.ts +0 -5
- package/dist/commonjs/api/galleryScripts/operations.js +15 -5
- package/dist/commonjs/api/galleryScripts/operations.js.map +2 -2
- package/dist/commonjs/api/gallerySharingProfile/operations.js +3 -1
- package/dist/commonjs/api/gallerySharingProfile/operations.js.map +2 -2
- package/dist/commonjs/api/images/operations.d.ts +0 -5
- package/dist/commonjs/api/images/operations.js +29 -17
- package/dist/commonjs/api/images/operations.js.map +2 -2
- package/dist/commonjs/api/interconnectBlocks/index.d.ts +3 -0
- package/dist/commonjs/api/interconnectBlocks/index.js +38 -0
- package/dist/commonjs/api/interconnectBlocks/index.js.map +7 -0
- package/dist/commonjs/api/interconnectBlocks/operations.d.ts +31 -0
- package/dist/commonjs/api/interconnectBlocks/operations.js +289 -0
- package/dist/commonjs/api/interconnectBlocks/operations.js.map +7 -0
- package/dist/commonjs/api/interconnectBlocks/options.d.ts +29 -0
- package/dist/commonjs/api/interconnectBlocks/options.js +16 -0
- package/dist/commonjs/api/interconnectBlocks/options.js.map +7 -0
- package/dist/commonjs/api/logAnalytics/operations.js +14 -10
- package/dist/commonjs/api/logAnalytics/operations.js.map +2 -2
- package/dist/commonjs/api/operations/operations.js +5 -3
- package/dist/commonjs/api/operations/operations.js.map +2 -2
- package/dist/commonjs/api/proximityPlacementGroups/operations.d.ts +0 -5
- package/dist/commonjs/api/proximityPlacementGroups/operations.js +26 -14
- package/dist/commonjs/api/proximityPlacementGroups/operations.js.map +2 -2
- package/dist/commonjs/api/resourceSkus/operations.js +3 -1
- package/dist/commonjs/api/resourceSkus/operations.js.map +2 -2
- package/dist/commonjs/api/restorePointCollections/operations.d.ts +0 -5
- package/dist/commonjs/api/restorePointCollections/operations.js +27 -15
- package/dist/commonjs/api/restorePointCollections/operations.js.map +2 -2
- package/dist/commonjs/api/restorePoints/operations.d.ts +0 -5
- package/dist/commonjs/api/restorePoints/operations.js +14 -8
- package/dist/commonjs/api/restorePoints/operations.js.map +2 -2
- package/dist/commonjs/api/sharedGalleries/operations.js +6 -2
- package/dist/commonjs/api/sharedGalleries/operations.js.map +2 -2
- package/dist/commonjs/api/sharedGalleryImageVersions/operations.js +6 -2
- package/dist/commonjs/api/sharedGalleryImageVersions/operations.js.map +2 -2
- package/dist/commonjs/api/sharedGalleryImages/operations.js +6 -2
- package/dist/commonjs/api/sharedGalleryImages/operations.js.map +2 -2
- package/dist/commonjs/api/snapshots/operations.d.ts +0 -5
- package/dist/commonjs/api/snapshots/operations.js +26 -10
- package/dist/commonjs/api/snapshots/operations.js.map +2 -2
- package/dist/commonjs/api/softDeletedResource/operations.js +3 -1
- package/dist/commonjs/api/softDeletedResource/operations.js.map +2 -2
- package/dist/commonjs/api/sshPublicKeys/operations.d.ts +0 -5
- package/dist/commonjs/api/sshPublicKeys/operations.js +31 -17
- package/dist/commonjs/api/sshPublicKeys/operations.js.map +2 -2
- package/dist/commonjs/api/usage/operations.js +5 -3
- package/dist/commonjs/api/usage/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineExtensionImages/operations.js +12 -6
- package/dist/commonjs/api/virtualMachineExtensionImages/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineExtensions/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachineExtensions/operations.js +23 -13
- package/dist/commonjs/api/virtualMachineExtensions/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineImages/operations.js +28 -14
- package/dist/commonjs/api/virtualMachineImages/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineImagesEdgeZone/operations.js +20 -10
- package/dist/commonjs/api/virtualMachineImagesEdgeZone/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineRunCommands/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachineRunCommands/operations.js +33 -19
- package/dist/commonjs/api/virtualMachineRunCommands/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineScaleSetExtensions/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachineScaleSetExtensions/operations.js +24 -14
- package/dist/commonjs/api/virtualMachineScaleSetExtensions/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js +13 -7
- package/dist/commonjs/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineScaleSetRollingUpgrades/operations.js +19 -11
- package/dist/commonjs/api/virtualMachineScaleSetRollingUpgrades/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineScaleSetVMExtensions/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachineScaleSetVMExtensions/operations.js +23 -13
- package/dist/commonjs/api/virtualMachineScaleSetVMExtensions/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineScaleSetVMRunCommands/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachineScaleSetVMRunCommands/operations.js +24 -14
- package/dist/commonjs/api/virtualMachineScaleSetVMRunCommands/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineScaleSetVMs/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachineScaleSetVMs/operations.js +91 -55
- package/dist/commonjs/api/virtualMachineScaleSetVMs/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineScaleSets/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachineScaleSets/operations.js +135 -83
- package/dist/commonjs/api/virtualMachineScaleSets/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachineSizes/operations.js +5 -3
- package/dist/commonjs/api/virtualMachineSizes/operations.js.map +2 -2
- package/dist/commonjs/api/virtualMachines/operations.d.ts +0 -5
- package/dist/commonjs/api/virtualMachines/operations.js +142 -88
- package/dist/commonjs/api/virtualMachines/operations.js.map +2 -2
- package/dist/commonjs/classic/availabilitySets/index.d.ts +0 -5
- package/dist/commonjs/classic/availabilitySets/index.js.map +2 -2
- package/dist/commonjs/classic/capacityReservationGroups/index.d.ts +0 -5
- package/dist/commonjs/classic/capacityReservationGroups/index.js.map +2 -2
- package/dist/commonjs/classic/capacityReservations/index.d.ts +0 -5
- package/dist/commonjs/classic/capacityReservations/index.js.map +2 -2
- package/dist/commonjs/classic/dedicatedHostGroups/index.d.ts +0 -5
- package/dist/commonjs/classic/dedicatedHostGroups/index.js.map +2 -2
- package/dist/commonjs/classic/dedicatedHosts/index.d.ts +0 -5
- package/dist/commonjs/classic/dedicatedHosts/index.js.map +2 -2
- package/dist/commonjs/classic/diskAccesses/index.d.ts +0 -5
- package/dist/commonjs/classic/diskAccesses/index.js.map +2 -2
- package/dist/commonjs/classic/diskEncryptionSets/index.d.ts +0 -5
- package/dist/commonjs/classic/diskEncryptionSets/index.js.map +2 -2
- package/dist/commonjs/classic/disks/index.d.ts +0 -5
- package/dist/commonjs/classic/disks/index.js.map +2 -2
- package/dist/commonjs/classic/galleries/index.d.ts +0 -5
- package/dist/commonjs/classic/galleries/index.js.map +2 -2
- package/dist/commonjs/classic/galleryApplicationVersions/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryApplicationVersions/index.js.map +2 -2
- package/dist/commonjs/classic/galleryApplications/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryApplications/index.js.map +2 -2
- package/dist/commonjs/classic/galleryImageVersions/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryImageVersions/index.js.map +2 -2
- package/dist/commonjs/classic/galleryImages/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryImages/index.js.map +2 -2
- package/dist/commonjs/classic/galleryInVMAccessControlProfileVersions/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryInVMAccessControlProfileVersions/index.js.map +2 -2
- package/dist/commonjs/classic/galleryInVMAccessControlProfiles/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryInVMAccessControlProfiles/index.js.map +2 -2
- package/dist/commonjs/classic/galleryScriptVersions/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryScriptVersions/index.js.map +2 -2
- package/dist/commonjs/classic/galleryScripts/index.d.ts +0 -5
- package/dist/commonjs/classic/galleryScripts/index.js.map +2 -2
- package/dist/commonjs/classic/images/index.d.ts +0 -5
- package/dist/commonjs/classic/images/index.js.map +2 -2
- package/dist/commonjs/classic/index.d.ts +1 -0
- package/dist/commonjs/classic/index.js.map +1 -1
- package/dist/commonjs/classic/interconnectBlocks/index.d.ts +35 -0
- package/dist/commonjs/classic/interconnectBlocks/index.js +80 -0
- package/dist/commonjs/classic/interconnectBlocks/index.js.map +7 -0
- package/dist/commonjs/classic/proximityPlacementGroups/index.d.ts +0 -5
- package/dist/commonjs/classic/proximityPlacementGroups/index.js.map +2 -2
- package/dist/commonjs/classic/restorePointCollections/index.d.ts +0 -5
- package/dist/commonjs/classic/restorePointCollections/index.js.map +2 -2
- package/dist/commonjs/classic/restorePoints/index.d.ts +0 -5
- package/dist/commonjs/classic/restorePoints/index.js.map +2 -2
- package/dist/commonjs/classic/snapshots/index.d.ts +0 -5
- package/dist/commonjs/classic/snapshots/index.js.map +2 -2
- package/dist/commonjs/classic/sshPublicKeys/index.d.ts +0 -5
- package/dist/commonjs/classic/sshPublicKeys/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachineExtensions/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachineExtensions/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachineRunCommands/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachineRunCommands/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachineScaleSetExtensions/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachineScaleSetExtensions/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachineScaleSetVMExtensions/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachineScaleSetVMExtensions/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachineScaleSetVMRunCommands/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachineScaleSetVMRunCommands/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachineScaleSetVMs/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachineScaleSetVMs/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachineScaleSets/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachineScaleSets/index.js.map +2 -2
- package/dist/commonjs/classic/virtualMachines/index.d.ts +0 -5
- package/dist/commonjs/classic/virtualMachines/index.js.map +2 -2
- package/dist/commonjs/computeManagementClient.d.ts +3 -0
- package/dist/commonjs/computeManagementClient.js +4 -0
- package/dist/commonjs/computeManagementClient.js.map +2 -2
- package/dist/commonjs/index.d.ts +5 -3
- package/dist/commonjs/index.js +7 -0
- package/dist/commonjs/index.js.map +2 -2
- package/dist/commonjs/models/compute/index.d.ts +2 -2
- package/dist/commonjs/models/compute/index.js +2 -0
- package/dist/commonjs/models/compute/index.js.map +2 -2
- package/dist/commonjs/models/compute/models.d.ts +131 -2
- package/dist/commonjs/models/compute/models.js +188 -21
- package/dist/commonjs/models/compute/models.js.map +3 -3
- package/dist/commonjs/restorePollerHelpers.js +89 -79
- package/dist/commonjs/restorePollerHelpers.js.map +3 -3
- package/dist/commonjs/static-helpers/pagingHelpers.js +1 -1
- package/dist/commonjs/static-helpers/pagingHelpers.js.map +2 -2
- package/dist/commonjs/static-helpers/pollingHelpers.d.ts +1 -1
- package/dist/commonjs/static-helpers/pollingHelpers.js +1 -1
- package/dist/commonjs/static-helpers/pollingHelpers.js.map +2 -2
- package/dist/commonjs/static-helpers/simplePollerHelpers.d.ts +1 -1
- package/dist/commonjs/static-helpers/simplePollerHelpers.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/esm/api/availabilitySets/operations.d.ts +0 -5
- package/dist/esm/api/availabilitySets/operations.js +51 -34
- package/dist/esm/api/availabilitySets/operations.js.map +1 -1
- package/dist/esm/api/capacityReservationGroups/operations.d.ts +0 -5
- package/dist/esm/api/capacityReservationGroups/operations.js +26 -19
- package/dist/esm/api/capacityReservationGroups/operations.js.map +1 -1
- package/dist/esm/api/capacityReservations/operations.d.ts +0 -5
- package/dist/esm/api/capacityReservations/operations.js +24 -19
- package/dist/esm/api/capacityReservations/operations.js.map +1 -1
- package/dist/esm/api/communityGalleries/operations.js +3 -1
- package/dist/esm/api/communityGalleries/operations.js.map +1 -1
- package/dist/esm/api/communityGalleryImageVersions/operations.js +6 -2
- package/dist/esm/api/communityGalleryImageVersions/operations.js.map +1 -1
- package/dist/esm/api/communityGalleryImages/operations.js +6 -2
- package/dist/esm/api/communityGalleryImages/operations.js.map +1 -1
- package/dist/esm/api/computeManagementContext.js +4 -2
- package/dist/esm/api/computeManagementContext.js.map +1 -1
- package/dist/esm/api/dedicatedHostGroups/operations.d.ts +0 -5
- package/dist/esm/api/dedicatedHostGroups/operations.js +26 -19
- package/dist/esm/api/dedicatedHostGroups/operations.js.map +1 -1
- package/dist/esm/api/dedicatedHosts/operations.d.ts +0 -5
- package/dist/esm/api/dedicatedHosts/operations.js +39 -28
- package/dist/esm/api/dedicatedHosts/operations.js.map +1 -1
- package/dist/esm/api/diskAccesses/operations.d.ts +0 -5
- package/dist/esm/api/diskAccesses/operations.js +33 -16
- package/dist/esm/api/diskAccesses/operations.js.map +1 -1
- package/dist/esm/api/diskEncryptionSets/operations.d.ts +0 -5
- package/dist/esm/api/diskEncryptionSets/operations.js +21 -12
- package/dist/esm/api/diskEncryptionSets/operations.js.map +1 -1
- package/dist/esm/api/diskRestorePoint/operations.js +14 -6
- package/dist/esm/api/diskRestorePoint/operations.js.map +1 -1
- package/dist/esm/api/disks/operations.d.ts +0 -5
- package/dist/esm/api/disks/operations.js +26 -15
- package/dist/esm/api/disks/operations.js.map +1 -1
- package/dist/esm/api/galleries/operations.d.ts +0 -5
- package/dist/esm/api/galleries/operations.js +18 -11
- package/dist/esm/api/galleries/operations.js.map +1 -1
- package/dist/esm/api/galleryApplicationVersions/operations.d.ts +0 -5
- package/dist/esm/api/galleryApplicationVersions/operations.js +15 -10
- package/dist/esm/api/galleryApplicationVersions/operations.js.map +1 -1
- package/dist/esm/api/galleryApplications/operations.d.ts +0 -5
- package/dist/esm/api/galleryApplications/operations.js +15 -10
- package/dist/esm/api/galleryApplications/operations.js.map +1 -1
- package/dist/esm/api/galleryImageVersions/operations.d.ts +0 -5
- package/dist/esm/api/galleryImageVersions/operations.js +15 -10
- package/dist/esm/api/galleryImageVersions/operations.js.map +1 -1
- package/dist/esm/api/galleryImages/operations.d.ts +0 -5
- package/dist/esm/api/galleryImages/operations.js +15 -10
- package/dist/esm/api/galleryImages/operations.js.map +1 -1
- package/dist/esm/api/galleryInVMAccessControlProfileVersions/operations.d.ts +0 -5
- package/dist/esm/api/galleryInVMAccessControlProfileVersions/operations.js +15 -10
- package/dist/esm/api/galleryInVMAccessControlProfileVersions/operations.js.map +1 -1
- package/dist/esm/api/galleryInVMAccessControlProfiles/operations.d.ts +0 -5
- package/dist/esm/api/galleryInVMAccessControlProfiles/operations.js +15 -10
- package/dist/esm/api/galleryInVMAccessControlProfiles/operations.js.map +1 -1
- package/dist/esm/api/galleryScriptVersions/operations.d.ts +0 -5
- package/dist/esm/api/galleryScriptVersions/operations.js +15 -10
- package/dist/esm/api/galleryScriptVersions/operations.js.map +1 -1
- package/dist/esm/api/galleryScripts/operations.d.ts +0 -5
- package/dist/esm/api/galleryScripts/operations.js +15 -10
- package/dist/esm/api/galleryScripts/operations.js.map +1 -1
- package/dist/esm/api/gallerySharingProfile/operations.js +3 -1
- package/dist/esm/api/gallerySharingProfile/operations.js.map +1 -1
- package/dist/esm/api/images/operations.d.ts +0 -5
- package/dist/esm/api/images/operations.js +29 -22
- package/dist/esm/api/images/operations.js.map +1 -1
- package/dist/esm/api/interconnectBlocks/index.d.ts +3 -0
- package/dist/esm/api/interconnectBlocks/index.js.map +1 -0
- package/dist/esm/api/interconnectBlocks/operations.d.ts +31 -0
- package/dist/{react-native/api/galleries → esm/api/interconnectBlocks}/operations.js +70 -64
- package/dist/esm/api/interconnectBlocks/operations.js.map +1 -0
- package/dist/esm/api/interconnectBlocks/options.d.ts +29 -0
- package/dist/esm/api/interconnectBlocks/options.js.map +1 -0
- package/dist/esm/api/logAnalytics/operations.js +14 -10
- package/dist/esm/api/logAnalytics/operations.js.map +1 -1
- package/dist/esm/api/operations/operations.js +5 -3
- package/dist/esm/api/operations/operations.js.map +1 -1
- package/dist/esm/api/proximityPlacementGroups/operations.d.ts +0 -5
- package/dist/esm/api/proximityPlacementGroups/operations.js +26 -19
- package/dist/esm/api/proximityPlacementGroups/operations.js.map +1 -1
- package/dist/esm/api/resourceSkus/operations.js +3 -1
- package/dist/esm/api/resourceSkus/operations.js.map +1 -1
- package/dist/esm/api/restorePointCollections/operations.d.ts +0 -5
- package/dist/esm/api/restorePointCollections/operations.js +27 -20
- package/dist/esm/api/restorePointCollections/operations.js.map +1 -1
- package/dist/esm/api/restorePoints/operations.d.ts +0 -5
- package/dist/esm/api/restorePoints/operations.js +14 -13
- package/dist/esm/api/restorePoints/operations.js.map +1 -1
- package/dist/esm/api/sharedGalleries/operations.js +6 -2
- package/dist/esm/api/sharedGalleries/operations.js.map +1 -1
- package/dist/esm/api/sharedGalleryImageVersions/operations.js +6 -2
- package/dist/esm/api/sharedGalleryImageVersions/operations.js.map +1 -1
- package/dist/esm/api/sharedGalleryImages/operations.js +6 -2
- package/dist/esm/api/sharedGalleryImages/operations.js.map +1 -1
- package/dist/esm/api/snapshots/operations.d.ts +0 -5
- package/dist/esm/api/snapshots/operations.js +26 -15
- package/dist/esm/api/snapshots/operations.js.map +1 -1
- package/dist/esm/api/softDeletedResource/operations.js +3 -1
- package/dist/esm/api/softDeletedResource/operations.js.map +1 -1
- package/dist/esm/api/sshPublicKeys/operations.d.ts +0 -5
- package/dist/esm/api/sshPublicKeys/operations.js +33 -24
- package/dist/esm/api/sshPublicKeys/operations.js.map +1 -1
- package/dist/esm/api/usage/operations.js +5 -3
- package/dist/esm/api/usage/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineExtensionImages/operations.js +12 -6
- package/dist/esm/api/virtualMachineExtensionImages/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineExtensions/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachineExtensions/operations.js +23 -18
- package/dist/esm/api/virtualMachineExtensions/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineImages/operations.js +28 -14
- package/dist/esm/api/virtualMachineImages/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineImagesEdgeZone/operations.js +20 -10
- package/dist/esm/api/virtualMachineImagesEdgeZone/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineRunCommands/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachineRunCommands/operations.js +33 -24
- package/dist/esm/api/virtualMachineRunCommands/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineScaleSetExtensions/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachineScaleSetExtensions/operations.js +24 -19
- package/dist/esm/api/virtualMachineScaleSetExtensions/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js +13 -7
- package/dist/esm/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineScaleSetRollingUpgrades/operations.js +19 -11
- package/dist/esm/api/virtualMachineScaleSetRollingUpgrades/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineScaleSetVMExtensions/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachineScaleSetVMExtensions/operations.js +23 -18
- package/dist/esm/api/virtualMachineScaleSetVMExtensions/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineScaleSetVMRunCommands/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachineScaleSetVMRunCommands/operations.js +24 -19
- package/dist/esm/api/virtualMachineScaleSetVMRunCommands/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineScaleSetVMs/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachineScaleSetVMs/operations.js +93 -62
- package/dist/esm/api/virtualMachineScaleSetVMs/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineScaleSets/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachineScaleSets/operations.js +153 -106
- package/dist/esm/api/virtualMachineScaleSets/operations.js.map +1 -1
- package/dist/esm/api/virtualMachineSizes/operations.js +5 -3
- package/dist/esm/api/virtualMachineSizes/operations.js.map +1 -1
- package/dist/esm/api/virtualMachines/operations.d.ts +0 -5
- package/dist/esm/api/virtualMachines/operations.js +146 -97
- package/dist/esm/api/virtualMachines/operations.js.map +1 -1
- package/dist/esm/classic/availabilitySets/index.d.ts +0 -5
- package/dist/esm/classic/availabilitySets/index.js.map +1 -1
- package/dist/esm/classic/capacityReservationGroups/index.d.ts +0 -5
- package/dist/esm/classic/capacityReservationGroups/index.js.map +1 -1
- package/dist/esm/classic/capacityReservations/index.d.ts +0 -5
- package/dist/esm/classic/capacityReservations/index.js.map +1 -1
- package/dist/esm/classic/dedicatedHostGroups/index.d.ts +0 -5
- package/dist/esm/classic/dedicatedHostGroups/index.js.map +1 -1
- package/dist/esm/classic/dedicatedHosts/index.d.ts +0 -5
- package/dist/esm/classic/dedicatedHosts/index.js.map +1 -1
- package/dist/esm/classic/diskAccesses/index.d.ts +0 -5
- package/dist/esm/classic/diskAccesses/index.js.map +1 -1
- package/dist/esm/classic/diskEncryptionSets/index.d.ts +0 -5
- package/dist/esm/classic/diskEncryptionSets/index.js.map +1 -1
- package/dist/esm/classic/disks/index.d.ts +0 -5
- package/dist/esm/classic/disks/index.js.map +1 -1
- package/dist/esm/classic/galleries/index.d.ts +0 -5
- package/dist/esm/classic/galleries/index.js.map +1 -1
- package/dist/esm/classic/galleryApplicationVersions/index.d.ts +0 -5
- package/dist/esm/classic/galleryApplicationVersions/index.js.map +1 -1
- package/dist/esm/classic/galleryApplications/index.d.ts +0 -5
- package/dist/esm/classic/galleryApplications/index.js.map +1 -1
- package/dist/esm/classic/galleryImageVersions/index.d.ts +0 -5
- package/dist/esm/classic/galleryImageVersions/index.js.map +1 -1
- package/dist/esm/classic/galleryImages/index.d.ts +0 -5
- package/dist/esm/classic/galleryImages/index.js.map +1 -1
- package/dist/esm/classic/galleryInVMAccessControlProfileVersions/index.d.ts +0 -5
- package/dist/esm/classic/galleryInVMAccessControlProfileVersions/index.js.map +1 -1
- package/dist/esm/classic/galleryInVMAccessControlProfiles/index.d.ts +0 -5
- package/dist/esm/classic/galleryInVMAccessControlProfiles/index.js.map +1 -1
- package/dist/esm/classic/galleryScriptVersions/index.d.ts +0 -5
- package/dist/esm/classic/galleryScriptVersions/index.js.map +1 -1
- package/dist/esm/classic/galleryScripts/index.d.ts +0 -5
- package/dist/esm/classic/galleryScripts/index.js.map +1 -1
- package/dist/esm/classic/images/index.d.ts +0 -5
- package/dist/esm/classic/images/index.js.map +1 -1
- package/dist/esm/classic/index.d.ts +1 -0
- package/dist/esm/classic/index.js.map +1 -1
- package/dist/esm/classic/interconnectBlocks/index.d.ts +35 -0
- package/dist/esm/classic/interconnectBlocks/index.js +44 -0
- package/dist/esm/classic/interconnectBlocks/index.js.map +1 -0
- package/dist/esm/classic/proximityPlacementGroups/index.d.ts +0 -5
- package/dist/esm/classic/proximityPlacementGroups/index.js.map +1 -1
- package/dist/esm/classic/restorePointCollections/index.d.ts +0 -5
- package/dist/esm/classic/restorePointCollections/index.js.map +1 -1
- package/dist/esm/classic/restorePoints/index.d.ts +0 -5
- package/dist/esm/classic/restorePoints/index.js.map +1 -1
- package/dist/esm/classic/snapshots/index.d.ts +0 -5
- package/dist/esm/classic/snapshots/index.js.map +1 -1
- package/dist/esm/classic/sshPublicKeys/index.d.ts +0 -5
- package/dist/esm/classic/sshPublicKeys/index.js.map +1 -1
- package/dist/esm/classic/virtualMachineExtensions/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachineExtensions/index.js.map +1 -1
- package/dist/esm/classic/virtualMachineRunCommands/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachineRunCommands/index.js.map +1 -1
- package/dist/esm/classic/virtualMachineScaleSetExtensions/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachineScaleSetExtensions/index.js.map +1 -1
- package/dist/esm/classic/virtualMachineScaleSetVMExtensions/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachineScaleSetVMExtensions/index.js.map +1 -1
- package/dist/esm/classic/virtualMachineScaleSetVMRunCommands/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachineScaleSetVMRunCommands/index.js.map +1 -1
- package/dist/esm/classic/virtualMachineScaleSetVMs/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachineScaleSetVMs/index.js.map +1 -1
- package/dist/esm/classic/virtualMachineScaleSets/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachineScaleSets/index.js.map +1 -1
- package/dist/esm/classic/virtualMachines/index.d.ts +0 -5
- package/dist/esm/classic/virtualMachines/index.js.map +1 -1
- package/dist/esm/computeManagementClient.d.ts +3 -0
- package/dist/esm/computeManagementClient.js +4 -0
- package/dist/esm/computeManagementClient.js.map +1 -1
- package/dist/esm/index.d.ts +5 -3
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/compute/index.d.ts +2 -2
- package/dist/esm/models/compute/index.js +1 -1
- package/dist/esm/models/compute/index.js.map +1 -1
- package/dist/esm/models/compute/models.d.ts +131 -2
- package/dist/esm/models/compute/models.js +218 -3
- package/dist/esm/models/compute/models.js.map +1 -1
- package/dist/esm/restorePollerHelpers.js +22 -12
- package/dist/esm/restorePollerHelpers.js.map +1 -1
- package/dist/esm/static-helpers/pagingHelpers.js +1 -1
- package/dist/esm/static-helpers/pagingHelpers.js.map +1 -1
- package/dist/esm/static-helpers/pollingHelpers.d.ts +1 -1
- package/dist/esm/static-helpers/pollingHelpers.js +1 -1
- package/dist/esm/static-helpers/pollingHelpers.js.map +1 -1
- package/dist/esm/static-helpers/simplePollerHelpers.d.ts +1 -1
- package/dist/esm/static-helpers/simplePollerHelpers.js.map +1 -1
- package/package.json +16 -44
- package/dist/react-native/api/availabilitySets/index.d.ts +0 -3
- package/dist/react-native/api/availabilitySets/index.js +0 -4
- package/dist/react-native/api/availabilitySets/index.js.map +0 -1
- package/dist/react-native/api/availabilitySets/operations.d.ts +0 -56
- package/dist/react-native/api/availabilitySets/operations.js +0 -337
- package/dist/react-native/api/availabilitySets/operations.js.map +0 -1
- package/dist/react-native/api/availabilitySets/options.d.ts +0 -42
- package/dist/react-native/api/availabilitySets/options.js.map +0 -1
- package/dist/react-native/api/capacityReservationGroups/index.d.ts +0 -3
- package/dist/react-native/api/capacityReservationGroups/index.js.map +0 -1
- package/dist/react-native/api/capacityReservationGroups/operations.d.ts +0 -35
- package/dist/react-native/api/capacityReservationGroups/operations.js +0 -181
- package/dist/react-native/api/capacityReservationGroups/operations.js.map +0 -1
- package/dist/react-native/api/capacityReservationGroups/options.d.ts +0 -29
- package/dist/react-native/api/capacityReservationGroups/options.js.map +0 -1
- package/dist/react-native/api/capacityReservations/index.d.ts +0 -3
- package/dist/react-native/api/capacityReservations/index.js +0 -4
- package/dist/react-native/api/capacityReservations/index.js.map +0 -1
- package/dist/react-native/api/capacityReservations/operations.d.ts +0 -32
- package/dist/react-native/api/capacityReservations/operations.js +0 -179
- package/dist/react-native/api/capacityReservations/operations.js.map +0 -1
- package/dist/react-native/api/capacityReservations/options.d.ts +0 -28
- package/dist/react-native/api/capacityReservations/options.js +0 -4
- package/dist/react-native/api/capacityReservations/options.js.map +0 -1
- package/dist/react-native/api/communityGalleries/index.d.ts +0 -3
- package/dist/react-native/api/communityGalleries/index.js +0 -4
- package/dist/react-native/api/communityGalleries/index.js.map +0 -1
- package/dist/react-native/api/communityGalleries/operations.d.ts +0 -9
- package/dist/react-native/api/communityGalleries/operations.js +0 -35
- package/dist/react-native/api/communityGalleries/operations.js.map +0 -1
- package/dist/react-native/api/communityGalleries/options.d.ts +0 -5
- package/dist/react-native/api/communityGalleries/options.js +0 -4
- package/dist/react-native/api/communityGalleries/options.js.map +0 -1
- package/dist/react-native/api/communityGalleryImageVersions/index.d.ts +0 -3
- package/dist/react-native/api/communityGalleryImageVersions/index.js +0 -4
- package/dist/react-native/api/communityGalleryImageVersions/index.js.map +0 -1
- package/dist/react-native/api/communityGalleryImageVersions/operations.d.ts +0 -14
- package/dist/react-native/api/communityGalleryImageVersions/operations.js +0 -66
- package/dist/react-native/api/communityGalleryImageVersions/operations.js.map +0 -1
- package/dist/react-native/api/communityGalleryImageVersions/options.d.ts +0 -8
- package/dist/react-native/api/communityGalleryImageVersions/options.js +0 -4
- package/dist/react-native/api/communityGalleryImageVersions/options.js.map +0 -1
- package/dist/react-native/api/communityGalleryImages/index.d.ts +0 -3
- package/dist/react-native/api/communityGalleryImages/index.js +0 -4
- package/dist/react-native/api/communityGalleryImages/index.js.map +0 -1
- package/dist/react-native/api/communityGalleryImages/operations.d.ts +0 -14
- package/dist/react-native/api/communityGalleryImages/operations.js +0 -64
- package/dist/react-native/api/communityGalleryImages/operations.js.map +0 -1
- package/dist/react-native/api/communityGalleryImages/options.d.ts +0 -8
- package/dist/react-native/api/communityGalleryImages/options.js +0 -4
- package/dist/react-native/api/communityGalleryImages/options.js.map +0 -1
- package/dist/react-native/api/computeManagementContext.d.ts +0 -16
- package/dist/react-native/api/computeManagementContext.js +0 -26
- package/dist/react-native/api/computeManagementContext.js.map +0 -1
- package/dist/react-native/api/dedicatedHostGroups/index.d.ts +0 -3
- package/dist/react-native/api/dedicatedHostGroups/index.js.map +0 -1
- package/dist/react-native/api/dedicatedHostGroups/operations.d.ts +0 -35
- package/dist/react-native/api/dedicatedHostGroups/operations.js +0 -178
- package/dist/react-native/api/dedicatedHostGroups/operations.js.map +0 -1
- package/dist/react-native/api/dedicatedHostGroups/options.d.ts +0 -23
- package/dist/react-native/api/dedicatedHostGroups/options.js +0 -4
- package/dist/react-native/api/dedicatedHostGroups/options.js.map +0 -1
- package/dist/react-native/api/dedicatedHosts/index.d.ts +0 -3
- package/dist/react-native/api/dedicatedHosts/index.js +0 -4
- package/dist/react-native/api/dedicatedHosts/index.js.map +0 -1
- package/dist/react-native/api/dedicatedHosts/operations.d.ts +0 -44
- package/dist/react-native/api/dedicatedHosts/operations.js +0 -264
- package/dist/react-native/api/dedicatedHosts/operations.js.map +0 -1
- package/dist/react-native/api/dedicatedHosts/options.d.ts +0 -39
- package/dist/react-native/api/dedicatedHosts/options.js +0 -4
- package/dist/react-native/api/dedicatedHosts/options.js.map +0 -1
- package/dist/react-native/api/diskAccesses/index.d.ts +0 -3
- package/dist/react-native/api/diskAccesses/index.js +0 -4
- package/dist/react-native/api/diskAccesses/index.js.map +0 -1
- package/dist/react-native/api/diskAccesses/operations.d.ts +0 -56
- package/dist/react-native/api/diskAccesses/operations.js +0 -344
- package/dist/react-native/api/diskAccesses/operations.js.map +0 -1
- package/dist/react-native/api/diskAccesses/options.d.ts +0 -45
- package/dist/react-native/api/diskAccesses/options.js +0 -4
- package/dist/react-native/api/diskAccesses/options.js.map +0 -1
- package/dist/react-native/api/diskEncryptionSets/index.d.ts +0 -3
- package/dist/react-native/api/diskEncryptionSets/index.js +0 -4
- package/dist/react-native/api/diskEncryptionSets/index.js.map +0 -1
- package/dist/react-native/api/diskEncryptionSets/operations.d.ts +0 -40
- package/dist/react-native/api/diskEncryptionSets/operations.js +0 -220
- package/dist/react-native/api/diskEncryptionSets/operations.js.map +0 -1
- package/dist/react-native/api/diskEncryptionSets/options.d.ts +0 -29
- package/dist/react-native/api/diskEncryptionSets/options.js +0 -4
- package/dist/react-native/api/diskEncryptionSets/options.js.map +0 -1
- package/dist/react-native/api/diskRestorePoint/index.d.ts +0 -3
- package/dist/react-native/api/diskRestorePoint/index.js +0 -4
- package/dist/react-native/api/diskRestorePoint/index.js.map +0 -1
- package/dist/react-native/api/diskRestorePoint/operations.d.ts +0 -23
- package/dist/react-native/api/diskRestorePoint/operations.js +0 -136
- package/dist/react-native/api/diskRestorePoint/operations.js.map +0 -1
- package/dist/react-native/api/diskRestorePoint/options.d.ts +0 -18
- package/dist/react-native/api/diskRestorePoint/options.js +0 -4
- package/dist/react-native/api/diskRestorePoint/options.js.map +0 -1
- package/dist/react-native/api/disks/index.d.ts +0 -3
- package/dist/react-native/api/disks/index.js +0 -4
- package/dist/react-native/api/disks/index.js.map +0 -1
- package/dist/react-native/api/disks/operations.d.ts +0 -44
- package/dist/react-native/api/disks/operations.js +0 -258
- package/dist/react-native/api/disks/operations.js.map +0 -1
- package/dist/react-native/api/disks/options.d.ts +0 -36
- package/dist/react-native/api/disks/options.js +0 -4
- package/dist/react-native/api/disks/options.js.map +0 -1
- package/dist/react-native/api/galleries/index.d.ts +0 -3
- package/dist/react-native/api/galleries/index.js +0 -4
- package/dist/react-native/api/galleries/index.js.map +0 -1
- package/dist/react-native/api/galleries/operations.d.ts +0 -36
- package/dist/react-native/api/galleries/operations.js.map +0 -1
- package/dist/react-native/api/galleries/options.d.ts +0 -31
- package/dist/react-native/api/galleries/options.js +0 -4
- package/dist/react-native/api/galleries/options.js.map +0 -1
- package/dist/react-native/api/galleryApplicationVersions/index.d.ts +0 -3
- package/dist/react-native/api/galleryApplicationVersions/index.js +0 -4
- package/dist/react-native/api/galleryApplicationVersions/index.js.map +0 -1
- package/dist/react-native/api/galleryApplicationVersions/operations.d.ts +0 -32
- package/dist/react-native/api/galleryApplicationVersions/operations.js +0 -183
- package/dist/react-native/api/galleryApplicationVersions/operations.js.map +0 -1
- package/dist/react-native/api/galleryApplicationVersions/options.d.ts +0 -26
- package/dist/react-native/api/galleryApplicationVersions/options.js +0 -4
- package/dist/react-native/api/galleryApplicationVersions/options.js.map +0 -1
- package/dist/react-native/api/galleryApplications/index.d.ts +0 -3
- package/dist/react-native/api/galleryApplications/index.js +0 -4
- package/dist/react-native/api/galleryApplications/index.js.map +0 -1
- package/dist/react-native/api/galleryApplications/operations.d.ts +0 -32
- package/dist/react-native/api/galleryApplications/operations.js +0 -173
- package/dist/react-native/api/galleryApplications/operations.js.map +0 -1
- package/dist/react-native/api/galleryApplications/options.d.ts +0 -23
- package/dist/react-native/api/galleryApplications/options.js +0 -4
- package/dist/react-native/api/galleryApplications/options.js.map +0 -1
- package/dist/react-native/api/galleryImageVersions/index.d.ts +0 -3
- package/dist/react-native/api/galleryImageVersions/index.js +0 -4
- package/dist/react-native/api/galleryImageVersions/index.js.map +0 -1
- package/dist/react-native/api/galleryImageVersions/operations.d.ts +0 -32
- package/dist/react-native/api/galleryImageVersions/operations.js +0 -179
- package/dist/react-native/api/galleryImageVersions/operations.js.map +0 -1
- package/dist/react-native/api/galleryImageVersions/options.d.ts +0 -26
- package/dist/react-native/api/galleryImageVersions/options.js +0 -4
- package/dist/react-native/api/galleryImageVersions/options.js.map +0 -1
- package/dist/react-native/api/galleryImages/index.d.ts +0 -3
- package/dist/react-native/api/galleryImages/index.js +0 -4
- package/dist/react-native/api/galleryImages/index.js.map +0 -1
- package/dist/react-native/api/galleryImages/operations.d.ts +0 -32
- package/dist/react-native/api/galleryImages/operations.js +0 -173
- package/dist/react-native/api/galleryImages/operations.js.map +0 -1
- package/dist/react-native/api/galleryImages/options.d.ts +0 -23
- package/dist/react-native/api/galleryImages/options.js +0 -4
- package/dist/react-native/api/galleryImages/options.js.map +0 -1
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/index.d.ts +0 -3
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/index.js +0 -4
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/index.js.map +0 -1
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/operations.d.ts +0 -32
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/operations.js +0 -186
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/operations.js.map +0 -1
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/options.d.ts +0 -23
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/options.js +0 -4
- package/dist/react-native/api/galleryInVMAccessControlProfileVersions/options.js.map +0 -1
- package/dist/react-native/api/galleryInVMAccessControlProfiles/index.d.ts +0 -3
- package/dist/react-native/api/galleryInVMAccessControlProfiles/index.js +0 -4
- package/dist/react-native/api/galleryInVMAccessControlProfiles/index.js.map +0 -1
- package/dist/react-native/api/galleryInVMAccessControlProfiles/operations.d.ts +0 -32
- package/dist/react-native/api/galleryInVMAccessControlProfiles/operations.js +0 -173
- package/dist/react-native/api/galleryInVMAccessControlProfiles/operations.js.map +0 -1
- package/dist/react-native/api/galleryInVMAccessControlProfiles/options.d.ts +0 -23
- package/dist/react-native/api/galleryInVMAccessControlProfiles/options.js +0 -4
- package/dist/react-native/api/galleryInVMAccessControlProfiles/options.js.map +0 -1
- package/dist/react-native/api/galleryScriptVersions/index.d.ts +0 -3
- package/dist/react-native/api/galleryScriptVersions/index.js +0 -4
- package/dist/react-native/api/galleryScriptVersions/index.js.map +0 -1
- package/dist/react-native/api/galleryScriptVersions/operations.d.ts +0 -32
- package/dist/react-native/api/galleryScriptVersions/operations.js +0 -178
- package/dist/react-native/api/galleryScriptVersions/operations.js.map +0 -1
- package/dist/react-native/api/galleryScriptVersions/options.d.ts +0 -23
- package/dist/react-native/api/galleryScriptVersions/options.js +0 -4
- package/dist/react-native/api/galleryScriptVersions/options.js.map +0 -1
- package/dist/react-native/api/galleryScripts/index.d.ts +0 -3
- package/dist/react-native/api/galleryScripts/index.js +0 -4
- package/dist/react-native/api/galleryScripts/index.js.map +0 -1
- package/dist/react-native/api/galleryScripts/operations.d.ts +0 -32
- package/dist/react-native/api/galleryScripts/operations.js +0 -173
- package/dist/react-native/api/galleryScripts/operations.js.map +0 -1
- package/dist/react-native/api/galleryScripts/options.d.ts +0 -23
- package/dist/react-native/api/galleryScripts/options.js +0 -4
- package/dist/react-native/api/galleryScripts/options.js.map +0 -1
- package/dist/react-native/api/gallerySharingProfile/index.d.ts +0 -3
- package/dist/react-native/api/gallerySharingProfile/index.js +0 -4
- package/dist/react-native/api/gallerySharingProfile/index.js.map +0 -1
- package/dist/react-native/api/gallerySharingProfile/operations.d.ts +0 -10
- package/dist/react-native/api/gallerySharingProfile/operations.js +0 -43
- package/dist/react-native/api/gallerySharingProfile/operations.js.map +0 -1
- package/dist/react-native/api/gallerySharingProfile/options.d.ts +0 -7
- package/dist/react-native/api/gallerySharingProfile/options.js +0 -4
- package/dist/react-native/api/gallerySharingProfile/options.js.map +0 -1
- package/dist/react-native/api/images/index.d.ts +0 -3
- package/dist/react-native/api/images/index.js +0 -4
- package/dist/react-native/api/images/index.js.map +0 -1
- package/dist/react-native/api/images/operations.d.ts +0 -36
- package/dist/react-native/api/images/operations.js.map +0 -1
- package/dist/react-native/api/images/options.d.ts +0 -28
- package/dist/react-native/api/images/options.js +0 -4
- package/dist/react-native/api/images/options.js.map +0 -1
- package/dist/react-native/api/index.d.ts +0 -3
- package/dist/react-native/api/index.js +0 -4
- package/dist/react-native/api/index.js.map +0 -1
- package/dist/react-native/api/logAnalytics/index.d.ts +0 -3
- package/dist/react-native/api/logAnalytics/index.js +0 -4
- package/dist/react-native/api/logAnalytics/index.js.map +0 -1
- package/dist/react-native/api/logAnalytics/operations.d.ts +0 -14
- package/dist/react-native/api/logAnalytics/operations.js +0 -76
- package/dist/react-native/api/logAnalytics/operations.js.map +0 -1
- package/dist/react-native/api/logAnalytics/options.d.ts +0 -12
- package/dist/react-native/api/logAnalytics/options.js +0 -4
- package/dist/react-native/api/logAnalytics/options.js.map +0 -1
- package/dist/react-native/api/operations/index.d.ts +0 -3
- package/dist/react-native/api/operations/index.js +0 -4
- package/dist/react-native/api/operations/index.js.map +0 -1
- package/dist/react-native/api/operations/operations.d.ts +0 -10
- package/dist/react-native/api/operations/operations.js +0 -32
- package/dist/react-native/api/operations/operations.js.map +0 -1
- package/dist/react-native/api/operations/options.d.ts +0 -5
- package/dist/react-native/api/operations/options.js +0 -4
- package/dist/react-native/api/operations/options.js.map +0 -1
- package/dist/react-native/api/proximityPlacementGroups/index.d.ts +0 -3
- package/dist/react-native/api/proximityPlacementGroups/index.js +0 -4
- package/dist/react-native/api/proximityPlacementGroups/index.js.map +0 -1
- package/dist/react-native/api/proximityPlacementGroups/operations.d.ts +0 -35
- package/dist/react-native/api/proximityPlacementGroups/operations.js +0 -178
- package/dist/react-native/api/proximityPlacementGroups/operations.js.map +0 -1
- package/dist/react-native/api/proximityPlacementGroups/options.d.ts +0 -22
- package/dist/react-native/api/proximityPlacementGroups/options.js +0 -4
- package/dist/react-native/api/proximityPlacementGroups/options.js.map +0 -1
- package/dist/react-native/api/resourceSkus/index.d.ts +0 -3
- package/dist/react-native/api/resourceSkus/index.js +0 -4
- package/dist/react-native/api/resourceSkus/index.js.map +0 -1
- package/dist/react-native/api/resourceSkus/operations.d.ts +0 -10
- package/dist/react-native/api/resourceSkus/operations.js +0 -35
- package/dist/react-native/api/resourceSkus/operations.js.map +0 -1
- package/dist/react-native/api/resourceSkus/options.d.ts +0 -9
- package/dist/react-native/api/resourceSkus/options.js +0 -4
- package/dist/react-native/api/resourceSkus/options.js.map +0 -1
- package/dist/react-native/api/restorePointCollections/index.d.ts +0 -3
- package/dist/react-native/api/restorePointCollections/index.js +0 -4
- package/dist/react-native/api/restorePointCollections/index.js.map +0 -1
- package/dist/react-native/api/restorePointCollections/operations.d.ts +0 -36
- package/dist/react-native/api/restorePointCollections/operations.js +0 -184
- package/dist/react-native/api/restorePointCollections/operations.js.map +0 -1
- package/dist/react-native/api/restorePointCollections/options.d.ts +0 -25
- package/dist/react-native/api/restorePointCollections/options.js +0 -4
- package/dist/react-native/api/restorePointCollections/options.js.map +0 -1
- package/dist/react-native/api/restorePoints/index.d.ts +0 -3
- package/dist/react-native/api/restorePoints/index.js +0 -4
- package/dist/react-native/api/restorePoints/index.js.map +0 -1
- package/dist/react-native/api/restorePoints/operations.d.ts +0 -23
- package/dist/react-native/api/restorePoints/operations.js +0 -110
- package/dist/react-native/api/restorePoints/operations.js.map +0 -1
- package/dist/react-native/api/restorePoints/options.d.ts +0 -18
- package/dist/react-native/api/restorePoints/options.js +0 -4
- package/dist/react-native/api/restorePoints/options.js.map +0 -1
- package/dist/react-native/api/sharedGalleries/index.d.ts +0 -3
- package/dist/react-native/api/sharedGalleries/index.js +0 -4
- package/dist/react-native/api/sharedGalleries/index.js.map +0 -1
- package/dist/react-native/api/sharedGalleries/operations.d.ts +0 -14
- package/dist/react-native/api/sharedGalleries/operations.js +0 -63
- package/dist/react-native/api/sharedGalleries/operations.js.map +0 -1
- package/dist/react-native/api/sharedGalleries/options.d.ts +0 -11
- package/dist/react-native/api/sharedGalleries/options.js +0 -4
- package/dist/react-native/api/sharedGalleries/options.js.map +0 -1
- package/dist/react-native/api/sharedGalleryImageVersions/index.d.ts +0 -3
- package/dist/react-native/api/sharedGalleryImageVersions/index.js +0 -4
- package/dist/react-native/api/sharedGalleryImageVersions/index.js.map +0 -1
- package/dist/react-native/api/sharedGalleryImageVersions/operations.d.ts +0 -14
- package/dist/react-native/api/sharedGalleryImageVersions/operations.js +0 -67
- package/dist/react-native/api/sharedGalleryImageVersions/operations.js.map +0 -1
- package/dist/react-native/api/sharedGalleryImageVersions/options.d.ts +0 -11
- package/dist/react-native/api/sharedGalleryImageVersions/options.js +0 -4
- package/dist/react-native/api/sharedGalleryImageVersions/options.js.map +0 -1
- package/dist/react-native/api/sharedGalleryImages/index.d.ts +0 -3
- package/dist/react-native/api/sharedGalleryImages/index.js +0 -4
- package/dist/react-native/api/sharedGalleryImages/index.js.map +0 -1
- package/dist/react-native/api/sharedGalleryImages/operations.d.ts +0 -14
- package/dist/react-native/api/sharedGalleryImages/operations.js +0 -65
- package/dist/react-native/api/sharedGalleryImages/operations.js.map +0 -1
- package/dist/react-native/api/sharedGalleryImages/options.d.ts +0 -11
- package/dist/react-native/api/sharedGalleryImages/options.js +0 -4
- package/dist/react-native/api/sharedGalleryImages/options.js.map +0 -1
- package/dist/react-native/api/snapshots/index.d.ts +0 -3
- package/dist/react-native/api/snapshots/index.js +0 -4
- package/dist/react-native/api/snapshots/index.js.map +0 -1
- package/dist/react-native/api/snapshots/operations.d.ts +0 -44
- package/dist/react-native/api/snapshots/operations.js +0 -258
- package/dist/react-native/api/snapshots/operations.js.map +0 -1
- package/dist/react-native/api/snapshots/options.d.ts +0 -36
- package/dist/react-native/api/snapshots/options.js +0 -4
- package/dist/react-native/api/snapshots/options.js.map +0 -1
- package/dist/react-native/api/softDeletedResource/index.d.ts +0 -3
- package/dist/react-native/api/softDeletedResource/index.js +0 -4
- package/dist/react-native/api/softDeletedResource/index.js.map +0 -1
- package/dist/react-native/api/softDeletedResource/operations.d.ts +0 -10
- package/dist/react-native/api/softDeletedResource/operations.js +0 -37
- package/dist/react-native/api/softDeletedResource/operations.js.map +0 -1
- package/dist/react-native/api/softDeletedResource/options.d.ts +0 -5
- package/dist/react-native/api/softDeletedResource/options.js +0 -4
- package/dist/react-native/api/softDeletedResource/options.js.map +0 -1
- package/dist/react-native/api/sshPublicKeys/index.d.ts +0 -3
- package/dist/react-native/api/sshPublicKeys/index.js +0 -4
- package/dist/react-native/api/sshPublicKeys/index.js.map +0 -1
- package/dist/react-native/api/sshPublicKeys/operations.d.ts +0 -39
- package/dist/react-native/api/sshPublicKeys/operations.js +0 -209
- package/dist/react-native/api/sshPublicKeys/operations.js.map +0 -1
- package/dist/react-native/api/sshPublicKeys/options.d.ts +0 -26
- package/dist/react-native/api/sshPublicKeys/options.js +0 -4
- package/dist/react-native/api/sshPublicKeys/options.js.map +0 -1
- package/dist/react-native/api/usage/index.d.ts +0 -3
- package/dist/react-native/api/usage/index.js +0 -4
- package/dist/react-native/api/usage/index.js.map +0 -1
- package/dist/react-native/api/usage/operations.d.ts +0 -10
- package/dist/react-native/api/usage/operations.js +0 -34
- package/dist/react-native/api/usage/operations.js.map +0 -1
- package/dist/react-native/api/usage/options.d.ts +0 -5
- package/dist/react-native/api/usage/options.js +0 -4
- package/dist/react-native/api/usage/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineExtensionImages/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineExtensionImages/index.js +0 -4
- package/dist/react-native/api/virtualMachineExtensionImages/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineExtensionImages/operations.d.ts +0 -17
- package/dist/react-native/api/virtualMachineExtensionImages/operations.js +0 -97
- package/dist/react-native/api/virtualMachineExtensionImages/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineExtensionImages/options.d.ts +0 -15
- package/dist/react-native/api/virtualMachineExtensionImages/options.js +0 -4
- package/dist/react-native/api/virtualMachineExtensionImages/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineExtensions/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineExtensions/index.js +0 -4
- package/dist/react-native/api/virtualMachineExtensions/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineExtensions/operations.d.ts +0 -31
- package/dist/react-native/api/virtualMachineExtensions/operations.js +0 -175
- package/dist/react-native/api/virtualMachineExtensions/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineExtensions/options.d.ts +0 -27
- package/dist/react-native/api/virtualMachineExtensions/options.js +0 -4
- package/dist/react-native/api/virtualMachineExtensions/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineImages/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineImages/index.js +0 -4
- package/dist/react-native/api/virtualMachineImages/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineImages/operations.d.ts +0 -32
- package/dist/react-native/api/virtualMachineImages/operations.js +0 -215
- package/dist/react-native/api/virtualMachineImages/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineImages/options.d.ts +0 -29
- package/dist/react-native/api/virtualMachineImages/options.js +0 -4
- package/dist/react-native/api/virtualMachineImages/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineImagesEdgeZone/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineImagesEdgeZone/index.js +0 -4
- package/dist/react-native/api/virtualMachineImagesEdgeZone/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineImagesEdgeZone/operations.d.ts +0 -25
- package/dist/react-native/api/virtualMachineImagesEdgeZone/operations.js +0 -160
- package/dist/react-native/api/virtualMachineImagesEdgeZone/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineImagesEdgeZone/options.d.ts +0 -23
- package/dist/react-native/api/virtualMachineImagesEdgeZone/options.js +0 -4
- package/dist/react-native/api/virtualMachineImagesEdgeZone/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineRunCommands/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineRunCommands/index.js +0 -4
- package/dist/react-native/api/virtualMachineRunCommands/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineRunCommands/operations.d.ts +0 -40
- package/dist/react-native/api/virtualMachineRunCommands/operations.js +0 -229
- package/dist/react-native/api/virtualMachineRunCommands/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineRunCommands/options.d.ts +0 -33
- package/dist/react-native/api/virtualMachineRunCommands/options.js +0 -4
- package/dist/react-native/api/virtualMachineRunCommands/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetExtensions/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineScaleSetExtensions/index.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetExtensions/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetExtensions/operations.d.ts +0 -32
- package/dist/react-native/api/virtualMachineScaleSetExtensions/operations.js +0 -174
- package/dist/react-native/api/virtualMachineScaleSetExtensions/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetExtensions/options.d.ts +0 -25
- package/dist/react-native/api/virtualMachineScaleSetExtensions/options.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetExtensions/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/index.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/operations.d.ts +0 -18
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js +0 -95
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/options.d.ts +0 -11
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/options.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetLifeCycleHookEvents/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/index.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/operations.d.ts +0 -22
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/operations.js +0 -134
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/options.d.ts +0 -20
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/options.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetRollingUpgrades/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/index.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/operations.d.ts +0 -31
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/operations.js +0 -180
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/options.d.ts +0 -27
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/options.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetVMExtensions/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/index.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/operations.d.ts +0 -32
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/operations.js +0 -180
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/options.d.ts +0 -27
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/options.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetVMRunCommands/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMs/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineScaleSetVMs/index.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetVMs/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMs/operations.d.ts +0 -84
- package/dist/react-native/api/virtualMachineScaleSetVMs/operations.js +0 -594
- package/dist/react-native/api/virtualMachineScaleSetVMs/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSetVMs/options.d.ts +0 -103
- package/dist/react-native/api/virtualMachineScaleSetVMs/options.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSetVMs/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSets/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineScaleSets/index.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSets/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSets/operations.d.ts +0 -116
- package/dist/react-native/api/virtualMachineScaleSets/operations.js +0 -878
- package/dist/react-native/api/virtualMachineScaleSets/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineScaleSets/options.d.ts +0 -155
- package/dist/react-native/api/virtualMachineScaleSets/options.js +0 -4
- package/dist/react-native/api/virtualMachineScaleSets/options.js.map +0 -1
- package/dist/react-native/api/virtualMachineSizes/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachineSizes/index.js +0 -4
- package/dist/react-native/api/virtualMachineSizes/index.js.map +0 -1
- package/dist/react-native/api/virtualMachineSizes/operations.d.ts +0 -10
- package/dist/react-native/api/virtualMachineSizes/operations.js +0 -34
- package/dist/react-native/api/virtualMachineSizes/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachineSizes/options.d.ts +0 -5
- package/dist/react-native/api/virtualMachineSizes/options.js +0 -4
- package/dist/react-native/api/virtualMachineSizes/options.js.map +0 -1
- package/dist/react-native/api/virtualMachines/index.d.ts +0 -3
- package/dist/react-native/api/virtualMachines/index.js +0 -4
- package/dist/react-native/api/virtualMachines/index.js.map +0 -1
- package/dist/react-native/api/virtualMachines/operations.d.ts +0 -120
- package/dist/react-native/api/virtualMachines/operations.js +0 -858
- package/dist/react-native/api/virtualMachines/operations.js.map +0 -1
- package/dist/react-native/api/virtualMachines/options.d.ts +0 -154
- package/dist/react-native/api/virtualMachines/options.js +0 -4
- package/dist/react-native/api/virtualMachines/options.js.map +0 -1
- package/dist/react-native/classic/availabilitySets/index.d.ts +0 -42
- package/dist/react-native/classic/availabilitySets/index.js +0 -33
- package/dist/react-native/classic/availabilitySets/index.js.map +0 -1
- package/dist/react-native/classic/capacityReservationGroups/index.d.ts +0 -26
- package/dist/react-native/classic/capacityReservationGroups/index.js +0 -19
- package/dist/react-native/classic/capacityReservationGroups/index.js.map +0 -1
- package/dist/react-native/classic/capacityReservations/index.d.ts +0 -38
- package/dist/react-native/classic/capacityReservations/index.js +0 -43
- package/dist/react-native/classic/capacityReservations/index.js.map +0 -1
- package/dist/react-native/classic/communityGalleries/index.d.ts +0 -10
- package/dist/react-native/classic/communityGalleries/index.js +0 -14
- package/dist/react-native/classic/communityGalleries/index.js.map +0 -1
- package/dist/react-native/classic/communityGalleryImageVersions/index.d.ts +0 -13
- package/dist/react-native/classic/communityGalleryImageVersions/index.js +0 -15
- package/dist/react-native/classic/communityGalleryImageVersions/index.js.map +0 -1
- package/dist/react-native/classic/communityGalleryImages/index.d.ts +0 -13
- package/dist/react-native/classic/communityGalleryImages/index.js +0 -15
- package/dist/react-native/classic/communityGalleryImages/index.js.map +0 -1
- package/dist/react-native/classic/dedicatedHostGroups/index.d.ts +0 -26
- package/dist/react-native/classic/dedicatedHostGroups/index.js +0 -19
- package/dist/react-native/classic/dedicatedHostGroups/index.js.map +0 -1
- package/dist/react-native/classic/dedicatedHosts/index.d.ts +0 -52
- package/dist/react-native/classic/dedicatedHosts/index.js +0 -62
- package/dist/react-native/classic/dedicatedHosts/index.js.map +0 -1
- package/dist/react-native/classic/diskAccesses/index.d.ts +0 -58
- package/dist/react-native/classic/diskAccesses/index.js +0 -65
- package/dist/react-native/classic/diskAccesses/index.js.map +0 -1
- package/dist/react-native/classic/diskEncryptionSets/index.d.ts +0 -42
- package/dist/react-native/classic/diskEncryptionSets/index.js +0 -45
- package/dist/react-native/classic/diskEncryptionSets/index.js.map +0 -1
- package/dist/react-native/classic/diskRestorePoint/index.d.ts +0 -27
- package/dist/react-native/classic/diskRestorePoint/index.js +0 -34
- package/dist/react-native/classic/diskRestorePoint/index.js.map +0 -1
- package/dist/react-native/classic/disks/index.d.ts +0 -52
- package/dist/react-native/classic/disks/index.js +0 -62
- package/dist/react-native/classic/disks/index.js.map +0 -1
- package/dist/react-native/classic/galleries/index.d.ts +0 -40
- package/dist/react-native/classic/galleries/index.js +0 -44
- package/dist/react-native/classic/galleries/index.js.map +0 -1
- package/dist/react-native/classic/galleryApplicationVersions/index.d.ts +0 -38
- package/dist/react-native/classic/galleryApplicationVersions/index.js +0 -43
- package/dist/react-native/classic/galleryApplicationVersions/index.js.map +0 -1
- package/dist/react-native/classic/galleryApplications/index.d.ts +0 -38
- package/dist/react-native/classic/galleryApplications/index.js +0 -43
- package/dist/react-native/classic/galleryApplications/index.js.map +0 -1
- package/dist/react-native/classic/galleryImageVersions/index.d.ts +0 -38
- package/dist/react-native/classic/galleryImageVersions/index.js +0 -43
- package/dist/react-native/classic/galleryImageVersions/index.js.map +0 -1
- package/dist/react-native/classic/galleryImages/index.d.ts +0 -38
- package/dist/react-native/classic/galleryImages/index.js +0 -43
- package/dist/react-native/classic/galleryImages/index.js.map +0 -1
- package/dist/react-native/classic/galleryInVMAccessControlProfileVersions/index.d.ts +0 -38
- package/dist/react-native/classic/galleryInVMAccessControlProfileVersions/index.js +0 -43
- package/dist/react-native/classic/galleryInVMAccessControlProfileVersions/index.js.map +0 -1
- package/dist/react-native/classic/galleryInVMAccessControlProfiles/index.d.ts +0 -38
- package/dist/react-native/classic/galleryInVMAccessControlProfiles/index.js +0 -43
- package/dist/react-native/classic/galleryInVMAccessControlProfiles/index.js.map +0 -1
- package/dist/react-native/classic/galleryScriptVersions/index.d.ts +0 -38
- package/dist/react-native/classic/galleryScriptVersions/index.js +0 -43
- package/dist/react-native/classic/galleryScriptVersions/index.js.map +0 -1
- package/dist/react-native/classic/galleryScripts/index.d.ts +0 -38
- package/dist/react-native/classic/galleryScripts/index.js +0 -43
- package/dist/react-native/classic/galleryScripts/index.js.map +0 -1
- package/dist/react-native/classic/gallerySharingProfile/index.d.ts +0 -16
- package/dist/react-native/classic/gallerySharingProfile/index.js +0 -23
- package/dist/react-native/classic/gallerySharingProfile/index.js.map +0 -1
- package/dist/react-native/classic/images/index.d.ts +0 -40
- package/dist/react-native/classic/images/index.js +0 -44
- package/dist/react-native/classic/images/index.js.map +0 -1
- package/dist/react-native/classic/index.d.ts +0 -51
- package/dist/react-native/classic/index.js +0 -4
- package/dist/react-native/classic/index.js.map +0 -1
- package/dist/react-native/classic/logAnalytics/index.d.ts +0 -22
- package/dist/react-native/classic/logAnalytics/index.js +0 -32
- package/dist/react-native/classic/logAnalytics/index.js.map +0 -1
- package/dist/react-native/classic/operations/index.d.ts +0 -11
- package/dist/react-native/classic/operations/index.js +0 -14
- package/dist/react-native/classic/operations/index.js.map +0 -1
- package/dist/react-native/classic/proximityPlacementGroups/index.d.ts +0 -26
- package/dist/react-native/classic/proximityPlacementGroups/index.js +0 -19
- package/dist/react-native/classic/proximityPlacementGroups/index.js.map +0 -1
- package/dist/react-native/classic/resourceSkus/index.d.ts +0 -11
- package/dist/react-native/classic/resourceSkus/index.js +0 -14
- package/dist/react-native/classic/resourceSkus/index.js.map +0 -1
- package/dist/react-native/classic/restorePointCollections/index.d.ts +0 -32
- package/dist/react-native/classic/restorePointCollections/index.js +0 -28
- package/dist/react-native/classic/restorePointCollections/index.js.map +0 -1
- package/dist/react-native/classic/restorePoints/index.d.ts +0 -29
- package/dist/react-native/classic/restorePoints/index.js +0 -33
- package/dist/react-native/classic/restorePoints/index.js.map +0 -1
- package/dist/react-native/classic/sharedGalleries/index.d.ts +0 -13
- package/dist/react-native/classic/sharedGalleries/index.js +0 -15
- package/dist/react-native/classic/sharedGalleries/index.js.map +0 -1
- package/dist/react-native/classic/sharedGalleryImageVersions/index.d.ts +0 -13
- package/dist/react-native/classic/sharedGalleryImageVersions/index.js +0 -15
- package/dist/react-native/classic/sharedGalleryImageVersions/index.js.map +0 -1
- package/dist/react-native/classic/sharedGalleryImages/index.d.ts +0 -13
- package/dist/react-native/classic/sharedGalleryImages/index.js +0 -15
- package/dist/react-native/classic/sharedGalleryImages/index.js.map +0 -1
- package/dist/react-native/classic/snapshots/index.d.ts +0 -52
- package/dist/react-native/classic/snapshots/index.js +0 -62
- package/dist/react-native/classic/snapshots/index.js.map +0 -1
- package/dist/react-native/classic/softDeletedResource/index.d.ts +0 -11
- package/dist/react-native/classic/softDeletedResource/index.js +0 -14
- package/dist/react-native/classic/softDeletedResource/index.js.map +0 -1
- package/dist/react-native/classic/sshPublicKeys/index.d.ts +0 -28
- package/dist/react-native/classic/sshPublicKeys/index.js +0 -20
- package/dist/react-native/classic/sshPublicKeys/index.js.map +0 -1
- package/dist/react-native/classic/usage/index.d.ts +0 -11
- package/dist/react-native/classic/usage/index.js +0 -14
- package/dist/react-native/classic/usage/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineExtensionImages/index.d.ts +0 -14
- package/dist/react-native/classic/virtualMachineExtensionImages/index.js +0 -16
- package/dist/react-native/classic/virtualMachineExtensionImages/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineExtensions/index.d.ts +0 -37
- package/dist/react-native/classic/virtualMachineExtensions/index.js +0 -43
- package/dist/react-native/classic/virtualMachineExtensions/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineImages/index.d.ts +0 -21
- package/dist/react-native/classic/virtualMachineImages/index.js +0 -20
- package/dist/react-native/classic/virtualMachineImages/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineImagesEdgeZone/index.d.ts +0 -18
- package/dist/react-native/classic/virtualMachineImagesEdgeZone/index.js +0 -18
- package/dist/react-native/classic/virtualMachineImagesEdgeZone/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineRunCommands/index.d.ts +0 -42
- package/dist/react-native/classic/virtualMachineRunCommands/index.js +0 -45
- package/dist/react-native/classic/virtualMachineRunCommands/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineScaleSetExtensions/index.d.ts +0 -38
- package/dist/react-native/classic/virtualMachineScaleSetExtensions/index.js +0 -43
- package/dist/react-native/classic/virtualMachineScaleSetExtensions/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineScaleSetLifeCycleHookEvents/index.d.ts +0 -15
- package/dist/react-native/classic/virtualMachineScaleSetLifeCycleHookEvents/index.js +0 -16
- package/dist/react-native/classic/virtualMachineScaleSetLifeCycleHookEvents/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineScaleSetRollingUpgrades/index.d.ts +0 -30
- package/dist/react-native/classic/virtualMachineScaleSetRollingUpgrades/index.js +0 -42
- package/dist/react-native/classic/virtualMachineScaleSetRollingUpgrades/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineScaleSetVMExtensions/index.d.ts +0 -37
- package/dist/react-native/classic/virtualMachineScaleSetVMExtensions/index.js +0 -43
- package/dist/react-native/classic/virtualMachineScaleSetVMExtensions/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineScaleSetVMRunCommands/index.d.ts +0 -38
- package/dist/react-native/classic/virtualMachineScaleSetVMRunCommands/index.js +0 -43
- package/dist/react-native/classic/virtualMachineScaleSetVMRunCommands/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineScaleSetVMs/index.d.ts +0 -104
- package/dist/react-native/classic/virtualMachineScaleSetVMs/index.js +0 -136
- package/dist/react-native/classic/virtualMachineScaleSetVMs/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineScaleSets/index.d.ts +0 -136
- package/dist/react-native/classic/virtualMachineScaleSets/index.js +0 -176
- package/dist/react-native/classic/virtualMachineScaleSets/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachineSizes/index.d.ts +0 -11
- package/dist/react-native/classic/virtualMachineSizes/index.js +0 -14
- package/dist/react-native/classic/virtualMachineSizes/index.js.map +0 -1
- package/dist/react-native/classic/virtualMachines/index.d.ts +0 -142
- package/dist/react-native/classic/virtualMachines/index.js +0 -185
- package/dist/react-native/classic/virtualMachines/index.js.map +0 -1
- package/dist/react-native/computeManagementClient.d.ts +0 -162
- package/dist/react-native/computeManagementClient.js +0 -232
- package/dist/react-native/computeManagementClient.js.map +0 -1
- package/dist/react-native/index.d.ts +0 -75
- package/dist/react-native/index.js +0 -13
- package/dist/react-native/index.js.map +0 -1
- package/dist/react-native/logger.d.ts +0 -2
- package/dist/react-native/logger.js +0 -5
- package/dist/react-native/logger.js.map +0 -1
- package/dist/react-native/models/common/index.d.ts +0 -3
- package/dist/react-native/models/common/index.js +0 -4
- package/dist/react-native/models/common/index.js.map +0 -1
- package/dist/react-native/models/common/models.d.ts +0 -158
- package/dist/react-native/models/common/models.js +0 -141
- package/dist/react-native/models/common/models.js.map +0 -1
- package/dist/react-native/models/compute/index.d.ts +0 -3
- package/dist/react-native/models/compute/index.js +0 -4
- package/dist/react-native/models/compute/index.js.map +0 -1
- package/dist/react-native/models/compute/models.d.ts +0 -7107
- package/dist/react-native/models/compute/models.js +0 -8979
- package/dist/react-native/models/compute/models.js.map +0 -1
- package/dist/react-native/models/computeDisk/index.d.ts +0 -3
- package/dist/react-native/models/computeDisk/index.js +0 -4
- package/dist/react-native/models/computeDisk/index.js.map +0 -1
- package/dist/react-native/models/computeDisk/models.d.ts +0 -1490
- package/dist/react-native/models/computeDisk/models.js +0 -1618
- package/dist/react-native/models/computeDisk/models.js.map +0 -1
- package/dist/react-native/models/computeGallery/index.d.ts +0 -3
- package/dist/react-native/models/computeGallery/index.js +0 -4
- package/dist/react-native/models/computeGallery/index.js.map +0 -1
- package/dist/react-native/models/computeGallery/models.d.ts +0 -2341
- package/dist/react-native/models/computeGallery/models.js +0 -3206
- package/dist/react-native/models/computeGallery/models.js.map +0 -1
- package/dist/react-native/models/computeSku/index.d.ts +0 -3
- package/dist/react-native/models/computeSku/index.js +0 -4
- package/dist/react-native/models/computeSku/index.js.map +0 -1
- package/dist/react-native/models/computeSku/models.d.ts +0 -140
- package/dist/react-native/models/computeSku/models.js +0 -158
- package/dist/react-native/models/computeSku/models.js.map +0 -1
- package/dist/react-native/models/index.d.ts +0 -3
- package/dist/react-native/models/index.js +0 -4
- package/dist/react-native/models/index.js.map +0 -1
- package/dist/react-native/models/models.d.ts +0 -167
- package/dist/react-native/models/models.js +0 -146
- package/dist/react-native/models/models.js.map +0 -1
- package/dist/react-native/package.json +0 -3
- package/dist/react-native/restorePollerHelpers.d.ts +0 -21
- package/dist/react-native/restorePollerHelpers.js +0 -452
- package/dist/react-native/restorePollerHelpers.js.map +0 -1
- package/dist/react-native/static-helpers/cloudSettingHelpers.d.ts +0 -22
- package/dist/react-native/static-helpers/cloudSettingHelpers.js +0 -38
- package/dist/react-native/static-helpers/cloudSettingHelpers.js.map +0 -1
- package/dist/react-native/static-helpers/pagingHelpers.d.ts +0 -74
- package/dist/react-native/static-helpers/pagingHelpers.js +0 -143
- package/dist/react-native/static-helpers/pagingHelpers.js.map +0 -1
- package/dist/react-native/static-helpers/pollingHelpers.d.ts +0 -34
- package/dist/react-native/static-helpers/pollingHelpers.js +0 -95
- package/dist/react-native/static-helpers/pollingHelpers.js.map +0 -1
- package/dist/react-native/static-helpers/serialization/check-prop-undefined.d.ts +0 -8
- package/dist/react-native/static-helpers/serialization/check-prop-undefined.js +0 -17
- package/dist/react-native/static-helpers/serialization/check-prop-undefined.js.map +0 -1
- package/dist/react-native/static-helpers/simplePollerHelpers.d.ts +0 -73
- package/dist/react-native/static-helpers/simplePollerHelpers.js +0 -44
- package/dist/react-native/static-helpers/simplePollerHelpers.js.map +0 -1
- package/dist/react-native/static-helpers/urlTemplate.d.ts +0 -5
- package/dist/react-native/static-helpers/urlTemplate.js +0 -200
- package/dist/react-native/static-helpers/urlTemplate.js.map +0 -1
- /package/dist/{react-native/api/capacityReservationGroups → browser/api/interconnectBlocks}/index.js +0 -0
- /package/dist/{react-native/api/availabilitySets → browser/api/interconnectBlocks}/options.js +0 -0
- /package/dist/{react-native/api/dedicatedHostGroups → esm/api/interconnectBlocks}/index.js +0 -0
- /package/dist/{react-native/api/capacityReservationGroups → esm/api/interconnectBlocks}/options.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/compute/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { areAllPropsUndefined } from \"../../static-helpers/serialization/check-prop-undefined.js\";\nimport type {\n ApiError,\n SubResource,\n OperatingSystemTypes,\n ResourceIdentityType,\n UserAssignedIdentitiesValue,\n ExtendedLocation,\n SubResourceReadOnly,\n OperatingSystemStateTypes,\n SnapshotAccessState,\n HyperVGeneration,\n} from \"../common/models.js\";\nimport {\n apiErrorDeserializer,\n subResourceSerializer,\n subResourceDeserializer,\n subResourceArraySerializer,\n subResourceArrayDeserializer,\n userAssignedIdentitiesValueRecordSerializer,\n userAssignedIdentitiesValueRecordDeserializer,\n extendedLocationSerializer,\n extendedLocationDeserializer,\n subResourceReadOnlyArrayDeserializer,\n} from \"../common/models.js\";\nimport type { TrackedResource, ProxyResource } from \"../models.js\";\nimport { systemDataDeserializer } from \"../models.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** Describes a Virtual Machine Scale Set. */\nexport interface VirtualMachineScaleSet extends TrackedResource {\n /** The virtual machine scale set sku. */\n sku?: Sku;\n /** Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */\n plan?: Plan;\n /** The identity of the virtual machine scale set, if configured. */\n identity?: VirtualMachineScaleSetIdentity;\n /** The availability zones. */\n zones?: string[];\n /** The extended location of the Virtual Machine Scale Set. */\n extendedLocation?: ExtendedLocation;\n /** Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates */\n readonly etag?: string;\n /** Placement section specifies the user-defined constraints for virtual machine scale set hardware placement. Minimum api-version: 2025-04-01. */\n placement?: Placement;\n /** The upgrade policy. */\n upgradePolicy?: UpgradePolicy;\n /** The ScheduledEventsPolicy. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Policy for automatic repairs. */\n automaticRepairsPolicy?: AutomaticRepairsPolicy;\n /** The virtual machine profile. */\n virtualMachineProfile?: VirtualMachineScaleSetVMProfile;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** Specifies whether the Virtual Machine Scale Set should be overprovisioned. */\n overprovision?: boolean;\n /** When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. */\n doNotRunExtensionsOnOverprovisionedVMs?: boolean;\n /** Specifies the ID which uniquely identifies a Virtual Machine Scale Set. */\n readonly uniqueId?: string;\n /** When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. */\n singlePlacementGroup?: boolean;\n /** Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. */\n zoneBalance?: boolean;\n /** Fault Domain count for each placement group. */\n platformFaultDomainCount?: number;\n /** Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. */\n hostGroup?: SubResource;\n /** 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. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. */\n scaleInPolicy?: ScaleInPolicy;\n /** Specifies the orchestration mode for the virtual machine scale set. */\n orchestrationMode?: OrchestrationMode;\n /** Specifies the Spot Restore properties for the virtual machine scale set. */\n spotRestorePolicy?: SpotRestorePolicy;\n /** Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. */\n priorityMixPolicy?: PriorityMixPolicy;\n /** Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Optional property which must either be set to True or omitted. */\n constrainedMaximumCapacity?: boolean;\n /** Policy for Resiliency */\n resiliencyPolicy?: ResiliencyPolicy;\n /** Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. */\n zonalPlatformFaultDomainAlignMode?: ZonalPlatformFaultDomainAlignMode;\n /** Specifies the sku profile for the virtual machine scale set. */\n skuProfile?: SkuProfile;\n /** Specifies the high speed interconnect placement for the virtual machine scale set. */\n highSpeedInterconnectPlacement?: HighSpeedInterconnectPlacement;\n /** Specifies the lifecycle hooks profile for the virtual machine scale set. */\n lifecycleHooksProfile?: LifecycleHooksProfile;\n /** Specifies the external health policy for the virtual machine scale set. */\n externalHealthPolicy?: ExternalHealthPolicy;\n}\n\nexport function virtualMachineScaleSetSerializer(item: VirtualMachineScaleSet): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n plan: !item[\"plan\"] ? item[\"plan\"] : planSerializer(item[\"plan\"]),\n properties: areAllPropsUndefined(item, [\n \"upgradePolicy\",\n \"scheduledEventsPolicy\",\n \"automaticRepairsPolicy\",\n \"virtualMachineProfile\",\n \"overprovision\",\n \"doNotRunExtensionsOnOverprovisionedVMs\",\n \"singlePlacementGroup\",\n \"zoneBalance\",\n \"platformFaultDomainCount\",\n \"proximityPlacementGroup\",\n \"hostGroup\",\n \"additionalCapabilities\",\n \"scaleInPolicy\",\n \"orchestrationMode\",\n \"spotRestorePolicy\",\n \"priorityMixPolicy\",\n \"constrainedMaximumCapacity\",\n \"resiliencyPolicy\",\n \"zonalPlatformFaultDomainAlignMode\",\n \"skuProfile\",\n \"highSpeedInterconnectPlacement\",\n \"lifecycleHooksProfile\",\n \"externalHealthPolicy\",\n ])\n ? undefined\n : _virtualMachineScaleSetPropertiesSerializer(item),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineScaleSetIdentitySerializer(item[\"identity\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationSerializer(item[\"extendedLocation\"]),\n placement: !item[\"placement\"] ? item[\"placement\"] : placementSerializer(item[\"placement\"]),\n };\n}\n\nexport function virtualMachineScaleSetDeserializer(item: any): VirtualMachineScaleSet {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n sku: !item[\"sku\"] ? item[\"sku\"] : skuDeserializer(item[\"sku\"]),\n plan: !item[\"plan\"] ? item[\"plan\"] : planDeserializer(item[\"plan\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineScaleSetPropertiesDeserializer(item[\"properties\"])),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineScaleSetIdentityDeserializer(item[\"identity\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationDeserializer(item[\"extendedLocation\"]),\n etag: item[\"etag\"],\n placement: !item[\"placement\"] ? item[\"placement\"] : placementDeserializer(item[\"placement\"]),\n };\n}\n\n/** Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. */\nexport interface Sku {\n /** The sku name. */\n name?: string;\n /** Specifies the tier of virtual machines in a scale set.<br /><br /> Possible Values:<br /><br /> **Standard**<br /><br /> **Basic** */\n tier?: string;\n /** Specifies the number of virtual machines in the scale set. */\n capacity?: number;\n}\n\nexport function skuSerializer(item: Sku): any {\n return { name: item[\"name\"], tier: item[\"tier\"], capacity: item[\"capacity\"] };\n}\n\nexport function skuDeserializer(item: any): Sku {\n return {\n name: item[\"name\"],\n tier: item[\"tier\"],\n capacity: item[\"capacity\"],\n };\n}\n\n/** Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */\nexport interface Plan {\n /** The plan ID. */\n name?: string;\n /** The publisher ID. */\n publisher?: string;\n /** Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. */\n product?: string;\n /** The promotion code. */\n promotionCode?: string;\n}\n\nexport function planSerializer(item: Plan): any {\n return {\n name: item[\"name\"],\n publisher: item[\"publisher\"],\n product: item[\"product\"],\n promotionCode: item[\"promotionCode\"],\n };\n}\n\nexport function planDeserializer(item: any): Plan {\n return {\n name: item[\"name\"],\n publisher: item[\"publisher\"],\n product: item[\"product\"],\n promotionCode: item[\"promotionCode\"],\n };\n}\n\n/** Describes the properties of a Virtual Machine Scale Set. */\nexport interface VirtualMachineScaleSetProperties {\n /** The upgrade policy. */\n upgradePolicy?: UpgradePolicy;\n /** The ScheduledEventsPolicy. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Policy for automatic repairs. */\n automaticRepairsPolicy?: AutomaticRepairsPolicy;\n /** The virtual machine profile. */\n virtualMachineProfile?: VirtualMachineScaleSetVMProfile;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** Specifies whether the Virtual Machine Scale Set should be overprovisioned. */\n overprovision?: boolean;\n /** When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. */\n doNotRunExtensionsOnOverprovisionedVMs?: boolean;\n /** Specifies the ID which uniquely identifies a Virtual Machine Scale Set. */\n readonly uniqueId?: string;\n /** When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. */\n singlePlacementGroup?: boolean;\n /** Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. */\n zoneBalance?: boolean;\n /** Fault Domain count for each placement group. */\n platformFaultDomainCount?: number;\n /** Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. */\n hostGroup?: SubResource;\n /** 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. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. */\n scaleInPolicy?: ScaleInPolicy;\n /** Specifies the orchestration mode for the virtual machine scale set. */\n orchestrationMode?: OrchestrationMode;\n /** Specifies the Spot Restore properties for the virtual machine scale set. */\n spotRestorePolicy?: SpotRestorePolicy;\n /** Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. */\n priorityMixPolicy?: PriorityMixPolicy;\n /** Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Optional property which must either be set to True or omitted. */\n constrainedMaximumCapacity?: boolean;\n /** Policy for Resiliency */\n resiliencyPolicy?: ResiliencyPolicy;\n /** Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. */\n zonalPlatformFaultDomainAlignMode?: ZonalPlatformFaultDomainAlignMode;\n /** Specifies the sku profile for the virtual machine scale set. */\n skuProfile?: SkuProfile;\n /** Specifies the high speed interconnect placement for the virtual machine scale set. */\n highSpeedInterconnectPlacement?: HighSpeedInterconnectPlacement;\n /** Specifies the lifecycle hooks profile for the virtual machine scale set. */\n lifecycleHooksProfile?: LifecycleHooksProfile;\n /** Specifies the external health policy for the virtual machine scale set. */\n externalHealthPolicy?: ExternalHealthPolicy;\n}\n\nexport function virtualMachineScaleSetPropertiesSerializer(\n item: VirtualMachineScaleSetProperties,\n): any {\n return {\n upgradePolicy: !item[\"upgradePolicy\"]\n ? item[\"upgradePolicy\"]\n : upgradePolicySerializer(item[\"upgradePolicy\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n automaticRepairsPolicy: !item[\"automaticRepairsPolicy\"]\n ? item[\"automaticRepairsPolicy\"]\n : automaticRepairsPolicySerializer(item[\"automaticRepairsPolicy\"]),\n virtualMachineProfile: !item[\"virtualMachineProfile\"]\n ? item[\"virtualMachineProfile\"]\n : virtualMachineScaleSetVMProfileSerializer(item[\"virtualMachineProfile\"]),\n overprovision: item[\"overprovision\"],\n doNotRunExtensionsOnOverprovisionedVMs: item[\"doNotRunExtensionsOnOverprovisionedVMs\"],\n singlePlacementGroup: item[\"singlePlacementGroup\"],\n zoneBalance: item[\"zoneBalance\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceSerializer(item[\"hostGroup\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n scaleInPolicy: !item[\"scaleInPolicy\"]\n ? item[\"scaleInPolicy\"]\n : scaleInPolicySerializer(item[\"scaleInPolicy\"]),\n orchestrationMode: item[\"orchestrationMode\"],\n spotRestorePolicy: !item[\"spotRestorePolicy\"]\n ? item[\"spotRestorePolicy\"]\n : spotRestorePolicySerializer(item[\"spotRestorePolicy\"]),\n priorityMixPolicy: !item[\"priorityMixPolicy\"]\n ? item[\"priorityMixPolicy\"]\n : priorityMixPolicySerializer(item[\"priorityMixPolicy\"]),\n constrainedMaximumCapacity: item[\"constrainedMaximumCapacity\"],\n resiliencyPolicy: !item[\"resiliencyPolicy\"]\n ? item[\"resiliencyPolicy\"]\n : resiliencyPolicySerializer(item[\"resiliencyPolicy\"]),\n zonalPlatformFaultDomainAlignMode: item[\"zonalPlatformFaultDomainAlignMode\"],\n skuProfile: !item[\"skuProfile\"] ? item[\"skuProfile\"] : skuProfileSerializer(item[\"skuProfile\"]),\n highSpeedInterconnectPlacement: item[\"highSpeedInterconnectPlacement\"],\n lifecycleHooksProfile: !item[\"lifecycleHooksProfile\"]\n ? item[\"lifecycleHooksProfile\"]\n : lifecycleHooksProfileSerializer(item[\"lifecycleHooksProfile\"]),\n externalHealthPolicy: !item[\"externalHealthPolicy\"]\n ? item[\"externalHealthPolicy\"]\n : externalHealthPolicySerializer(item[\"externalHealthPolicy\"]),\n };\n}\n\nexport function virtualMachineScaleSetPropertiesDeserializer(\n item: any,\n): VirtualMachineScaleSetProperties {\n return {\n upgradePolicy: !item[\"upgradePolicy\"]\n ? item[\"upgradePolicy\"]\n : upgradePolicyDeserializer(item[\"upgradePolicy\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n automaticRepairsPolicy: !item[\"automaticRepairsPolicy\"]\n ? item[\"automaticRepairsPolicy\"]\n : automaticRepairsPolicyDeserializer(item[\"automaticRepairsPolicy\"]),\n virtualMachineProfile: !item[\"virtualMachineProfile\"]\n ? item[\"virtualMachineProfile\"]\n : virtualMachineScaleSetVMProfileDeserializer(item[\"virtualMachineProfile\"]),\n provisioningState: item[\"provisioningState\"],\n overprovision: item[\"overprovision\"],\n doNotRunExtensionsOnOverprovisionedVMs: item[\"doNotRunExtensionsOnOverprovisionedVMs\"],\n uniqueId: item[\"uniqueId\"],\n singlePlacementGroup: item[\"singlePlacementGroup\"],\n zoneBalance: item[\"zoneBalance\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceDeserializer(item[\"hostGroup\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesDeserializer(item[\"additionalCapabilities\"]),\n scaleInPolicy: !item[\"scaleInPolicy\"]\n ? item[\"scaleInPolicy\"]\n : scaleInPolicyDeserializer(item[\"scaleInPolicy\"]),\n orchestrationMode: item[\"orchestrationMode\"],\n spotRestorePolicy: !item[\"spotRestorePolicy\"]\n ? item[\"spotRestorePolicy\"]\n : spotRestorePolicyDeserializer(item[\"spotRestorePolicy\"]),\n priorityMixPolicy: !item[\"priorityMixPolicy\"]\n ? item[\"priorityMixPolicy\"]\n : priorityMixPolicyDeserializer(item[\"priorityMixPolicy\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n constrainedMaximumCapacity: item[\"constrainedMaximumCapacity\"],\n resiliencyPolicy: !item[\"resiliencyPolicy\"]\n ? item[\"resiliencyPolicy\"]\n : resiliencyPolicyDeserializer(item[\"resiliencyPolicy\"]),\n zonalPlatformFaultDomainAlignMode: item[\"zonalPlatformFaultDomainAlignMode\"],\n skuProfile: !item[\"skuProfile\"]\n ? item[\"skuProfile\"]\n : skuProfileDeserializer(item[\"skuProfile\"]),\n highSpeedInterconnectPlacement: item[\"highSpeedInterconnectPlacement\"],\n lifecycleHooksProfile: !item[\"lifecycleHooksProfile\"]\n ? item[\"lifecycleHooksProfile\"]\n : lifecycleHooksProfileDeserializer(item[\"lifecycleHooksProfile\"]),\n externalHealthPolicy: !item[\"externalHealthPolicy\"]\n ? item[\"externalHealthPolicy\"]\n : externalHealthPolicyDeserializer(item[\"externalHealthPolicy\"]),\n };\n}\n\n/** Describes an upgrade policy - automatic, manual, or rolling. */\nexport interface UpgradePolicy {\n /** Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. */\n mode?: UpgradeMode;\n /** The configuration parameters used while performing a rolling upgrade. */\n rollingUpgradePolicy?: RollingUpgradePolicy;\n /** Configuration parameters used for performing automatic OS Upgrade. */\n automaticOSUpgradePolicy?: AutomaticOSUpgradePolicy;\n}\n\nexport function upgradePolicySerializer(item: UpgradePolicy): any {\n return {\n mode: item[\"mode\"],\n rollingUpgradePolicy: !item[\"rollingUpgradePolicy\"]\n ? item[\"rollingUpgradePolicy\"]\n : rollingUpgradePolicySerializer(item[\"rollingUpgradePolicy\"]),\n automaticOSUpgradePolicy: !item[\"automaticOSUpgradePolicy\"]\n ? item[\"automaticOSUpgradePolicy\"]\n : automaticOSUpgradePolicySerializer(item[\"automaticOSUpgradePolicy\"]),\n };\n}\n\nexport function upgradePolicyDeserializer(item: any): UpgradePolicy {\n return {\n mode: item[\"mode\"],\n rollingUpgradePolicy: !item[\"rollingUpgradePolicy\"]\n ? item[\"rollingUpgradePolicy\"]\n : rollingUpgradePolicyDeserializer(item[\"rollingUpgradePolicy\"]),\n automaticOSUpgradePolicy: !item[\"automaticOSUpgradePolicy\"]\n ? item[\"automaticOSUpgradePolicy\"]\n : automaticOSUpgradePolicyDeserializer(item[\"automaticOSUpgradePolicy\"]),\n };\n}\n\n/** Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. */\nexport type UpgradeMode = \"Automatic\" | \"Manual\" | \"Rolling\";\n\n/** The configuration parameters used while performing a rolling upgrade. */\nexport interface RollingUpgradePolicy {\n /** The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. */\n maxBatchInstancePercent?: number;\n /** The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. */\n maxUnhealthyInstancePercent?: number;\n /** The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. */\n maxUnhealthyUpgradedInstancePercent?: number;\n /** The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). */\n pauseTimeBetweenBatches?: string;\n /** Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. */\n enableCrossZoneUpgrade?: boolean;\n /** Upgrade all unhealthy instances in a scale set before any healthy instances. */\n prioritizeUnhealthyInstances?: boolean;\n /** Rollback failed instances to previous model if the Rolling Upgrade policy is violated. */\n rollbackFailedInstancesOnPolicyBreach?: boolean;\n /** Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. */\n maxSurge?: boolean;\n}\n\nexport function rollingUpgradePolicySerializer(item: RollingUpgradePolicy): any {\n return {\n maxBatchInstancePercent: item[\"maxBatchInstancePercent\"],\n maxUnhealthyInstancePercent: item[\"maxUnhealthyInstancePercent\"],\n maxUnhealthyUpgradedInstancePercent: item[\"maxUnhealthyUpgradedInstancePercent\"],\n pauseTimeBetweenBatches: item[\"pauseTimeBetweenBatches\"],\n enableCrossZoneUpgrade: item[\"enableCrossZoneUpgrade\"],\n prioritizeUnhealthyInstances: item[\"prioritizeUnhealthyInstances\"],\n rollbackFailedInstancesOnPolicyBreach: item[\"rollbackFailedInstancesOnPolicyBreach\"],\n maxSurge: item[\"maxSurge\"],\n };\n}\n\nexport function rollingUpgradePolicyDeserializer(item: any): RollingUpgradePolicy {\n return {\n maxBatchInstancePercent: item[\"maxBatchInstancePercent\"],\n maxUnhealthyInstancePercent: item[\"maxUnhealthyInstancePercent\"],\n maxUnhealthyUpgradedInstancePercent: item[\"maxUnhealthyUpgradedInstancePercent\"],\n pauseTimeBetweenBatches: item[\"pauseTimeBetweenBatches\"],\n enableCrossZoneUpgrade: item[\"enableCrossZoneUpgrade\"],\n prioritizeUnhealthyInstances: item[\"prioritizeUnhealthyInstances\"],\n rollbackFailedInstancesOnPolicyBreach: item[\"rollbackFailedInstancesOnPolicyBreach\"],\n maxSurge: item[\"maxSurge\"],\n };\n}\n\n/** The configuration parameters used for performing automatic OS upgrade. */\nexport interface AutomaticOSUpgradePolicy {\n /** Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. */\n enableAutomaticOSUpgrade?: boolean;\n /** Whether OS image rollback feature should be disabled. Default value is false. */\n disableAutomaticRollback?: boolean;\n /** 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. */\n useRollingUpgradePolicy?: boolean;\n /** Indicates whether Auto OS Upgrade should undergo deferral. Deferred OS upgrades will send advanced notifications on a per-VM basis that an OS upgrade from rolling upgrades is incoming, via the IMDS tag 'Platform.PendingOSUpgrade'. The upgrade then defers until the upgrade is approved via an ApproveRollingUpgrade call. */\n osRollingUpgradeDeferral?: boolean;\n}\n\nexport function automaticOSUpgradePolicySerializer(item: AutomaticOSUpgradePolicy): any {\n return {\n enableAutomaticOSUpgrade: item[\"enableAutomaticOSUpgrade\"],\n disableAutomaticRollback: item[\"disableAutomaticRollback\"],\n useRollingUpgradePolicy: item[\"useRollingUpgradePolicy\"],\n osRollingUpgradeDeferral: item[\"osRollingUpgradeDeferral\"],\n };\n}\n\nexport function automaticOSUpgradePolicyDeserializer(item: any): AutomaticOSUpgradePolicy {\n return {\n enableAutomaticOSUpgrade: item[\"enableAutomaticOSUpgrade\"],\n disableAutomaticRollback: item[\"disableAutomaticRollback\"],\n useRollingUpgradePolicy: item[\"useRollingUpgradePolicy\"],\n osRollingUpgradeDeferral: item[\"osRollingUpgradeDeferral\"],\n };\n}\n\n/** Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations. */\nexport interface ScheduledEventsPolicy {\n /** The configuration parameters used while creating userInitiatedRedeploy scheduled event setting creation. */\n userInitiatedRedeploy?: UserInitiatedRedeploy;\n /** The configuration parameters used while creating userInitiatedReboot scheduled event setting creation. */\n userInitiatedReboot?: UserInitiatedReboot;\n /** The configuration parameters used while publishing scheduledEventsAdditionalPublishingTargets. */\n scheduledEventsAdditionalPublishingTargets?: ScheduledEventsAdditionalPublishingTargets;\n /** The configuration parameters used while creating AllInstancesDown scheduled event setting creation. */\n allInstancesDown?: AllInstancesDown;\n}\n\nexport function scheduledEventsPolicySerializer(item: ScheduledEventsPolicy): any {\n return {\n userInitiatedRedeploy: !item[\"userInitiatedRedeploy\"]\n ? item[\"userInitiatedRedeploy\"]\n : userInitiatedRedeploySerializer(item[\"userInitiatedRedeploy\"]),\n userInitiatedReboot: !item[\"userInitiatedReboot\"]\n ? item[\"userInitiatedReboot\"]\n : userInitiatedRebootSerializer(item[\"userInitiatedReboot\"]),\n scheduledEventsAdditionalPublishingTargets: !item[\"scheduledEventsAdditionalPublishingTargets\"]\n ? item[\"scheduledEventsAdditionalPublishingTargets\"]\n : scheduledEventsAdditionalPublishingTargetsSerializer(\n item[\"scheduledEventsAdditionalPublishingTargets\"],\n ),\n allInstancesDown: !item[\"allInstancesDown\"]\n ? item[\"allInstancesDown\"]\n : allInstancesDownSerializer(item[\"allInstancesDown\"]),\n };\n}\n\nexport function scheduledEventsPolicyDeserializer(item: any): ScheduledEventsPolicy {\n return {\n userInitiatedRedeploy: !item[\"userInitiatedRedeploy\"]\n ? item[\"userInitiatedRedeploy\"]\n : userInitiatedRedeployDeserializer(item[\"userInitiatedRedeploy\"]),\n userInitiatedReboot: !item[\"userInitiatedReboot\"]\n ? item[\"userInitiatedReboot\"]\n : userInitiatedRebootDeserializer(item[\"userInitiatedReboot\"]),\n scheduledEventsAdditionalPublishingTargets: !item[\"scheduledEventsAdditionalPublishingTargets\"]\n ? item[\"scheduledEventsAdditionalPublishingTargets\"]\n : scheduledEventsAdditionalPublishingTargetsDeserializer(\n item[\"scheduledEventsAdditionalPublishingTargets\"],\n ),\n allInstancesDown: !item[\"allInstancesDown\"]\n ? item[\"allInstancesDown\"]\n : allInstancesDownDeserializer(item[\"allInstancesDown\"]),\n };\n}\n\n/** Specifies Redeploy related Scheduled Event related configurations. */\nexport interface UserInitiatedRedeploy {\n /** Specifies Redeploy Scheduled Event related configurations. */\n automaticallyApprove?: boolean;\n}\n\nexport function userInitiatedRedeploySerializer(item: UserInitiatedRedeploy): any {\n return { automaticallyApprove: item[\"automaticallyApprove\"] };\n}\n\nexport function userInitiatedRedeployDeserializer(item: any): UserInitiatedRedeploy {\n return {\n automaticallyApprove: item[\"automaticallyApprove\"],\n };\n}\n\n/** Specifies Reboot related Scheduled Event related configurations. */\nexport interface UserInitiatedReboot {\n /** Specifies Reboot Scheduled Event related configurations. */\n automaticallyApprove?: boolean;\n}\n\nexport function userInitiatedRebootSerializer(item: UserInitiatedReboot): any {\n return { automaticallyApprove: item[\"automaticallyApprove\"] };\n}\n\nexport function userInitiatedRebootDeserializer(item: any): UserInitiatedReboot {\n return {\n automaticallyApprove: item[\"automaticallyApprove\"],\n };\n}\n\n/** model interface ScheduledEventsAdditionalPublishingTargets */\nexport interface ScheduledEventsAdditionalPublishingTargets {\n /** The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event setting. */\n eventGridAndResourceGraph?: EventGridAndResourceGraph;\n}\n\nexport function scheduledEventsAdditionalPublishingTargetsSerializer(\n item: ScheduledEventsAdditionalPublishingTargets,\n): any {\n return {\n eventGridAndResourceGraph: !item[\"eventGridAndResourceGraph\"]\n ? item[\"eventGridAndResourceGraph\"]\n : eventGridAndResourceGraphSerializer(item[\"eventGridAndResourceGraph\"]),\n };\n}\n\nexport function scheduledEventsAdditionalPublishingTargetsDeserializer(\n item: any,\n): ScheduledEventsAdditionalPublishingTargets {\n return {\n eventGridAndResourceGraph: !item[\"eventGridAndResourceGraph\"]\n ? item[\"eventGridAndResourceGraph\"]\n : eventGridAndResourceGraphDeserializer(item[\"eventGridAndResourceGraph\"]),\n };\n}\n\n/** Specifies eventGridAndResourceGraph related Scheduled Event related configurations. */\nexport interface EventGridAndResourceGraph {\n /** Specifies if event grid and resource graph is enabled for Scheduled event related configurations. */\n enable?: boolean;\n /** Specifies the api-version to determine which Scheduled Events configuration schema version will be delivered. */\n scheduledEventsApiVersion?: string;\n}\n\nexport function eventGridAndResourceGraphSerializer(item: EventGridAndResourceGraph): any {\n return { enable: item[\"enable\"], scheduledEventsApiVersion: item[\"scheduledEventsApiVersion\"] };\n}\n\nexport function eventGridAndResourceGraphDeserializer(item: any): EventGridAndResourceGraph {\n return {\n enable: item[\"enable\"],\n scheduledEventsApiVersion: item[\"scheduledEventsApiVersion\"],\n };\n}\n\n/** Specifies if Scheduled Events should be auto-approved when all instances are down. */\nexport interface AllInstancesDown {\n /**\n * Specifies if Scheduled Events should be auto-approved when all instances are down.\n * its default value is true\n */\n automaticallyApprove?: boolean;\n}\n\nexport function allInstancesDownSerializer(item: AllInstancesDown): any {\n return { automaticallyApprove: item[\"automaticallyApprove\"] };\n}\n\nexport function allInstancesDownDeserializer(item: any): AllInstancesDown {\n return {\n automaticallyApprove: item[\"automaticallyApprove\"],\n };\n}\n\n/** Specifies the configuration parameters for automatic repairs on the virtual machine scale set. */\nexport interface AutomaticRepairsPolicy {\n /** Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. */\n enabled?: boolean;\n /** The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). */\n gracePeriod?: string;\n /** Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. */\n repairAction?: RepairAction;\n}\n\nexport function automaticRepairsPolicySerializer(item: AutomaticRepairsPolicy): any {\n return {\n enabled: item[\"enabled\"],\n gracePeriod: item[\"gracePeriod\"],\n repairAction: item[\"repairAction\"],\n };\n}\n\nexport function automaticRepairsPolicyDeserializer(item: any): AutomaticRepairsPolicy {\n return {\n enabled: item[\"enabled\"],\n gracePeriod: item[\"gracePeriod\"],\n repairAction: item[\"repairAction\"],\n };\n}\n\n/** Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. */\nexport enum KnownRepairAction {\n /** Replace */\n Replace = \"Replace\",\n /** Restart */\n Restart = \"Restart\",\n /** Reimage */\n Reimage = \"Reimage\",\n}\n\n/**\n * Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. \\\n * {@link KnownRepairAction} can be used interchangeably with RepairAction,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Replace** \\\n * **Restart** \\\n * **Reimage**\n */\nexport type RepairAction = string;\n\n/** Describes a virtual machine scale set virtual machine profile. */\nexport interface VirtualMachineScaleSetVMProfile {\n /** Specifies the operating system settings for the virtual machines in the scale set. */\n osProfile?: VirtualMachineScaleSetOSProfile;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: VirtualMachineScaleSetStorageProfile;\n /** Specifies properties of the network interfaces of the virtual machines in the scale set. */\n networkProfile?: VirtualMachineScaleSetNetworkProfile;\n /** Specifies the Security related profile settings for the virtual machines in the scale set. */\n securityProfile?: SecurityProfile;\n /** Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */\n diagnosticsProfile?: DiagnosticsProfile;\n /** Specifies a collection of settings for extensions installed on virtual machines in the scale set. */\n extensionProfile?: VirtualMachineScaleSetExtensionProfile;\n /** Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */\n licenseType?: string;\n /** Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. */\n priority?: VirtualMachinePriorityTypes;\n /** Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. */\n evictionPolicy?: VirtualMachineEvictionPolicyTypes;\n /** Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. */\n billingProfile?: BillingProfile;\n /** Specifies Scheduled Event related configurations. */\n scheduledEventsProfile?: ScheduledEventsProfile;\n /** UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. */\n userData?: string;\n /** Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. */\n capacityReservation?: CapacityReservationProfile;\n /** Specifies the gallery applications that should be made available to the VM/VMSS */\n applicationProfile?: ApplicationProfile;\n /** Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. */\n hardwareProfile?: VirtualMachineScaleSetHardwareProfile;\n /** Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 */\n serviceArtifactReference?: ServiceArtifactReference;\n /** Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01 */\n securityPostureReference?: SecurityPostureReference;\n /** Specifies the time in which this VM profile for the Virtual Machine Scale Set was created. This value will be added to VMSS Flex VM tags when creating/updating the VMSS VM Profile. Minimum API version for this property is 2023-09-01. */\n readonly timeCreated?: Date;\n}\n\nexport function virtualMachineScaleSetVMProfileSerializer(\n item: VirtualMachineScaleSetVMProfile,\n): any {\n return {\n osProfile: !item[\"osProfile\"]\n ? item[\"osProfile\"]\n : virtualMachineScaleSetOSProfileSerializer(item[\"osProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : virtualMachineScaleSetStorageProfileSerializer(item[\"storageProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : virtualMachineScaleSetNetworkProfileSerializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileSerializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileSerializer(item[\"diagnosticsProfile\"]),\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : virtualMachineScaleSetExtensionProfileSerializer(item[\"extensionProfile\"]),\n licenseType: item[\"licenseType\"],\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileSerializer(item[\"billingProfile\"]),\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileSerializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileSerializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileSerializer(item[\"applicationProfile\"]),\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : virtualMachineScaleSetHardwareProfileSerializer(item[\"hardwareProfile\"]),\n serviceArtifactReference: !item[\"serviceArtifactReference\"]\n ? item[\"serviceArtifactReference\"]\n : serviceArtifactReferenceSerializer(item[\"serviceArtifactReference\"]),\n securityPostureReference: !item[\"securityPostureReference\"]\n ? item[\"securityPostureReference\"]\n : securityPostureReferenceSerializer(item[\"securityPostureReference\"]),\n };\n}\n\nexport function virtualMachineScaleSetVMProfileDeserializer(\n item: any,\n): VirtualMachineScaleSetVMProfile {\n return {\n osProfile: !item[\"osProfile\"]\n ? item[\"osProfile\"]\n : virtualMachineScaleSetOSProfileDeserializer(item[\"osProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : virtualMachineScaleSetStorageProfileDeserializer(item[\"storageProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : virtualMachineScaleSetNetworkProfileDeserializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileDeserializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileDeserializer(item[\"diagnosticsProfile\"]),\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : virtualMachineScaleSetExtensionProfileDeserializer(item[\"extensionProfile\"]),\n licenseType: item[\"licenseType\"],\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileDeserializer(item[\"billingProfile\"]),\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileDeserializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileDeserializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileDeserializer(item[\"applicationProfile\"]),\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : virtualMachineScaleSetHardwareProfileDeserializer(item[\"hardwareProfile\"]),\n serviceArtifactReference: !item[\"serviceArtifactReference\"]\n ? item[\"serviceArtifactReference\"]\n : serviceArtifactReferenceDeserializer(item[\"serviceArtifactReference\"]),\n securityPostureReference: !item[\"securityPostureReference\"]\n ? item[\"securityPostureReference\"]\n : securityPostureReferenceDeserializer(item[\"securityPostureReference\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n };\n}\n\n/** Describes a virtual machine scale set OS profile. */\nexport interface VirtualMachineScaleSetOSProfile {\n /** Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. */\n computerNamePrefix?: string;\n /** Specifies the name of the administrator account. <br><br> **Windows-only restriction:** Cannot end in \".\" <br><br> **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters */\n adminUsername?: string;\n /** Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\\W_]) <br><br> **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) */\n adminPassword?: string;\n /** Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) */\n customData?: string;\n /** Specifies Windows operating system settings on the virtual machine. */\n windowsConfiguration?: WindowsConfiguration;\n /** Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */\n linuxConfiguration?: LinuxConfiguration;\n /** Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */\n secrets?: VaultSecretGroup[];\n /** Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. */\n allowExtensionOperations?: boolean;\n /** Optional property which must either be set to True or omitted. */\n requireGuestProvisionSignal?: boolean;\n}\n\nexport function virtualMachineScaleSetOSProfileSerializer(\n item: VirtualMachineScaleSetOSProfile,\n): any {\n return {\n computerNamePrefix: item[\"computerNamePrefix\"],\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n customData: item[\"customData\"],\n windowsConfiguration: !item[\"windowsConfiguration\"]\n ? item[\"windowsConfiguration\"]\n : windowsConfigurationSerializer(item[\"windowsConfiguration\"]),\n linuxConfiguration: !item[\"linuxConfiguration\"]\n ? item[\"linuxConfiguration\"]\n : linuxConfigurationSerializer(item[\"linuxConfiguration\"]),\n secrets: !item[\"secrets\"] ? item[\"secrets\"] : vaultSecretGroupArraySerializer(item[\"secrets\"]),\n allowExtensionOperations: item[\"allowExtensionOperations\"],\n requireGuestProvisionSignal: item[\"requireGuestProvisionSignal\"],\n };\n}\n\nexport function virtualMachineScaleSetOSProfileDeserializer(\n item: any,\n): VirtualMachineScaleSetOSProfile {\n return {\n computerNamePrefix: item[\"computerNamePrefix\"],\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n customData: item[\"customData\"],\n windowsConfiguration: !item[\"windowsConfiguration\"]\n ? item[\"windowsConfiguration\"]\n : windowsConfigurationDeserializer(item[\"windowsConfiguration\"]),\n linuxConfiguration: !item[\"linuxConfiguration\"]\n ? item[\"linuxConfiguration\"]\n : linuxConfigurationDeserializer(item[\"linuxConfiguration\"]),\n secrets: !item[\"secrets\"]\n ? item[\"secrets\"]\n : vaultSecretGroupArrayDeserializer(item[\"secrets\"]),\n allowExtensionOperations: item[\"allowExtensionOperations\"],\n requireGuestProvisionSignal: item[\"requireGuestProvisionSignal\"],\n };\n}\n\n/** Specifies Windows operating system settings on the virtual machine. */\nexport interface WindowsConfiguration {\n /** Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. */\n provisionVMAgent?: boolean;\n /** Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. */\n enableAutomaticUpdates?: boolean;\n /** Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). */\n timeZone?: string;\n /** Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. */\n additionalUnattendContent?: AdditionalUnattendContent[];\n /** [Preview Feature] Specifies settings related to VM Guest Patching on Windows. */\n patchSettings?: PatchSettings;\n /** Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. */\n winRM?: WinRMConfiguration;\n /** Indicates whether VMAgent Platform Updates are enabled for the Windows Virtual Machine. */\n readonly enableVMAgentPlatformUpdates?: boolean;\n}\n\nexport function windowsConfigurationSerializer(item: WindowsConfiguration): any {\n return {\n provisionVMAgent: item[\"provisionVMAgent\"],\n enableAutomaticUpdates: item[\"enableAutomaticUpdates\"],\n timeZone: item[\"timeZone\"],\n additionalUnattendContent: !item[\"additionalUnattendContent\"]\n ? item[\"additionalUnattendContent\"]\n : additionalUnattendContentArraySerializer(item[\"additionalUnattendContent\"]),\n patchSettings: !item[\"patchSettings\"]\n ? item[\"patchSettings\"]\n : patchSettingsSerializer(item[\"patchSettings\"]),\n winRM: !item[\"winRM\"] ? item[\"winRM\"] : winRMConfigurationSerializer(item[\"winRM\"]),\n };\n}\n\nexport function windowsConfigurationDeserializer(item: any): WindowsConfiguration {\n return {\n provisionVMAgent: item[\"provisionVMAgent\"],\n enableAutomaticUpdates: item[\"enableAutomaticUpdates\"],\n timeZone: item[\"timeZone\"],\n additionalUnattendContent: !item[\"additionalUnattendContent\"]\n ? item[\"additionalUnattendContent\"]\n : additionalUnattendContentArrayDeserializer(item[\"additionalUnattendContent\"]),\n patchSettings: !item[\"patchSettings\"]\n ? item[\"patchSettings\"]\n : patchSettingsDeserializer(item[\"patchSettings\"]),\n winRM: !item[\"winRM\"] ? item[\"winRM\"] : winRMConfigurationDeserializer(item[\"winRM\"]),\n enableVMAgentPlatformUpdates: item[\"enableVMAgentPlatformUpdates\"],\n };\n}\n\nexport function additionalUnattendContentArraySerializer(\n result: Array<AdditionalUnattendContent>,\n): any[] {\n return result.map((item) => {\n return additionalUnattendContentSerializer(item);\n });\n}\n\nexport function additionalUnattendContentArrayDeserializer(\n result: Array<AdditionalUnattendContent>,\n): any[] {\n return result.map((item) => {\n return additionalUnattendContentDeserializer(item);\n });\n}\n\n/** Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. */\nexport interface AdditionalUnattendContent {\n /** The pass name. Currently, the only allowable value is OobeSystem. */\n passName?: PassNames;\n /** The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. */\n componentName?: ComponentNames;\n /** Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. */\n settingName?: SettingNames;\n /** Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. */\n content?: string;\n}\n\nexport function additionalUnattendContentSerializer(item: AdditionalUnattendContent): any {\n return {\n passName: item[\"passName\"],\n componentName: item[\"componentName\"],\n settingName: item[\"settingName\"],\n content: item[\"content\"],\n };\n}\n\nexport function additionalUnattendContentDeserializer(item: any): AdditionalUnattendContent {\n return {\n passName: item[\"passName\"],\n componentName: item[\"componentName\"],\n settingName: item[\"settingName\"],\n content: item[\"content\"],\n };\n}\n\n/** Type of PassNames */\nexport type PassNames = \"OobeSystem\";\n/** The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. */\nexport type ComponentNames = \"Microsoft-Windows-Shell-Setup\";\n/** Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. */\nexport type SettingNames = \"AutoLogon\" | \"FirstLogonCommands\";\n\n/** Specifies settings related to VM Guest Patching on Windows. */\nexport interface PatchSettings {\n /** Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true */\n patchMode?: WindowsVMGuestPatchMode;\n /** Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. */\n enableHotpatching?: boolean;\n /** Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine.<br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. */\n assessmentMode?: WindowsPatchAssessmentMode;\n /** Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. */\n automaticByPlatformSettings?: WindowsVMGuestPatchAutomaticByPlatformSettings;\n}\n\nexport function patchSettingsSerializer(item: PatchSettings): any {\n return {\n patchMode: item[\"patchMode\"],\n enableHotpatching: item[\"enableHotpatching\"],\n assessmentMode: item[\"assessmentMode\"],\n automaticByPlatformSettings: !item[\"automaticByPlatformSettings\"]\n ? item[\"automaticByPlatformSettings\"]\n : windowsVMGuestPatchAutomaticByPlatformSettingsSerializer(\n item[\"automaticByPlatformSettings\"],\n ),\n };\n}\n\nexport function patchSettingsDeserializer(item: any): PatchSettings {\n return {\n patchMode: item[\"patchMode\"],\n enableHotpatching: item[\"enableHotpatching\"],\n assessmentMode: item[\"assessmentMode\"],\n automaticByPlatformSettings: !item[\"automaticByPlatformSettings\"]\n ? item[\"automaticByPlatformSettings\"]\n : windowsVMGuestPatchAutomaticByPlatformSettingsDeserializer(\n item[\"automaticByPlatformSettings\"],\n ),\n };\n}\n\n/** Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true */\nexport enum KnownWindowsVMGuestPatchMode {\n /** Manual */\n Manual = \"Manual\",\n /** AutomaticByOS */\n AutomaticByOS = \"AutomaticByOS\",\n /** AutomaticByPlatform */\n AutomaticByPlatform = \"AutomaticByPlatform\",\n}\n\n/**\n * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true \\\n * {@link KnownWindowsVMGuestPatchMode} can be used interchangeably with WindowsVMGuestPatchMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual** \\\n * **AutomaticByOS** \\\n * **AutomaticByPlatform**\n */\nexport type WindowsVMGuestPatchMode = string;\n\n/** Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine.<br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. */\nexport enum KnownWindowsPatchAssessmentMode {\n /** ImageDefault */\n ImageDefault = \"ImageDefault\",\n /** AutomaticByPlatform */\n AutomaticByPlatform = \"AutomaticByPlatform\",\n}\n\n/**\n * Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine.<br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. \\\n * {@link KnownWindowsPatchAssessmentMode} can be used interchangeably with WindowsPatchAssessmentMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ImageDefault** \\\n * **AutomaticByPlatform**\n */\nexport type WindowsPatchAssessmentMode = string;\n\n/** Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. */\nexport interface WindowsVMGuestPatchAutomaticByPlatformSettings {\n /** Specifies the reboot setting for all AutomaticByPlatform patch installation operations. */\n rebootSetting?: WindowsVMGuestPatchAutomaticByPlatformRebootSetting;\n /** Enables customer to schedule patching without accidental upgrades */\n bypassPlatformSafetyChecksOnUserSchedule?: boolean;\n}\n\nexport function windowsVMGuestPatchAutomaticByPlatformSettingsSerializer(\n item: WindowsVMGuestPatchAutomaticByPlatformSettings,\n): any {\n return {\n rebootSetting: item[\"rebootSetting\"],\n bypassPlatformSafetyChecksOnUserSchedule: item[\"bypassPlatformSafetyChecksOnUserSchedule\"],\n };\n}\n\nexport function windowsVMGuestPatchAutomaticByPlatformSettingsDeserializer(\n item: any,\n): WindowsVMGuestPatchAutomaticByPlatformSettings {\n return {\n rebootSetting: item[\"rebootSetting\"],\n bypassPlatformSafetyChecksOnUserSchedule: item[\"bypassPlatformSafetyChecksOnUserSchedule\"],\n };\n}\n\n/** Specifies the reboot setting for all AutomaticByPlatform patch installation operations. */\nexport enum KnownWindowsVMGuestPatchAutomaticByPlatformRebootSetting {\n /** Unknown */\n Unknown = \"Unknown\",\n /** IfRequired */\n IfRequired = \"IfRequired\",\n /** Never */\n Never = \"Never\",\n /** Always */\n Always = \"Always\",\n}\n\n/**\n * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. \\\n * {@link KnownWindowsVMGuestPatchAutomaticByPlatformRebootSetting} can be used interchangeably with WindowsVMGuestPatchAutomaticByPlatformRebootSetting,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **IfRequired** \\\n * **Never** \\\n * **Always**\n */\nexport type WindowsVMGuestPatchAutomaticByPlatformRebootSetting = string;\n\n/** Describes Windows Remote Management configuration of the VM */\nexport interface WinRMConfiguration {\n /** The list of Windows Remote Management listeners */\n listeners?: WinRMListener[];\n}\n\nexport function winRMConfigurationSerializer(item: WinRMConfiguration): any {\n return {\n listeners: !item[\"listeners\"]\n ? item[\"listeners\"]\n : winRMListenerArraySerializer(item[\"listeners\"]),\n };\n}\n\nexport function winRMConfigurationDeserializer(item: any): WinRMConfiguration {\n return {\n listeners: !item[\"listeners\"]\n ? item[\"listeners\"]\n : winRMListenerArrayDeserializer(item[\"listeners\"]),\n };\n}\n\nexport function winRMListenerArraySerializer(result: Array<WinRMListener>): any[] {\n return result.map((item) => {\n return winRMListenerSerializer(item);\n });\n}\n\nexport function winRMListenerArrayDeserializer(result: Array<WinRMListener>): any[] {\n return result.map((item) => {\n return winRMListenerDeserializer(item);\n });\n}\n\n/** Describes Protocol and thumbprint of Windows Remote Management listener */\nexport interface WinRMListener {\n /** Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** */\n protocol?: ProtocolTypes;\n /** This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> \"data\":\"<Base64-encoded-certificate>\",<br> \"dataType\":\"pfx\",<br> \"password\":\"<pfx-file-password>\"<br>} <br> To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */\n certificateUrl?: string;\n}\n\nexport function winRMListenerSerializer(item: WinRMListener): any {\n return { protocol: item[\"protocol\"], certificateUrl: item[\"certificateUrl\"] };\n}\n\nexport function winRMListenerDeserializer(item: any): WinRMListener {\n return {\n protocol: item[\"protocol\"],\n certificateUrl: item[\"certificateUrl\"],\n };\n}\n\n/** Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** */\nexport type ProtocolTypes = \"Http\" | \"Https\";\n\n/** Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */\nexport interface LinuxConfiguration {\n /** Specifies whether password authentication should be disabled. */\n disablePasswordAuthentication?: boolean;\n /** Specifies the ssh key configuration for a Linux OS. */\n ssh?: SshConfiguration;\n /** Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. */\n provisionVMAgent?: boolean;\n /** [Preview Feature] Specifies settings related to VM Guest Patching on Linux. */\n patchSettings?: LinuxPatchSettings;\n /** Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. */\n enableVMAgentPlatformUpdates?: boolean;\n}\n\nexport function linuxConfigurationSerializer(item: LinuxConfiguration): any {\n return {\n disablePasswordAuthentication: item[\"disablePasswordAuthentication\"],\n ssh: !item[\"ssh\"] ? item[\"ssh\"] : sshConfigurationSerializer(item[\"ssh\"]),\n provisionVMAgent: item[\"provisionVMAgent\"],\n patchSettings: !item[\"patchSettings\"]\n ? item[\"patchSettings\"]\n : linuxPatchSettingsSerializer(item[\"patchSettings\"]),\n enableVMAgentPlatformUpdates: item[\"enableVMAgentPlatformUpdates\"],\n };\n}\n\nexport function linuxConfigurationDeserializer(item: any): LinuxConfiguration {\n return {\n disablePasswordAuthentication: item[\"disablePasswordAuthentication\"],\n ssh: !item[\"ssh\"] ? item[\"ssh\"] : sshConfigurationDeserializer(item[\"ssh\"]),\n provisionVMAgent: item[\"provisionVMAgent\"],\n patchSettings: !item[\"patchSettings\"]\n ? item[\"patchSettings\"]\n : linuxPatchSettingsDeserializer(item[\"patchSettings\"]),\n enableVMAgentPlatformUpdates: item[\"enableVMAgentPlatformUpdates\"],\n };\n}\n\n/** SSH configuration for Linux based VMs running on Azure */\nexport interface SshConfiguration {\n /** The list of SSH public keys used to authenticate with linux based VMs. */\n publicKeys?: SshPublicKey[];\n}\n\nexport function sshConfigurationSerializer(item: SshConfiguration): any {\n return {\n publicKeys: !item[\"publicKeys\"]\n ? item[\"publicKeys\"]\n : sshPublicKeyArraySerializer(item[\"publicKeys\"]),\n };\n}\n\nexport function sshConfigurationDeserializer(item: any): SshConfiguration {\n return {\n publicKeys: !item[\"publicKeys\"]\n ? item[\"publicKeys\"]\n : sshPublicKeyArrayDeserializer(item[\"publicKeys\"]),\n };\n}\n\nexport function sshPublicKeyArraySerializer(result: Array<SshPublicKey>): any[] {\n return result.map((item) => {\n return sshPublicKeySerializer(item);\n });\n}\n\nexport function sshPublicKeyArrayDeserializer(result: Array<SshPublicKey>): any[] {\n return result.map((item) => {\n return sshPublicKeyDeserializer(item);\n });\n}\n\n/** Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. */\nexport interface SshPublicKey {\n /** Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys */\n path?: string;\n /** SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). */\n keyData?: string;\n}\n\nexport function sshPublicKeySerializer(item: SshPublicKey): any {\n return { path: item[\"path\"], keyData: item[\"keyData\"] };\n}\n\nexport function sshPublicKeyDeserializer(item: any): SshPublicKey {\n return {\n path: item[\"path\"],\n keyData: item[\"keyData\"],\n };\n}\n\n/** Specifies settings related to VM Guest Patching on Linux. */\nexport interface LinuxPatchSettings {\n /** Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The virtual machine's default patching configuration is used. <br /><br /> **AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true */\n patchMode?: LinuxVMGuestPatchMode;\n /** Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine. <br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. */\n assessmentMode?: LinuxPatchAssessmentMode;\n /** Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. */\n automaticByPlatformSettings?: LinuxVMGuestPatchAutomaticByPlatformSettings;\n}\n\nexport function linuxPatchSettingsSerializer(item: LinuxPatchSettings): any {\n return {\n patchMode: item[\"patchMode\"],\n assessmentMode: item[\"assessmentMode\"],\n automaticByPlatformSettings: !item[\"automaticByPlatformSettings\"]\n ? item[\"automaticByPlatformSettings\"]\n : linuxVMGuestPatchAutomaticByPlatformSettingsSerializer(item[\"automaticByPlatformSettings\"]),\n };\n}\n\nexport function linuxPatchSettingsDeserializer(item: any): LinuxPatchSettings {\n return {\n patchMode: item[\"patchMode\"],\n assessmentMode: item[\"assessmentMode\"],\n automaticByPlatformSettings: !item[\"automaticByPlatformSettings\"]\n ? item[\"automaticByPlatformSettings\"]\n : linuxVMGuestPatchAutomaticByPlatformSettingsDeserializer(\n item[\"automaticByPlatformSettings\"],\n ),\n };\n}\n\n/** Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The virtual machine's default patching configuration is used. <br /><br /> **AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true */\nexport enum KnownLinuxVMGuestPatchMode {\n /** ImageDefault */\n ImageDefault = \"ImageDefault\",\n /** AutomaticByPlatform */\n AutomaticByPlatform = \"AutomaticByPlatform\",\n}\n\n/**\n * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The virtual machine's default patching configuration is used. <br /><br /> **AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true \\\n * {@link KnownLinuxVMGuestPatchMode} can be used interchangeably with LinuxVMGuestPatchMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ImageDefault** \\\n * **AutomaticByPlatform**\n */\nexport type LinuxVMGuestPatchMode = string;\n\n/** Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine. <br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. */\nexport enum KnownLinuxPatchAssessmentMode {\n /** ImageDefault */\n ImageDefault = \"ImageDefault\",\n /** AutomaticByPlatform */\n AutomaticByPlatform = \"AutomaticByPlatform\",\n}\n\n/**\n * Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine. <br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. \\\n * {@link KnownLinuxPatchAssessmentMode} can be used interchangeably with LinuxPatchAssessmentMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ImageDefault** \\\n * **AutomaticByPlatform**\n */\nexport type LinuxPatchAssessmentMode = string;\n\n/** Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. */\nexport interface LinuxVMGuestPatchAutomaticByPlatformSettings {\n /** Specifies the reboot setting for all AutomaticByPlatform patch installation operations. */\n rebootSetting?: LinuxVMGuestPatchAutomaticByPlatformRebootSetting;\n /** Enables customer to schedule patching without accidental upgrades */\n bypassPlatformSafetyChecksOnUserSchedule?: boolean;\n}\n\nexport function linuxVMGuestPatchAutomaticByPlatformSettingsSerializer(\n item: LinuxVMGuestPatchAutomaticByPlatformSettings,\n): any {\n return {\n rebootSetting: item[\"rebootSetting\"],\n bypassPlatformSafetyChecksOnUserSchedule: item[\"bypassPlatformSafetyChecksOnUserSchedule\"],\n };\n}\n\nexport function linuxVMGuestPatchAutomaticByPlatformSettingsDeserializer(\n item: any,\n): LinuxVMGuestPatchAutomaticByPlatformSettings {\n return {\n rebootSetting: item[\"rebootSetting\"],\n bypassPlatformSafetyChecksOnUserSchedule: item[\"bypassPlatformSafetyChecksOnUserSchedule\"],\n };\n}\n\n/** Specifies the reboot setting for all AutomaticByPlatform patch installation operations. */\nexport enum KnownLinuxVMGuestPatchAutomaticByPlatformRebootSetting {\n /** Unknown */\n Unknown = \"Unknown\",\n /** IfRequired */\n IfRequired = \"IfRequired\",\n /** Never */\n Never = \"Never\",\n /** Always */\n Always = \"Always\",\n}\n\n/**\n * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. \\\n * {@link KnownLinuxVMGuestPatchAutomaticByPlatformRebootSetting} can be used interchangeably with LinuxVMGuestPatchAutomaticByPlatformRebootSetting,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **IfRequired** \\\n * **Never** \\\n * **Always**\n */\nexport type LinuxVMGuestPatchAutomaticByPlatformRebootSetting = string;\n\nexport function vaultSecretGroupArraySerializer(result: Array<VaultSecretGroup>): any[] {\n return result.map((item) => {\n return vaultSecretGroupSerializer(item);\n });\n}\n\nexport function vaultSecretGroupArrayDeserializer(result: Array<VaultSecretGroup>): any[] {\n return result.map((item) => {\n return vaultSecretGroupDeserializer(item);\n });\n}\n\n/** Describes a set of certificates which are all in the same Key Vault. */\nexport interface VaultSecretGroup {\n /** The relative URL of the Key Vault containing all of the certificates in VaultCertificates. */\n sourceVault?: SubResource;\n /** The list of key vault references in SourceVault which contain certificates. */\n vaultCertificates?: VaultCertificate[];\n}\n\nexport function vaultSecretGroupSerializer(item: VaultSecretGroup): any {\n return {\n sourceVault: !item[\"sourceVault\"]\n ? item[\"sourceVault\"]\n : subResourceSerializer(item[\"sourceVault\"]),\n vaultCertificates: !item[\"vaultCertificates\"]\n ? item[\"vaultCertificates\"]\n : vaultCertificateArraySerializer(item[\"vaultCertificates\"]),\n };\n}\n\nexport function vaultSecretGroupDeserializer(item: any): VaultSecretGroup {\n return {\n sourceVault: !item[\"sourceVault\"]\n ? item[\"sourceVault\"]\n : subResourceDeserializer(item[\"sourceVault\"]),\n vaultCertificates: !item[\"vaultCertificates\"]\n ? item[\"vaultCertificates\"]\n : vaultCertificateArrayDeserializer(item[\"vaultCertificates\"]),\n };\n}\n\nexport function vaultCertificateArraySerializer(result: Array<VaultCertificate>): any[] {\n return result.map((item) => {\n return vaultCertificateSerializer(item);\n });\n}\n\nexport function vaultCertificateArrayDeserializer(result: Array<VaultCertificate>): any[] {\n return result.map((item) => {\n return vaultCertificateDeserializer(item);\n });\n}\n\n/** Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. */\nexport interface VaultCertificate {\n /** This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> \"data\":\"<Base64-encoded-certificate>\",<br> \"dataType\":\"pfx\",<br> \"password\":\"<pfx-file-password>\"<br>} <br> To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */\n certificateUrl?: string;\n /** For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. */\n certificateStore?: string;\n}\n\nexport function vaultCertificateSerializer(item: VaultCertificate): any {\n return { certificateUrl: item[\"certificateUrl\"], certificateStore: item[\"certificateStore\"] };\n}\n\nexport function vaultCertificateDeserializer(item: any): VaultCertificate {\n return {\n certificateUrl: item[\"certificateUrl\"],\n certificateStore: item[\"certificateStore\"],\n };\n}\n\n/** Describes a virtual machine scale set storage profile. */\nexport interface VirtualMachineScaleSetStorageProfile {\n /** Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. */\n imageReference?: ImageReference;\n /** Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */\n osDisk?: VirtualMachineScaleSetOSDisk;\n /** Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */\n dataDisks?: VirtualMachineScaleSetDataDisk[];\n /** Specifies the disk controller type configured for the virtual machines in the scale set. Minimum api-version: 2022-08-01 */\n diskControllerType?: DiskControllerTypes;\n}\n\nexport function virtualMachineScaleSetStorageProfileSerializer(\n item: VirtualMachineScaleSetStorageProfile,\n): any {\n return {\n imageReference: !item[\"imageReference\"]\n ? item[\"imageReference\"]\n : imageReferenceSerializer(item[\"imageReference\"]),\n osDisk: !item[\"osDisk\"]\n ? item[\"osDisk\"]\n : virtualMachineScaleSetOSDiskSerializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : virtualMachineScaleSetDataDiskArraySerializer(item[\"dataDisks\"]),\n diskControllerType: item[\"diskControllerType\"],\n };\n}\n\nexport function virtualMachineScaleSetStorageProfileDeserializer(\n item: any,\n): VirtualMachineScaleSetStorageProfile {\n return {\n imageReference: !item[\"imageReference\"]\n ? item[\"imageReference\"]\n : imageReferenceDeserializer(item[\"imageReference\"]),\n osDisk: !item[\"osDisk\"]\n ? item[\"osDisk\"]\n : virtualMachineScaleSetOSDiskDeserializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : virtualMachineScaleSetDataDiskArrayDeserializer(item[\"dataDisks\"]),\n diskControllerType: item[\"diskControllerType\"],\n };\n}\n\n/** Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. */\nexport interface ImageReference extends SubResource {\n /** The image publisher. */\n publisher?: string;\n /** Specifies the offer of the platform image or marketplace image used to create the virtual machine. */\n offer?: string;\n /** The image SKU. */\n sku?: string;\n /** Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. */\n version?: string;\n /** Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. */\n readonly exactVersion?: string;\n /** Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. */\n sharedGalleryImageId?: string;\n /** Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. */\n communityGalleryImageId?: string;\n}\n\nexport function imageReferenceSerializer(item: ImageReference): any {\n return {\n id: item[\"id\"],\n publisher: item[\"publisher\"],\n offer: item[\"offer\"],\n sku: item[\"sku\"],\n version: item[\"version\"],\n sharedGalleryImageId: item[\"sharedGalleryImageId\"],\n communityGalleryImageId: item[\"communityGalleryImageId\"],\n };\n}\n\nexport function imageReferenceDeserializer(item: any): ImageReference {\n return {\n id: item[\"id\"],\n publisher: item[\"publisher\"],\n offer: item[\"offer\"],\n sku: item[\"sku\"],\n version: item[\"version\"],\n exactVersion: item[\"exactVersion\"],\n sharedGalleryImageId: item[\"sharedGalleryImageId\"],\n communityGalleryImageId: item[\"communityGalleryImageId\"],\n };\n}\n\n/** Describes a virtual machine scale set operating system disk. */\nexport interface VirtualMachineScaleSetOSDisk {\n /** The disk name. */\n name?: string;\n /** Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** */\n caching?: CachingTypes;\n /** Specifies whether writeAccelerator should be enabled or disabled on the disk. */\n writeAcceleratorEnabled?: boolean;\n /** Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. */\n createOption: DiskCreateOptionTypes;\n /** Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. */\n diffDiskSettings?: DiffDiskSettings;\n /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. */\n diskSizeGB?: number;\n /** Specifies the storage fault domain alignment type for the disk. */\n storageFaultDomainAlignment?: StorageFaultDomainAlignmentType;\n /** This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** */\n osType?: OperatingSystemTypes;\n /** Specifies information about the unmanaged user image to base the scale set on. */\n image?: VirtualHardDisk;\n /** Specifies the container urls that are used to store operating system disks for the scale set. */\n vhdContainers?: string[];\n /** The managed disk parameters. */\n managedDisk?: VirtualMachineScaleSetManagedDiskParameters;\n /** Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only). <br><br> Possible values: <br><br> **Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.<br><br> **Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted. <br><br> The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. */\n deleteOption?: DiskDeleteOptionTypes;\n}\n\nexport function virtualMachineScaleSetOSDiskSerializer(item: VirtualMachineScaleSetOSDisk): any {\n return {\n name: item[\"name\"],\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n createOption: item[\"createOption\"],\n diffDiskSettings: !item[\"diffDiskSettings\"]\n ? item[\"diffDiskSettings\"]\n : diffDiskSettingsSerializer(item[\"diffDiskSettings\"]),\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n osType: item[\"osType\"],\n image: !item[\"image\"] ? item[\"image\"] : virtualHardDiskSerializer(item[\"image\"]),\n vhdContainers: !item[\"vhdContainers\"]\n ? item[\"vhdContainers\"]\n : item[\"vhdContainers\"].map((p: any) => {\n return p;\n }),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : virtualMachineScaleSetManagedDiskParametersSerializer(item[\"managedDisk\"]),\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function virtualMachineScaleSetOSDiskDeserializer(item: any): VirtualMachineScaleSetOSDisk {\n return {\n name: item[\"name\"],\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n createOption: item[\"createOption\"],\n diffDiskSettings: !item[\"diffDiskSettings\"]\n ? item[\"diffDiskSettings\"]\n : diffDiskSettingsDeserializer(item[\"diffDiskSettings\"]),\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n osType: item[\"osType\"],\n image: !item[\"image\"] ? item[\"image\"] : virtualHardDiskDeserializer(item[\"image\"]),\n vhdContainers: !item[\"vhdContainers\"]\n ? item[\"vhdContainers\"]\n : item[\"vhdContainers\"].map((p: any) => {\n return p;\n }),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : virtualMachineScaleSetManagedDiskParametersDeserializer(item[\"managedDisk\"]),\n deleteOption: item[\"deleteOption\"],\n };\n}\n\n/** Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage** */\nexport type CachingTypes = \"None\" | \"ReadOnly\" | \"ReadWrite\";\n\n/** Specifies how the virtual machine disk should be created. Possible values are **Attach:** This value is used when you are using a specialized disk to create the virtual machine. **FromImage:** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. **Empty:** This value is used when creating an empty data disk. **Copy:** This value is used to create a data disk from a snapshot or another disk. **Restore:** This value is used to create a data disk from a disk restore point. */\nexport enum KnownDiskCreateOptionTypes {\n /** FromImage */\n FromImage = \"FromImage\",\n /** Empty */\n Empty = \"Empty\",\n /** Attach */\n Attach = \"Attach\",\n /** Copy */\n Copy = \"Copy\",\n /** Restore */\n Restore = \"Restore\",\n}\n\n/**\n * Specifies how the virtual machine disk should be created. Possible values are **Attach:** This value is used when you are using a specialized disk to create the virtual machine. **FromImage:** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. **Empty:** This value is used when creating an empty data disk. **Copy:** This value is used to create a data disk from a snapshot or another disk. **Restore:** This value is used to create a data disk from a disk restore point. \\\n * {@link KnownDiskCreateOptionTypes} can be used interchangeably with DiskCreateOptionTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **FromImage** \\\n * **Empty** \\\n * **Attach** \\\n * **Copy** \\\n * **Restore**\n */\nexport type DiskCreateOptionTypes = string;\n\n/** Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. */\nexport interface DiffDiskSettings {\n /** Specifies the ephemeral disk settings for operating system disk. */\n option?: DiffDiskOptions;\n /** Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk,** **NvmeDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** or **NvmeDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. Minimum api-version for NvmeDisk: 2024-03-01. */\n placement?: DiffDiskPlacement;\n /** Specifies whether or not to enable full caching for this VM which will cache the OS disk locally on the host and make this VM more resilient to storage outages */\n enableFullCaching?: boolean;\n}\n\nexport function diffDiskSettingsSerializer(item: DiffDiskSettings): any {\n return {\n option: item[\"option\"],\n placement: item[\"placement\"],\n enableFullCaching: item[\"enableFullCaching\"],\n };\n}\n\nexport function diffDiskSettingsDeserializer(item: any): DiffDiskSettings {\n return {\n option: item[\"option\"],\n placement: item[\"placement\"],\n enableFullCaching: item[\"enableFullCaching\"],\n };\n}\n\n/** Specifies the ephemeral disk option for operating system disk. */\nexport enum KnownDiffDiskOptions {\n /** Local */\n Local = \"Local\",\n}\n\n/**\n * Specifies the ephemeral disk option for operating system disk. \\\n * {@link KnownDiffDiskOptions} can be used interchangeably with DiffDiskOptions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Local**\n */\nexport type DiffDiskOptions = string;\n\n/** Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk, resource disk or nvme disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. Minimum api-version for NvmeDisk: 2024-03-01. */\nexport enum KnownDiffDiskPlacement {\n /** CacheDisk */\n CacheDisk = \"CacheDisk\",\n /** ResourceDisk */\n ResourceDisk = \"ResourceDisk\",\n /** NvmeDisk */\n NvmeDisk = \"NvmeDisk\",\n}\n\n/**\n * Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk, resource disk or nvme disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. Minimum api-version for NvmeDisk: 2024-03-01. \\\n * {@link KnownDiffDiskPlacement} can be used interchangeably with DiffDiskPlacement,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CacheDisk** \\\n * **ResourceDisk** \\\n * **NvmeDisk**\n */\nexport type DiffDiskPlacement = string;\n\n/** Specifies the storage fault domain alignment type for the disk. */\nexport enum KnownStorageFaultDomainAlignmentType {\n /** Disk Storage Fault Domains are mapped to Compute Fault Domains. Deployment fails if disk does not support enough Fault Domains. */\n Aligned = \"Aligned\",\n /** Attempt to map Storage Fault Domains to Compute Fault Domains. Disks are unaligned if disk does not support enough Fault Domains. */\n BestEffortAligned = \"BestEffortAligned\",\n}\n\n/**\n * Specifies the storage fault domain alignment type for the disk. \\\n * {@link KnownStorageFaultDomainAlignmentType} can be used interchangeably with StorageFaultDomainAlignmentType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Aligned**: Disk Storage Fault Domains are mapped to Compute Fault Domains. Deployment fails if disk does not support enough Fault Domains. \\\n * **BestEffortAligned**: Attempt to map Storage Fault Domains to Compute Fault Domains. Disks are unaligned if disk does not support enough Fault Domains.\n */\nexport type StorageFaultDomainAlignmentType = string;\n\n/** Describes the uri of a disk. */\nexport interface VirtualHardDisk {\n /** Specifies the virtual hard disk's uri. */\n uri?: string;\n}\n\nexport function virtualHardDiskSerializer(item: VirtualHardDisk): any {\n return { uri: item[\"uri\"] };\n}\n\nexport function virtualHardDiskDeserializer(item: any): VirtualHardDisk {\n return {\n uri: item[\"uri\"],\n };\n}\n\n/** Describes the parameters of a ScaleSet managed disk. */\nexport interface VirtualMachineScaleSetManagedDiskParameters {\n /** Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. */\n storageAccountType?: StorageAccountTypes;\n /** Specifies the customer managed disk encryption set resource id for the managed disk. */\n diskEncryptionSet?: DiskEncryptionSetParameters;\n /** Specifies the security profile for the managed disk. */\n securityProfile?: VMDiskSecurityProfile;\n}\n\nexport function virtualMachineScaleSetManagedDiskParametersSerializer(\n item: VirtualMachineScaleSetManagedDiskParameters,\n): any {\n return {\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : vmDiskSecurityProfileSerializer(item[\"securityProfile\"]),\n };\n}\n\nexport function virtualMachineScaleSetManagedDiskParametersDeserializer(\n item: any,\n): VirtualMachineScaleSetManagedDiskParameters {\n return {\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersDeserializer(item[\"diskEncryptionSet\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : vmDiskSecurityProfileDeserializer(item[\"securityProfile\"]),\n };\n}\n\n/** Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types */\nexport enum KnownStorageAccountTypes {\n /** Standard_LRS */\n StandardLRS = \"Standard_LRS\",\n /** Premium_LRS */\n PremiumLRS = \"Premium_LRS\",\n /** StandardSSD_LRS */\n StandardSSDLRS = \"StandardSSD_LRS\",\n /** UltraSSD_LRS */\n UltraSSDLRS = \"UltraSSD_LRS\",\n /** Premium_ZRS */\n PremiumZRS = \"Premium_ZRS\",\n /** StandardSSD_ZRS */\n StandardSSDZRS = \"StandardSSD_ZRS\",\n /** PremiumV2_LRS */\n PremiumV2LRS = \"PremiumV2_LRS\",\n}\n\n/**\n * Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types \\\n * {@link KnownStorageAccountTypes} can be used interchangeably with StorageAccountTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard_LRS** \\\n * **Premium_LRS** \\\n * **StandardSSD_LRS** \\\n * **UltraSSD_LRS** \\\n * **Premium_ZRS** \\\n * **StandardSSD_ZRS** \\\n * **PremiumV2_LRS**\n */\nexport type StorageAccountTypes = string;\n\n/** Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. */\nexport interface DiskEncryptionSetParameters extends SubResource {}\n\nexport function diskEncryptionSetParametersSerializer(item: DiskEncryptionSetParameters): any {\n return { id: item[\"id\"] };\n}\n\nexport function diskEncryptionSetParametersDeserializer(item: any): DiskEncryptionSetParameters {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. */\nexport interface VMDiskSecurityProfile {\n /** Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. **Note:** It can be set for only Confidential VMs. */\n securityEncryptionType?: SecurityEncryptionTypes;\n /** Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. */\n diskEncryptionSet?: DiskEncryptionSetParameters;\n}\n\nexport function vmDiskSecurityProfileSerializer(item: VMDiskSecurityProfile): any {\n return {\n securityEncryptionType: item[\"securityEncryptionType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n };\n}\n\nexport function vmDiskSecurityProfileDeserializer(item: any): VMDiskSecurityProfile {\n return {\n securityEncryptionType: item[\"securityEncryptionType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersDeserializer(item[\"diskEncryptionSet\"]),\n };\n}\n\n/** Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. **Note:** It can be set for only Confidential VMs. */\nexport enum KnownSecurityEncryptionTypes {\n /** VMGuestStateOnly */\n VMGuestStateOnly = \"VMGuestStateOnly\",\n /** DiskWithVMGuestState */\n DiskWithVMGuestState = \"DiskWithVMGuestState\",\n /** NonPersistedTPM */\n NonPersistedTPM = \"NonPersistedTPM\",\n}\n\n/**\n * Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. **Note:** It can be set for only Confidential VMs. \\\n * {@link KnownSecurityEncryptionTypes} can be used interchangeably with SecurityEncryptionTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **VMGuestStateOnly** \\\n * **DiskWithVMGuestState** \\\n * **NonPersistedTPM**\n */\nexport type SecurityEncryptionTypes = string;\n\n/** Specifies the behavior of the managed disk when the VM gets deleted, for example whether the managed disk is deleted or detached. Supported values are: **Delete.** If this value is used, the managed disk is deleted when VM gets deleted. **Detach.** If this value is used, the managed disk is retained after VM gets deleted. Minimum api-version: 2021-03-01. */\nexport enum KnownDiskDeleteOptionTypes {\n /** Delete */\n Delete = \"Delete\",\n /** Detach */\n Detach = \"Detach\",\n}\n\n/**\n * Specifies the behavior of the managed disk when the VM gets deleted, for example whether the managed disk is deleted or detached. Supported values are: **Delete.** If this value is used, the managed disk is deleted when VM gets deleted. **Detach.** If this value is used, the managed disk is retained after VM gets deleted. Minimum api-version: 2021-03-01. \\\n * {@link KnownDiskDeleteOptionTypes} can be used interchangeably with DiskDeleteOptionTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Delete** \\\n * **Detach**\n */\nexport type DiskDeleteOptionTypes = string;\n\nexport function virtualMachineScaleSetDataDiskArraySerializer(\n result: Array<VirtualMachineScaleSetDataDisk>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetDataDiskSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetDataDiskArrayDeserializer(\n result: Array<VirtualMachineScaleSetDataDisk>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetDataDiskDeserializer(item);\n });\n}\n\n/** Describes a virtual machine scale set data disk. */\nexport interface VirtualMachineScaleSetDataDisk {\n /** The disk name. */\n name?: string;\n /** Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. */\n lun: number;\n /** Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** */\n caching?: CachingTypes;\n /** Specifies whether writeAccelerator should be enabled or disabled on the disk. */\n writeAcceleratorEnabled?: boolean;\n /** The create option. */\n createOption: DiskCreateOptionTypes;\n /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. */\n diskSizeGB?: number;\n /** Specifies the storage fault domain alignment type for the disk. */\n storageFaultDomainAlignment?: StorageFaultDomainAlignmentType;\n /** The managed disk parameters. */\n managedDisk?: VirtualMachineScaleSetManagedDiskParameters;\n /** Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. */\n diskIopsReadWrite?: number;\n /** Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. */\n diskMBpsReadWrite?: number;\n /** Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).<br><br> Possible values: <br><br> **Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.<br><br> **Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.<br><br> The default value is set to **Delete**. */\n deleteOption?: DiskDeleteOptionTypes;\n}\n\nexport function virtualMachineScaleSetDataDiskSerializer(\n item: VirtualMachineScaleSetDataDisk,\n): any {\n return {\n name: item[\"name\"],\n lun: item[\"lun\"],\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n createOption: item[\"createOption\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : virtualMachineScaleSetManagedDiskParametersSerializer(item[\"managedDisk\"]),\n diskIOPSReadWrite: item[\"diskIopsReadWrite\"],\n diskMBpsReadWrite: item[\"diskMBpsReadWrite\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function virtualMachineScaleSetDataDiskDeserializer(\n item: any,\n): VirtualMachineScaleSetDataDisk {\n return {\n name: item[\"name\"],\n lun: item[\"lun\"],\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n createOption: item[\"createOption\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : virtualMachineScaleSetManagedDiskParametersDeserializer(item[\"managedDisk\"]),\n diskIopsReadWrite: item[\"diskIOPSReadWrite\"],\n diskMBpsReadWrite: item[\"diskMBpsReadWrite\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\n/** Specifies the disk controller type configured for the VM and VirtualMachineScaleSet. This property is only supported for virtual machines whose operating system disk and VM sku supports Generation 2 (https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2), please check the HyperVGenerations capability returned as part of VM sku capabilities in the response of Microsoft.Compute SKUs api for the region contains V2 (https://docs.microsoft.com/rest/api/compute/resourceskus/list). For more information about Disk Controller Types supported please refer to https://aka.ms/azure-diskcontrollertypes. */\nexport enum KnownDiskControllerTypes {\n /** SCSI */\n Scsi = \"SCSI\",\n /** NVMe */\n NVMe = \"NVMe\",\n}\n\n/**\n * Specifies the disk controller type configured for the VM and VirtualMachineScaleSet. This property is only supported for virtual machines whose operating system disk and VM sku supports Generation 2 (https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2), please check the HyperVGenerations capability returned as part of VM sku capabilities in the response of Microsoft.Compute SKUs api for the region contains V2 (https://docs.microsoft.com/rest/api/compute/resourceskus/list). For more information about Disk Controller Types supported please refer to https://aka.ms/azure-diskcontrollertypes. \\\n * {@link KnownDiskControllerTypes} can be used interchangeably with DiskControllerTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SCSI** \\\n * **NVMe**\n */\nexport type DiskControllerTypes = string;\n\n/** Describes a virtual machine scale set network profile. */\nexport interface VirtualMachineScaleSetNetworkProfile {\n /** A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. */\n healthProbe?: ApiEntityReference;\n /** The list of network configurations. */\n networkInterfaceConfigurations?: VirtualMachineScaleSetNetworkConfiguration[];\n /** specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' */\n networkApiVersion?: NetworkApiVersion;\n}\n\nexport function virtualMachineScaleSetNetworkProfileSerializer(\n item: VirtualMachineScaleSetNetworkProfile,\n): any {\n return {\n healthProbe: !item[\"healthProbe\"]\n ? item[\"healthProbe\"]\n : apiEntityReferenceSerializer(item[\"healthProbe\"]),\n networkInterfaceConfigurations: !item[\"networkInterfaceConfigurations\"]\n ? item[\"networkInterfaceConfigurations\"]\n : virtualMachineScaleSetNetworkConfigurationArraySerializer(\n item[\"networkInterfaceConfigurations\"],\n ),\n networkApiVersion: item[\"networkApiVersion\"],\n };\n}\n\nexport function virtualMachineScaleSetNetworkProfileDeserializer(\n item: any,\n): VirtualMachineScaleSetNetworkProfile {\n return {\n healthProbe: !item[\"healthProbe\"]\n ? item[\"healthProbe\"]\n : apiEntityReferenceDeserializer(item[\"healthProbe\"]),\n networkInterfaceConfigurations: !item[\"networkInterfaceConfigurations\"]\n ? item[\"networkInterfaceConfigurations\"]\n : virtualMachineScaleSetNetworkConfigurationArrayDeserializer(\n item[\"networkInterfaceConfigurations\"],\n ),\n networkApiVersion: item[\"networkApiVersion\"],\n };\n}\n\n/** The API entity reference. */\nexport interface ApiEntityReference {\n /** The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... */\n id?: string;\n}\n\nexport function apiEntityReferenceSerializer(item: ApiEntityReference): any {\n return { id: item[\"id\"] };\n}\n\nexport function apiEntityReferenceDeserializer(item: any): ApiEntityReference {\n return {\n id: item[\"id\"],\n };\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationArraySerializer(\n result: Array<VirtualMachineScaleSetNetworkConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetNetworkConfigurationSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationArrayDeserializer(\n result: Array<VirtualMachineScaleSetNetworkConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetNetworkConfigurationDeserializer(item);\n });\n}\n\n/** Describes a virtual machine scale set network profile's network configurations. */\nexport interface VirtualMachineScaleSetNetworkConfiguration {\n /** The network configuration name. */\n name: string;\n /** Resource tags applied to the networkInterface address created by this NetworkInterfaceConfiguration */\n tags?: Record<string, string>;\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** Specifies whether the network interface is accelerated networking-enabled. */\n enableAcceleratedNetworking?: boolean;\n /** Specifies whether the network interface is disabled for tcp state tracking. */\n disableTcpStateTracking?: boolean;\n /** Specifies whether the network interface is FPGA networking-enabled. */\n enableFpga?: boolean;\n /** The network security group. */\n networkSecurityGroup?: SubResource;\n /** The dns settings to be applied on the network interfaces. */\n dnsSettings?: VirtualMachineScaleSetNetworkConfigurationDnsSettings;\n /** Specifies the IP configurations of the network interface. */\n ipConfigurations?: VirtualMachineScaleSetIPConfiguration[];\n /** Whether IP forwarding enabled on this NIC. */\n enableIPForwarding?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */\n auxiliaryMode?: NetworkInterfaceAuxiliaryMode;\n /** Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */\n auxiliarySku?: NetworkInterfaceAuxiliarySku;\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationSerializer(\n item: VirtualMachineScaleSetNetworkConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"primary\",\n \"enableAcceleratedNetworking\",\n \"disableTcpStateTracking\",\n \"enableFpga\",\n \"networkSecurityGroup\",\n \"dnsSettings\",\n \"ipConfigurations\",\n \"enableIPForwarding\",\n \"deleteOption\",\n \"auxiliaryMode\",\n \"auxiliarySku\",\n ])\n ? undefined\n : _virtualMachineScaleSetNetworkConfigurationPropertiesSerializer(item),\n tags: item[\"tags\"],\n };\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationDeserializer(\n item: any,\n): VirtualMachineScaleSetNetworkConfiguration {\n return {\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineScaleSetNetworkConfigurationPropertiesDeserializer(item[\"properties\"])),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Describes a virtual machine scale set network profile's IP configuration. */\nexport interface VirtualMachineScaleSetNetworkConfigurationProperties {\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** Specifies whether the network interface is accelerated networking-enabled. */\n enableAcceleratedNetworking?: boolean;\n /** Specifies whether the network interface is disabled for tcp state tracking. */\n disableTcpStateTracking?: boolean;\n /** Specifies whether the network interface is FPGA networking-enabled. */\n enableFpga?: boolean;\n /** The network security group. */\n networkSecurityGroup?: SubResource;\n /** The dns settings to be applied on the network interfaces. */\n dnsSettings?: VirtualMachineScaleSetNetworkConfigurationDnsSettings;\n /** Specifies the IP configurations of the network interface. */\n ipConfigurations: VirtualMachineScaleSetIPConfiguration[];\n /** Whether IP forwarding enabled on this NIC. */\n enableIPForwarding?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */\n auxiliaryMode?: NetworkInterfaceAuxiliaryMode;\n /** Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */\n auxiliarySku?: NetworkInterfaceAuxiliarySku;\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetNetworkConfigurationProperties,\n): any {\n return {\n primary: item[\"primary\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceSerializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetNetworkConfigurationDnsSettingsSerializer(item[\"dnsSettings\"]),\n ipConfigurations: virtualMachineScaleSetIPConfigurationArraySerializer(\n item[\"ipConfigurations\"],\n ),\n enableIPForwarding: item[\"enableIPForwarding\"],\n deleteOption: item[\"deleteOption\"],\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationPropertiesDeserializer(\n item: any,\n): VirtualMachineScaleSetNetworkConfigurationProperties {\n return {\n primary: item[\"primary\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceDeserializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetNetworkConfigurationDnsSettingsDeserializer(item[\"dnsSettings\"]),\n ipConfigurations: virtualMachineScaleSetIPConfigurationArrayDeserializer(\n item[\"ipConfigurations\"],\n ),\n enableIPForwarding: item[\"enableIPForwarding\"],\n deleteOption: item[\"deleteOption\"],\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\n/** Describes a virtual machines scale sets network configuration's DNS settings. */\nexport interface VirtualMachineScaleSetNetworkConfigurationDnsSettings {\n /** List of DNS servers IP addresses */\n dnsServers?: string[];\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationDnsSettingsSerializer(\n item: VirtualMachineScaleSetNetworkConfigurationDnsSettings,\n): any {\n return {\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function virtualMachineScaleSetNetworkConfigurationDnsSettingsDeserializer(\n item: any,\n): VirtualMachineScaleSetNetworkConfigurationDnsSettings {\n return {\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function virtualMachineScaleSetIPConfigurationArraySerializer(\n result: Array<VirtualMachineScaleSetIPConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetIPConfigurationSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetIPConfigurationArrayDeserializer(\n result: Array<VirtualMachineScaleSetIPConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetIPConfigurationDeserializer(item);\n });\n}\n\n/** Describes a virtual machine scale set network profile's IP configuration. */\nexport interface VirtualMachineScaleSetIPConfiguration {\n /** The IP configuration name. */\n name: string;\n /** Specifies the identifier of the subnet. */\n subnet?: ApiEntityReference;\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** The publicIPAddressConfiguration. */\n publicIPAddressConfiguration?: VirtualMachineScaleSetPublicIPAddressConfiguration;\n /** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n privateIPAddressVersion?: IPVersion;\n /** Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. */\n applicationGatewayBackendAddressPools?: SubResource[];\n /** Specifies an array of references to application security group. */\n applicationSecurityGroups?: SubResource[];\n /** Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. */\n loadBalancerBackendAddressPools?: SubResource[];\n /** Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. */\n loadBalancerInboundNatPools?: SubResource[];\n}\n\nexport function virtualMachineScaleSetIPConfigurationSerializer(\n item: VirtualMachineScaleSetIPConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"subnet\",\n \"primary\",\n \"publicIPAddressConfiguration\",\n \"privateIPAddressVersion\",\n \"applicationGatewayBackendAddressPools\",\n \"applicationSecurityGroups\",\n \"loadBalancerBackendAddressPools\",\n \"loadBalancerInboundNatPools\",\n ])\n ? undefined\n : _virtualMachineScaleSetIPConfigurationPropertiesSerializer(item),\n };\n}\n\nexport function virtualMachineScaleSetIPConfigurationDeserializer(\n item: any,\n): VirtualMachineScaleSetIPConfiguration {\n return {\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineScaleSetIPConfigurationPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Describes a virtual machine scale set network profile's IP configuration properties. */\nexport interface VirtualMachineScaleSetIPConfigurationProperties {\n /** Specifies the identifier of the subnet. */\n subnet?: ApiEntityReference;\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** The publicIPAddressConfiguration. */\n publicIPAddressConfiguration?: VirtualMachineScaleSetPublicIPAddressConfiguration;\n /** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n privateIPAddressVersion?: IPVersion;\n /** Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. */\n applicationGatewayBackendAddressPools?: SubResource[];\n /** Specifies an array of references to application security group. */\n applicationSecurityGroups?: SubResource[];\n /** Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. */\n loadBalancerBackendAddressPools?: SubResource[];\n /** Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. */\n loadBalancerInboundNatPools?: SubResource[];\n}\n\nexport function virtualMachineScaleSetIPConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetIPConfigurationProperties,\n): any {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : apiEntityReferenceSerializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationSerializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArraySerializer(item[\"applicationGatewayBackendAddressPools\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArraySerializer(item[\"applicationSecurityGroups\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArraySerializer(item[\"loadBalancerBackendAddressPools\"]),\n loadBalancerInboundNatPools: !item[\"loadBalancerInboundNatPools\"]\n ? item[\"loadBalancerInboundNatPools\"]\n : subResourceArraySerializer(item[\"loadBalancerInboundNatPools\"]),\n };\n}\n\nexport function virtualMachineScaleSetIPConfigurationPropertiesDeserializer(\n item: any,\n): VirtualMachineScaleSetIPConfigurationProperties {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : apiEntityReferenceDeserializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDeserializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"applicationGatewayBackendAddressPools\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArrayDeserializer(item[\"applicationSecurityGroups\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"loadBalancerBackendAddressPools\"]),\n loadBalancerInboundNatPools: !item[\"loadBalancerInboundNatPools\"]\n ? item[\"loadBalancerInboundNatPools\"]\n : subResourceArrayDeserializer(item[\"loadBalancerInboundNatPools\"]),\n };\n}\n\n/** Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration */\nexport interface VirtualMachineScaleSetPublicIPAddressConfiguration {\n /** The publicIP address configuration name. */\n name: string;\n /** Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. */\n sku?: PublicIPAddressSku;\n /** Resource tags applied to the publicIP address created by this PublicIPAddressConfiguration */\n tags?: Record<string, string>;\n /** The idle timeout of the public IP address. */\n idleTimeoutInMinutes?: number;\n /** The dns settings to be applied on the publicIP addresses . */\n dnsSettings?: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings;\n /** The list of IP tags associated with the public IP address. */\n ipTags?: VirtualMachineScaleSetIpTag[];\n /** The PublicIPPrefix from which to allocate publicIP addresses. */\n publicIPPrefix?: SubResource;\n /** Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n publicIPAddressVersion?: IPVersion;\n /** Specify what happens to the public IP when the VM is deleted */\n deleteOption?: DeleteOptions;\n}\n\nexport function virtualMachineScaleSetPublicIPAddressConfigurationSerializer(\n item: VirtualMachineScaleSetPublicIPAddressConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"idleTimeoutInMinutes\",\n \"dnsSettings\",\n \"ipTags\",\n \"publicIPPrefix\",\n \"publicIPAddressVersion\",\n \"deleteOption\",\n ])\n ? undefined\n : _virtualMachineScaleSetPublicIPAddressConfigurationPropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : publicIPAddressSkuSerializer(item[\"sku\"]),\n tags: item[\"tags\"],\n };\n}\n\nexport function virtualMachineScaleSetPublicIPAddressConfigurationDeserializer(\n item: any,\n): VirtualMachineScaleSetPublicIPAddressConfiguration {\n return {\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineScaleSetPublicIPAddressConfigurationPropertiesDeserializer(\n item[\"properties\"],\n )),\n sku: !item[\"sku\"] ? item[\"sku\"] : publicIPAddressSkuDeserializer(item[\"sku\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration */\nexport interface VirtualMachineScaleSetPublicIPAddressConfigurationProperties {\n /** The idle timeout of the public IP address. */\n idleTimeoutInMinutes?: number;\n /** The dns settings to be applied on the publicIP addresses . */\n dnsSettings?: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings;\n /** The list of IP tags associated with the public IP address. */\n ipTags?: VirtualMachineScaleSetIpTag[];\n /** The PublicIPPrefix from which to allocate publicIP addresses. */\n publicIPPrefix?: SubResource;\n /** Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n publicIPAddressVersion?: IPVersion;\n /** Specify what happens to the public IP when the VM is deleted */\n deleteOption?: DeleteOptions;\n}\n\nexport function virtualMachineScaleSetPublicIPAddressConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetPublicIPAddressConfigurationProperties,\n): any {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsSerializer(\n item[\"dnsSettings\"],\n ),\n ipTags: !item[\"ipTags\"]\n ? item[\"ipTags\"]\n : virtualMachineScaleSetIpTagArraySerializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceSerializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function virtualMachineScaleSetPublicIPAddressConfigurationPropertiesDeserializer(\n item: any,\n): VirtualMachineScaleSetPublicIPAddressConfigurationProperties {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsDeserializer(\n item[\"dnsSettings\"],\n ),\n ipTags: !item[\"ipTags\"]\n ? item[\"ipTags\"]\n : virtualMachineScaleSetIpTagArrayDeserializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceDeserializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\n/** Describes a virtual machines scale sets network configuration's DNS settings. */\nexport interface VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings {\n /** The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created */\n domainNameLabel: string;\n /** The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created */\n domainNameLabelScope?: DomainNameLabelScopeTypes;\n}\n\nexport function virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsSerializer(\n item: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings,\n): any {\n return {\n domainNameLabel: item[\"domainNameLabel\"],\n domainNameLabelScope: item[\"domainNameLabelScope\"],\n };\n}\n\nexport function virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsDeserializer(\n item: any,\n): VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings {\n return {\n domainNameLabel: item[\"domainNameLabel\"],\n domainNameLabelScope: item[\"domainNameLabelScope\"],\n };\n}\n\n/** The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created */\nexport enum KnownDomainNameLabelScopeTypes {\n /** TenantReuse */\n TenantReuse = \"TenantReuse\",\n /** SubscriptionReuse */\n SubscriptionReuse = \"SubscriptionReuse\",\n /** ResourceGroupReuse */\n ResourceGroupReuse = \"ResourceGroupReuse\",\n /** NoReuse */\n NoReuse = \"NoReuse\",\n}\n\n/**\n * The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created \\\n * {@link KnownDomainNameLabelScopeTypes} can be used interchangeably with DomainNameLabelScopeTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **TenantReuse** \\\n * **SubscriptionReuse** \\\n * **ResourceGroupReuse** \\\n * **NoReuse**\n */\nexport type DomainNameLabelScopeTypes = string;\n\nexport function virtualMachineScaleSetIpTagArraySerializer(\n result: Array<VirtualMachineScaleSetIpTag>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetIpTagSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetIpTagArrayDeserializer(\n result: Array<VirtualMachineScaleSetIpTag>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetIpTagDeserializer(item);\n });\n}\n\n/** Contains the IP tag associated with the public IP address. */\nexport interface VirtualMachineScaleSetIpTag {\n /** IP tag type. Example: FirstPartyUsage. */\n ipTagType?: string;\n /** IP tag associated with the public IP. Example: SQL, Storage etc. */\n tag?: string;\n}\n\nexport function virtualMachineScaleSetIpTagSerializer(item: VirtualMachineScaleSetIpTag): any {\n return { ipTagType: item[\"ipTagType\"], tag: item[\"tag\"] };\n}\n\nexport function virtualMachineScaleSetIpTagDeserializer(item: any): VirtualMachineScaleSetIpTag {\n return {\n ipTagType: item[\"ipTagType\"],\n tag: item[\"tag\"],\n };\n}\n\n/** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\nexport enum KnownIPVersion {\n /** IPv4 */\n IPv4 = \"IPv4\",\n /** IPv6 */\n IPv6 = \"IPv6\",\n}\n\n/**\n * Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. \\\n * {@link KnownIPVersion} can be used interchangeably with IPVersion,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **IPv4** \\\n * **IPv6**\n */\nexport type IPVersion = string;\n\n/** Specify what happens to the network interface when the VM is deleted */\nexport enum KnownDeleteOptions {\n /** Delete */\n Delete = \"Delete\",\n /** Detach */\n Detach = \"Detach\",\n}\n\n/**\n * Specify what happens to the network interface when the VM is deleted \\\n * {@link KnownDeleteOptions} can be used interchangeably with DeleteOptions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Delete** \\\n * **Detach**\n */\nexport type DeleteOptions = string;\n\n/** Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. */\nexport interface PublicIPAddressSku {\n /** Specify public IP sku name */\n name?: PublicIPAddressSkuName;\n /** Specify public IP sku tier */\n tier?: PublicIPAddressSkuTier;\n}\n\nexport function publicIPAddressSkuSerializer(item: PublicIPAddressSku): any {\n return { name: item[\"name\"], tier: item[\"tier\"] };\n}\n\nexport function publicIPAddressSkuDeserializer(item: any): PublicIPAddressSku {\n return {\n name: item[\"name\"],\n tier: item[\"tier\"],\n };\n}\n\n/** Specify public IP sku name */\nexport enum KnownPublicIPAddressSkuName {\n /** Basic */\n Basic = \"Basic\",\n /** Standard */\n Standard = \"Standard\",\n}\n\n/**\n * Specify public IP sku name \\\n * {@link KnownPublicIPAddressSkuName} can be used interchangeably with PublicIPAddressSkuName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic** \\\n * **Standard**\n */\nexport type PublicIPAddressSkuName = string;\n\n/** Specify public IP sku tier */\nexport enum KnownPublicIPAddressSkuTier {\n /** Regional */\n Regional = \"Regional\",\n /** Global */\n Global = \"Global\",\n}\n\n/**\n * Specify public IP sku tier \\\n * {@link KnownPublicIPAddressSkuTier} can be used interchangeably with PublicIPAddressSkuTier,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Regional** \\\n * **Global**\n */\nexport type PublicIPAddressSkuTier = string;\n\n/** Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */\nexport enum KnownNetworkInterfaceAuxiliaryMode {\n /** None */\n None = \"None\",\n /** AcceleratedConnections */\n AcceleratedConnections = \"AcceleratedConnections\",\n /** Floating */\n Floating = \"Floating\",\n}\n\n/**\n * Specifies whether the Auxiliary mode is enabled for the Network Interface resource. \\\n * {@link KnownNetworkInterfaceAuxiliaryMode} can be used interchangeably with NetworkInterfaceAuxiliaryMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **AcceleratedConnections** \\\n * **Floating**\n */\nexport type NetworkInterfaceAuxiliaryMode = string;\n\n/** Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */\nexport enum KnownNetworkInterfaceAuxiliarySku {\n /** None */\n None = \"None\",\n /** A1 */\n A1 = \"A1\",\n /** A2 */\n A2 = \"A2\",\n /** A4 */\n A4 = \"A4\",\n /** A8 */\n A8 = \"A8\",\n}\n\n/**\n * Specifies whether the Auxiliary sku is enabled for the Network Interface resource. \\\n * {@link KnownNetworkInterfaceAuxiliarySku} can be used interchangeably with NetworkInterfaceAuxiliarySku,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **A1** \\\n * **A2** \\\n * **A4** \\\n * **A8**\n */\nexport type NetworkInterfaceAuxiliarySku = string;\n\n/** specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations */\nexport enum KnownNetworkApiVersion {\n /** 2020-11-01 */\n TwoThousandTwenty1101 = \"2020-11-01\",\n /** 2022-11-01 */\n TwoThousandTwentyTwo1101 = \"2022-11-01\",\n}\n\n/**\n * specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations \\\n * {@link KnownNetworkApiVersion} can be used interchangeably with NetworkApiVersion,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **2020-11-01** \\\n * **2022-11-01**\n */\nexport type NetworkApiVersion = string;\n\n/** Specifies the Security profile settings for the virtual machine or virtual machine scale set. */\nexport interface SecurityProfile {\n /** Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. */\n uefiSettings?: UefiSettings;\n /** This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. */\n encryptionAtHost?: boolean;\n /** Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set and is not Standard. If not specified, Standard will be returned starting api version 2025-11-01. */\n securityType?: SecurityTypes;\n /** Specifies the Managed Identity used by ADE to get access token for keyvault operations. */\n encryptionIdentity?: EncryptionIdentity;\n /** Specifies ProxyAgent settings while creating the virtual machine. Minimum api-version: 2023-09-01. */\n proxyAgentSettings?: ProxyAgentSettings;\n}\n\nexport function securityProfileSerializer(item: SecurityProfile): any {\n return {\n uefiSettings: !item[\"uefiSettings\"]\n ? item[\"uefiSettings\"]\n : uefiSettingsSerializer(item[\"uefiSettings\"]),\n encryptionAtHost: item[\"encryptionAtHost\"],\n securityType: item[\"securityType\"],\n encryptionIdentity: !item[\"encryptionIdentity\"]\n ? item[\"encryptionIdentity\"]\n : encryptionIdentitySerializer(item[\"encryptionIdentity\"]),\n proxyAgentSettings: !item[\"proxyAgentSettings\"]\n ? item[\"proxyAgentSettings\"]\n : proxyAgentSettingsSerializer(item[\"proxyAgentSettings\"]),\n };\n}\n\nexport function securityProfileDeserializer(item: any): SecurityProfile {\n return {\n uefiSettings: !item[\"uefiSettings\"]\n ? item[\"uefiSettings\"]\n : uefiSettingsDeserializer(item[\"uefiSettings\"]),\n encryptionAtHost: item[\"encryptionAtHost\"],\n securityType: item[\"securityType\"],\n encryptionIdentity: !item[\"encryptionIdentity\"]\n ? item[\"encryptionIdentity\"]\n : encryptionIdentityDeserializer(item[\"encryptionIdentity\"]),\n proxyAgentSettings: !item[\"proxyAgentSettings\"]\n ? item[\"proxyAgentSettings\"]\n : proxyAgentSettingsDeserializer(item[\"proxyAgentSettings\"]),\n };\n}\n\n/** Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. */\nexport interface UefiSettings {\n /** Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. */\n secureBootEnabled?: boolean;\n /** Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. */\n vTpmEnabled?: boolean;\n}\n\nexport function uefiSettingsSerializer(item: UefiSettings): any {\n return { secureBootEnabled: item[\"secureBootEnabled\"], vTpmEnabled: item[\"vTpmEnabled\"] };\n}\n\nexport function uefiSettingsDeserializer(item: any): UefiSettings {\n return {\n secureBootEnabled: item[\"secureBootEnabled\"],\n vTpmEnabled: item[\"vTpmEnabled\"],\n };\n}\n\n/** Specifies the VM securityType; UefiSettings are enabled only when set to TrustedLaunch or ConfidentialVM, and returns a Standard value starting API version 2025-11-01. */\nexport enum KnownSecurityTypes {\n /** Indicates a VM without UEFI features such as SecureBoot or vTPM; returned as the default value when securityType is not specified. */\n Standard = \"Standard\",\n /** TrustedLaunch */\n TrustedLaunch = \"TrustedLaunch\",\n /** ConfidentialVM */\n ConfidentialVM = \"ConfidentialVM\",\n}\n\n/**\n * Specifies the VM securityType; UefiSettings are enabled only when set to TrustedLaunch or ConfidentialVM, and returns a Standard value starting API version 2025-11-01. \\\n * {@link KnownSecurityTypes} can be used interchangeably with SecurityTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: Indicates a VM without UEFI features such as SecureBoot or vTPM; returned as the default value when securityType is not specified. \\\n * **TrustedLaunch** \\\n * **ConfidentialVM**\n */\nexport type SecurityTypes = string;\n\n/** Specifies the Managed Identity used by ADE to get access token for keyvault operations. */\nexport interface EncryptionIdentity {\n /** Specifies ARM Resource ID of one of the user identities associated with the VM. */\n userAssignedIdentityResourceId?: string;\n}\n\nexport function encryptionIdentitySerializer(item: EncryptionIdentity): any {\n return { userAssignedIdentityResourceId: item[\"userAssignedIdentityResourceId\"] };\n}\n\nexport function encryptionIdentityDeserializer(item: any): EncryptionIdentity {\n return {\n userAssignedIdentityResourceId: item[\"userAssignedIdentityResourceId\"],\n };\n}\n\n/** Specifies ProxyAgent settings for the virtual machine or virtual machine scale set. Minimum api-version: 2023-09-01. */\nexport interface ProxyAgentSettings {\n /** Specifies whether ProxyAgent feature should be enabled on the virtual machine or virtual machine scale set. */\n enabled?: boolean;\n /** Specifies the mode that ProxyAgent will execute on. Warning: this property has been deprecated, please specify 'mode' under particular hostendpoint setting. */\n mode?: Mode;\n /** Increase the value of this property allows users to reset the key used for securing communication channel between guest and host. */\n keyIncarnationId?: number;\n /** Specifies the Wire Server endpoint settings while creating the virtual machine or virtual machine scale set. Minimum api-version: 2024-03-01. */\n wireServer?: HostEndpointSettings;\n /** Specifies the IMDS endpoint settings while creating the virtual machine or virtual machine scale set. Minimum api-version: 2024-03-01. */\n imds?: HostEndpointSettings;\n /** Specify whether to implicitly install the ProxyAgent Extension. This option is currently applicable only for Linux Os. */\n addProxyAgentExtension?: boolean;\n}\n\nexport function proxyAgentSettingsSerializer(item: ProxyAgentSettings): any {\n return {\n enabled: item[\"enabled\"],\n mode: item[\"mode\"],\n keyIncarnationId: item[\"keyIncarnationId\"],\n wireServer: !item[\"wireServer\"]\n ? item[\"wireServer\"]\n : hostEndpointSettingsSerializer(item[\"wireServer\"]),\n imds: !item[\"imds\"] ? item[\"imds\"] : hostEndpointSettingsSerializer(item[\"imds\"]),\n addProxyAgentExtension: item[\"addProxyAgentExtension\"],\n };\n}\n\nexport function proxyAgentSettingsDeserializer(item: any): ProxyAgentSettings {\n return {\n enabled: item[\"enabled\"],\n mode: item[\"mode\"],\n keyIncarnationId: item[\"keyIncarnationId\"],\n wireServer: !item[\"wireServer\"]\n ? item[\"wireServer\"]\n : hostEndpointSettingsDeserializer(item[\"wireServer\"]),\n imds: !item[\"imds\"] ? item[\"imds\"] : hostEndpointSettingsDeserializer(item[\"imds\"]),\n addProxyAgentExtension: item[\"addProxyAgentExtension\"],\n };\n}\n\n/** Specifies the mode that ProxyAgent will execute on if the feature is enabled. ProxyAgent will start to audit or monitor but not enforce access control over requests to host endpoints in Audit mode, while in Enforce mode it will enforce access control. The default value is Enforce mode. */\nexport enum KnownMode {\n /** Audit */\n Audit = \"Audit\",\n /** Enforce */\n Enforce = \"Enforce\",\n}\n\n/**\n * Specifies the mode that ProxyAgent will execute on if the feature is enabled. ProxyAgent will start to audit or monitor but not enforce access control over requests to host endpoints in Audit mode, while in Enforce mode it will enforce access control. The default value is Enforce mode. \\\n * {@link KnownMode} can be used interchangeably with Mode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Audit** \\\n * **Enforce**\n */\nexport type Mode = string;\n\n/** Specifies particular host endpoint settings. */\nexport interface HostEndpointSettings {\n /** Specifies the execution mode. In Audit mode, the system acts as if it is enforcing the access control policy, including emitting access denial entries in the logs but it does not actually deny any requests to host endpoints. In Enforce mode, the system will enforce the access control and it is the recommended mode of operation. */\n mode?: Modes;\n /** Specifies the InVMAccessControlProfileVersion resource id in the format of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version} */\n inVMAccessControlProfileReferenceId?: string;\n}\n\nexport function hostEndpointSettingsSerializer(item: HostEndpointSettings): any {\n return {\n mode: item[\"mode\"],\n inVMAccessControlProfileReferenceId: item[\"inVMAccessControlProfileReferenceId\"],\n };\n}\n\nexport function hostEndpointSettingsDeserializer(item: any): HostEndpointSettings {\n return {\n mode: item[\"mode\"],\n inVMAccessControlProfileReferenceId: item[\"inVMAccessControlProfileReferenceId\"],\n };\n}\n\n/** Specifies the execution mode. In Audit mode, the system acts as if it is enforcing the access control policy, including emitting access denial entries in the logs but it does not actually deny any requests to host endpoints. In Enforce mode, the system will enforce the access control and it is the recommended mode of operation. */\nexport enum KnownModes {\n /** Audit */\n Audit = \"Audit\",\n /** Enforce */\n Enforce = \"Enforce\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Specifies the execution mode. In Audit mode, the system acts as if it is enforcing the access control policy, including emitting access denial entries in the logs but it does not actually deny any requests to host endpoints. In Enforce mode, the system will enforce the access control and it is the recommended mode of operation. \\\n * {@link KnownModes} can be used interchangeably with Modes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Audit** \\\n * **Enforce** \\\n * **Disabled**\n */\nexport type Modes = string;\n\n/** Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */\nexport interface DiagnosticsProfile {\n /** Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. */\n bootDiagnostics?: BootDiagnostics;\n}\n\nexport function diagnosticsProfileSerializer(item: DiagnosticsProfile): any {\n return {\n bootDiagnostics: !item[\"bootDiagnostics\"]\n ? item[\"bootDiagnostics\"]\n : bootDiagnosticsSerializer(item[\"bootDiagnostics\"]),\n };\n}\n\nexport function diagnosticsProfileDeserializer(item: any): DiagnosticsProfile {\n return {\n bootDiagnostics: !item[\"bootDiagnostics\"]\n ? item[\"bootDiagnostics\"]\n : bootDiagnosticsDeserializer(item[\"bootDiagnostics\"]),\n };\n}\n\n/** Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. */\nexport interface BootDiagnostics {\n /** Whether boot diagnostics should be enabled on the Virtual Machine. */\n enabled?: boolean;\n /** Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. */\n storageUri?: string;\n}\n\nexport function bootDiagnosticsSerializer(item: BootDiagnostics): any {\n return { enabled: item[\"enabled\"], storageUri: item[\"storageUri\"] };\n}\n\nexport function bootDiagnosticsDeserializer(item: any): BootDiagnostics {\n return {\n enabled: item[\"enabled\"],\n storageUri: item[\"storageUri\"],\n };\n}\n\n/** Describes a virtual machine scale set extension profile. */\nexport interface VirtualMachineScaleSetExtensionProfile {\n /** The virtual machine scale set child extension resources. */\n extensions?: VirtualMachineScaleSetExtension[];\n /** Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. */\n extensionsTimeBudget?: string;\n}\n\nexport function virtualMachineScaleSetExtensionProfileSerializer(\n item: VirtualMachineScaleSetExtensionProfile,\n): any {\n return {\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : virtualMachineScaleSetExtensionArraySerializer(item[\"extensions\"]),\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n };\n}\n\nexport function virtualMachineScaleSetExtensionProfileDeserializer(\n item: any,\n): VirtualMachineScaleSetExtensionProfile {\n return {\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : virtualMachineScaleSetExtensionArrayDeserializer(item[\"extensions\"]),\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n };\n}\n\nexport function virtualMachineScaleSetExtensionArraySerializer(\n result: Array<VirtualMachineScaleSetExtension>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetExtensionSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetExtensionArrayDeserializer(\n result: Array<VirtualMachineScaleSetExtension>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetExtensionDeserializer(item);\n });\n}\n\n/** Describes a Virtual Machine Scale Set Extension. */\nexport interface VirtualMachineScaleSetExtension extends SubResourceReadOnly {\n /** Resource type */\n readonly type?: string;\n /** Resource name */\n name?: string;\n /** If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n typePropertiesType?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** Collection of extension names after which this extension needs to be provisioned. */\n provisionAfterExtensions?: string[];\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n}\n\nexport function virtualMachineScaleSetExtensionSerializer(\n item: VirtualMachineScaleSetExtension,\n): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"enableAutomaticUpgrade\",\n \"settings\",\n \"protectedSettings\",\n \"provisionAfterExtensions\",\n \"suppressFailures\",\n \"protectedSettingsFromKeyVault\",\n ])\n ? undefined\n : _virtualMachineScaleSetExtensionPropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function virtualMachineScaleSetExtensionDeserializer(\n item: any,\n): VirtualMachineScaleSetExtension {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineScaleSetExtensionPropertiesDeserializer(item[\"properties\"])),\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Describes the properties of a Virtual Machine Scale Set Extension. */\nexport interface VirtualMachineScaleSetExtensionProperties {\n /** If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** Collection of extension names after which this extension needs to be provisioned. */\n provisionAfterExtensions?: string[];\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n}\n\nexport function virtualMachineScaleSetExtensionPropertiesSerializer(\n item: VirtualMachineScaleSetExtensionProperties,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\nexport function virtualMachineScaleSetExtensionPropertiesDeserializer(\n item: any,\n): VirtualMachineScaleSetExtensionProperties {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisioningState: item[\"provisioningState\"],\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceDeserializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\n/** Describes a reference to Key Vault Secret */\nexport interface KeyVaultSecretReference {\n /** The URL referencing a secret in a Key Vault. */\n secretUrl: string;\n /** The relative URL of the Key Vault containing the secret. */\n sourceVault: SubResource;\n}\n\nexport function keyVaultSecretReferenceSerializer(item: KeyVaultSecretReference): any {\n return { secretUrl: item[\"secretUrl\"], sourceVault: subResourceSerializer(item[\"sourceVault\"]) };\n}\n\nexport function keyVaultSecretReferenceDeserializer(item: any): KeyVaultSecretReference {\n return {\n secretUrl: item[\"secretUrl\"],\n sourceVault: subResourceDeserializer(item[\"sourceVault\"]),\n };\n}\n\n/** Specifies the priority for a standalone virtual machine or the virtual machines in the scale set. 'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS. */\nexport enum KnownVirtualMachinePriorityTypes {\n /** Regular */\n Regular = \"Regular\",\n /** Low */\n Low = \"Low\",\n /** Spot */\n Spot = \"Spot\",\n}\n\n/**\n * Specifies the priority for a standalone virtual machine or the virtual machines in the scale set. 'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS. \\\n * {@link KnownVirtualMachinePriorityTypes} can be used interchangeably with VirtualMachinePriorityTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Regular** \\\n * **Low** \\\n * **Spot**\n */\nexport type VirtualMachinePriorityTypes = string;\n\n/** Specifies the eviction policy for the Azure Spot VM/VMSS */\nexport enum KnownVirtualMachineEvictionPolicyTypes {\n /** Deallocate */\n Deallocate = \"Deallocate\",\n /** Delete */\n Delete = \"Delete\",\n}\n\n/**\n * Specifies the eviction policy for the Azure Spot VM/VMSS \\\n * {@link KnownVirtualMachineEvictionPolicyTypes} can be used interchangeably with VirtualMachineEvictionPolicyTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Deallocate** \\\n * **Delete**\n */\nexport type VirtualMachineEvictionPolicyTypes = string;\n\n/** Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. */\nexport interface BillingProfile {\n /** Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. <br><br> This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. <br><br> The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. <br><br> Possible values are: <br><br> - Any decimal value greater than zero. Example: 0.01538 <br><br> -1 – indicates default price to be up-to on-demand. <br><br> You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. <br><br>Minimum api-version: 2019-03-01. */\n maxPrice?: number;\n}\n\nexport function billingProfileSerializer(item: BillingProfile): any {\n return { maxPrice: item[\"maxPrice\"] };\n}\n\nexport function billingProfileDeserializer(item: any): BillingProfile {\n return {\n maxPrice: item[\"maxPrice\"],\n };\n}\n\n/** model interface ScheduledEventsProfile */\nexport interface ScheduledEventsProfile {\n /** Specifies Terminate Scheduled Event related configurations. */\n terminateNotificationProfile?: TerminateNotificationProfile;\n /** Specifies OS Image Scheduled Event related configurations. */\n osImageNotificationProfile?: OSImageNotificationProfile;\n}\n\nexport function scheduledEventsProfileSerializer(item: ScheduledEventsProfile): any {\n return {\n terminateNotificationProfile: !item[\"terminateNotificationProfile\"]\n ? item[\"terminateNotificationProfile\"]\n : terminateNotificationProfileSerializer(item[\"terminateNotificationProfile\"]),\n osImageNotificationProfile: !item[\"osImageNotificationProfile\"]\n ? item[\"osImageNotificationProfile\"]\n : osImageNotificationProfileSerializer(item[\"osImageNotificationProfile\"]),\n };\n}\n\nexport function scheduledEventsProfileDeserializer(item: any): ScheduledEventsProfile {\n return {\n terminateNotificationProfile: !item[\"terminateNotificationProfile\"]\n ? item[\"terminateNotificationProfile\"]\n : terminateNotificationProfileDeserializer(item[\"terminateNotificationProfile\"]),\n osImageNotificationProfile: !item[\"osImageNotificationProfile\"]\n ? item[\"osImageNotificationProfile\"]\n : osImageNotificationProfileDeserializer(item[\"osImageNotificationProfile\"]),\n };\n}\n\n/** model interface TerminateNotificationProfile */\nexport interface TerminateNotificationProfile {\n /** Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) */\n notBeforeTimeout?: string;\n /** Specifies whether the Terminate Scheduled event is enabled or disabled. */\n enable?: boolean;\n}\n\nexport function terminateNotificationProfileSerializer(item: TerminateNotificationProfile): any {\n return { notBeforeTimeout: item[\"notBeforeTimeout\"], enable: item[\"enable\"] };\n}\n\nexport function terminateNotificationProfileDeserializer(item: any): TerminateNotificationProfile {\n return {\n notBeforeTimeout: item[\"notBeforeTimeout\"],\n enable: item[\"enable\"],\n };\n}\n\n/** model interface OSImageNotificationProfile */\nexport interface OSImageNotificationProfile {\n /** Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) */\n notBeforeTimeout?: string;\n /** Specifies whether the OS Image Scheduled event is enabled or disabled. */\n enable?: boolean;\n}\n\nexport function osImageNotificationProfileSerializer(item: OSImageNotificationProfile): any {\n return { notBeforeTimeout: item[\"notBeforeTimeout\"], enable: item[\"enable\"] };\n}\n\nexport function osImageNotificationProfileDeserializer(item: any): OSImageNotificationProfile {\n return {\n notBeforeTimeout: item[\"notBeforeTimeout\"],\n enable: item[\"enable\"],\n };\n}\n\n/** The parameters of a capacity reservation Profile. */\nexport interface CapacityReservationProfile {\n /** Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. */\n capacityReservationGroup?: SubResource;\n}\n\nexport function capacityReservationProfileSerializer(item: CapacityReservationProfile): any {\n return {\n capacityReservationGroup: !item[\"capacityReservationGroup\"]\n ? item[\"capacityReservationGroup\"]\n : subResourceSerializer(item[\"capacityReservationGroup\"]),\n };\n}\n\nexport function capacityReservationProfileDeserializer(item: any): CapacityReservationProfile {\n return {\n capacityReservationGroup: !item[\"capacityReservationGroup\"]\n ? item[\"capacityReservationGroup\"]\n : subResourceDeserializer(item[\"capacityReservationGroup\"]),\n };\n}\n\n/** Contains the list of gallery applications that should be made available to the VM/VMSS */\nexport interface ApplicationProfile {\n /** Specifies the gallery applications that should be made available to the VM/VMSS */\n galleryApplications?: VMGalleryApplication[];\n}\n\nexport function applicationProfileSerializer(item: ApplicationProfile): any {\n return {\n galleryApplications: !item[\"galleryApplications\"]\n ? item[\"galleryApplications\"]\n : vmGalleryApplicationArraySerializer(item[\"galleryApplications\"]),\n };\n}\n\nexport function applicationProfileDeserializer(item: any): ApplicationProfile {\n return {\n galleryApplications: !item[\"galleryApplications\"]\n ? item[\"galleryApplications\"]\n : vmGalleryApplicationArrayDeserializer(item[\"galleryApplications\"]),\n };\n}\n\nexport function vmGalleryApplicationArraySerializer(result: Array<VMGalleryApplication>): any[] {\n return result.map((item) => {\n return vmGalleryApplicationSerializer(item);\n });\n}\n\nexport function vmGalleryApplicationArrayDeserializer(result: Array<VMGalleryApplication>): any[] {\n return result.map((item) => {\n return vmGalleryApplicationDeserializer(item);\n });\n}\n\n/** Specifies the required information to reference a compute gallery application version */\nexport interface VMGalleryApplication {\n /** Optional, Specifies a passthrough value for more generic context. */\n tags?: string;\n /** Optional, Specifies the order in which the packages have to be installed */\n order?: number;\n /** Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} */\n packageReferenceId: string;\n /** Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided */\n configurationReference?: string;\n /** Optional, If true, any failure for any operation in the VmApplication will fail the deployment */\n treatFailureAsDeploymentFailure?: boolean;\n /** If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS */\n enableAutomaticUpgrade?: boolean;\n}\n\nexport function vmGalleryApplicationSerializer(item: VMGalleryApplication): any {\n return {\n tags: item[\"tags\"],\n order: item[\"order\"],\n packageReferenceId: item[\"packageReferenceId\"],\n configurationReference: item[\"configurationReference\"],\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\nexport function vmGalleryApplicationDeserializer(item: any): VMGalleryApplication {\n return {\n tags: item[\"tags\"],\n order: item[\"order\"],\n packageReferenceId: item[\"packageReferenceId\"],\n configurationReference: item[\"configurationReference\"],\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\n/** Specifies the hardware settings for the virtual machine scale set. */\nexport interface VirtualMachineScaleSetHardwareProfile {\n /** Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. */\n vmSizeProperties?: VMSizeProperties;\n}\n\nexport function virtualMachineScaleSetHardwareProfileSerializer(\n item: VirtualMachineScaleSetHardwareProfile,\n): any {\n return {\n vmSizeProperties: !item[\"vmSizeProperties\"]\n ? item[\"vmSizeProperties\"]\n : vmSizePropertiesSerializer(item[\"vmSizeProperties\"]),\n };\n}\n\nexport function virtualMachineScaleSetHardwareProfileDeserializer(\n item: any,\n): VirtualMachineScaleSetHardwareProfile {\n return {\n vmSizeProperties: !item[\"vmSizeProperties\"]\n ? item[\"vmSizeProperties\"]\n : vmSizePropertiesDeserializer(item[\"vmSizeProperties\"]),\n };\n}\n\n/** Specifies VM Size Property settings on the virtual machine. */\nexport interface VMSizeProperties {\n /** Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). */\n vCPUsAvailable?: number;\n /** Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** */\n vCPUsPerCore?: number;\n}\n\nexport function vmSizePropertiesSerializer(item: VMSizeProperties): any {\n return { vCPUsAvailable: item[\"vCPUsAvailable\"], vCPUsPerCore: item[\"vCPUsPerCore\"] };\n}\n\nexport function vmSizePropertiesDeserializer(item: any): VMSizeProperties {\n return {\n vCPUsAvailable: item[\"vCPUsAvailable\"],\n vCPUsPerCore: item[\"vCPUsPerCore\"],\n };\n}\n\n/** Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 */\nexport interface ServiceArtifactReference {\n /** The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} */\n id?: string;\n}\n\nexport function serviceArtifactReferenceSerializer(item: ServiceArtifactReference): any {\n return { id: item[\"id\"] };\n}\n\nexport function serviceArtifactReferenceDeserializer(item: any): ServiceArtifactReference {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01 */\nexport interface SecurityPostureReference {\n /** The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest */\n id: string;\n /** The list of virtual machine extension names to exclude when applying the security posture. */\n excludeExtensions?: string[];\n /** Whether the security posture can be overridden by the user. */\n isOverridable?: boolean;\n}\n\nexport function securityPostureReferenceSerializer(item: SecurityPostureReference): any {\n return {\n id: item[\"id\"],\n excludeExtensions: !item[\"excludeExtensions\"]\n ? item[\"excludeExtensions\"]\n : item[\"excludeExtensions\"].map((p: any) => {\n return p;\n }),\n isOverridable: item[\"isOverridable\"],\n };\n}\n\nexport function securityPostureReferenceDeserializer(item: any): SecurityPostureReference {\n return {\n id: item[\"id\"],\n excludeExtensions: !item[\"excludeExtensions\"]\n ? item[\"excludeExtensions\"]\n : item[\"excludeExtensions\"].map((p: any) => {\n return p;\n }),\n isOverridable: item[\"isOverridable\"],\n };\n}\n\n/** Enables or disables a capability on the virtual machine or virtual machine scale set. */\nexport interface AdditionalCapabilities {\n /** The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. */\n ultraSSDEnabled?: boolean;\n /** The flag that enables or disables hibernation capability on the VM. */\n hibernationEnabled?: boolean;\n /** The flag enables the usage of FIPS 140-3 compliant cryptography on the protectedSettings of an extension. Learn more at: https://aka.ms/linuxagentfipssupport. */\n enableFips1403Encryption?: boolean;\n}\n\nexport function additionalCapabilitiesSerializer(item: AdditionalCapabilities): any {\n return {\n ultraSSDEnabled: item[\"ultraSSDEnabled\"],\n hibernationEnabled: item[\"hibernationEnabled\"],\n enableFips1403Encryption: item[\"enableFips1403Encryption\"],\n };\n}\n\nexport function additionalCapabilitiesDeserializer(item: any): AdditionalCapabilities {\n return {\n ultraSSDEnabled: item[\"ultraSSDEnabled\"],\n hibernationEnabled: item[\"hibernationEnabled\"],\n enableFips1403Encryption: item[\"enableFips1403Encryption\"],\n };\n}\n\n/** Describes a scale-in policy for a virtual machine scale set. */\nexport interface ScaleInPolicy {\n /** 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> */\n rules?: VirtualMachineScaleSetScaleInRules[];\n /** This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) */\n forceDeletion?: boolean;\n /** This property allows you to prioritize the deletion of unhealthy and inactive VMs when a virtual machine scale set is being scaled-in.(Feature in Preview) */\n prioritizeUnhealthyVMs?: boolean;\n}\n\nexport function scaleInPolicySerializer(item: ScaleInPolicy): any {\n return {\n rules: !item[\"rules\"]\n ? item[\"rules\"]\n : item[\"rules\"].map((p: any) => {\n return p;\n }),\n forceDeletion: item[\"forceDeletion\"],\n prioritizeUnhealthyVMs: item[\"prioritizeUnhealthyVMs\"],\n };\n}\n\nexport function scaleInPolicyDeserializer(item: any): ScaleInPolicy {\n return {\n rules: !item[\"rules\"]\n ? item[\"rules\"]\n : item[\"rules\"].map((p: any) => {\n return p;\n }),\n forceDeletion: item[\"forceDeletion\"],\n prioritizeUnhealthyVMs: item[\"prioritizeUnhealthyVMs\"],\n };\n}\n\n/** Known values of {@link VirtualMachineScaleSetScaleInRules} that the service accepts. */\nexport enum KnownVirtualMachineScaleSetScaleInRules {\n /** Default */\n Default = \"Default\",\n /** OldestVM */\n OldestVM = \"OldestVM\",\n /** NewestVM */\n NewestVM = \"NewestVM\",\n}\n\n/** Type of VirtualMachineScaleSetScaleInRules */\nexport type VirtualMachineScaleSetScaleInRules = string;\n\n/** Specifies the orchestration mode for the virtual machine scale set. */\nexport enum KnownOrchestrationMode {\n /** Uniform */\n Uniform = \"Uniform\",\n /** Flexible */\n Flexible = \"Flexible\",\n}\n\n/**\n * Specifies the orchestration mode for the virtual machine scale set. \\\n * {@link KnownOrchestrationMode} can be used interchangeably with OrchestrationMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uniform** \\\n * **Flexible**\n */\nexport type OrchestrationMode = string;\n\n/** Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. */\nexport interface SpotRestorePolicy {\n /** Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints */\n enabled?: boolean;\n /** Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances */\n restoreTimeout?: string;\n}\n\nexport function spotRestorePolicySerializer(item: SpotRestorePolicy): any {\n return { enabled: item[\"enabled\"], restoreTimeout: item[\"restoreTimeout\"] };\n}\n\nexport function spotRestorePolicyDeserializer(item: any): SpotRestorePolicy {\n return {\n enabled: item[\"enabled\"],\n restoreTimeout: item[\"restoreTimeout\"],\n };\n}\n\n/** Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. */\nexport interface PriorityMixPolicy {\n /** The base number of regular priority VMs that will be created in this scale set as it scales out. */\n baseRegularPriorityCount?: number;\n /** The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. */\n regularPriorityPercentageAboveBase?: number;\n}\n\nexport function priorityMixPolicySerializer(item: PriorityMixPolicy): any {\n return {\n baseRegularPriorityCount: item[\"baseRegularPriorityCount\"],\n regularPriorityPercentageAboveBase: item[\"regularPriorityPercentageAboveBase\"],\n };\n}\n\nexport function priorityMixPolicyDeserializer(item: any): PriorityMixPolicy {\n return {\n baseRegularPriorityCount: item[\"baseRegularPriorityCount\"],\n regularPriorityPercentageAboveBase: item[\"regularPriorityPercentageAboveBase\"],\n };\n}\n\n/** Describes an resiliency policy - AutomaticZoneRebalancingPolicy, ResilientVMCreationPolicy, ResilientVMDeletionPolicy and OperationRecoverySettings (version > 2025-11-01). */\nexport interface ResiliencyPolicy {\n /** The configuration parameters used while performing resilient VM creation. */\n resilientVMCreationPolicy?: ResilientVMCreationPolicy;\n /** The configuration parameters used while performing resilient VM deletion. */\n resilientVMDeletionPolicy?: ResilientVMDeletionPolicy;\n /** The configuration parameters used while performing automatic AZ balancing. */\n automaticZoneRebalancingPolicy?: AutomaticZoneRebalancingPolicy;\n /** The configuration parameters used while performing zone allocation. */\n zoneAllocationPolicy?: ZoneAllocationPolicy;\n /** The configuration parameters used for operation recovery settings. */\n operationRecoverySettings?: OperationRecoverySettings;\n}\n\nexport function resiliencyPolicySerializer(item: ResiliencyPolicy): any {\n return {\n resilientVMCreationPolicy: !item[\"resilientVMCreationPolicy\"]\n ? item[\"resilientVMCreationPolicy\"]\n : resilientVMCreationPolicySerializer(item[\"resilientVMCreationPolicy\"]),\n resilientVMDeletionPolicy: !item[\"resilientVMDeletionPolicy\"]\n ? item[\"resilientVMDeletionPolicy\"]\n : resilientVMDeletionPolicySerializer(item[\"resilientVMDeletionPolicy\"]),\n automaticZoneRebalancingPolicy: !item[\"automaticZoneRebalancingPolicy\"]\n ? item[\"automaticZoneRebalancingPolicy\"]\n : automaticZoneRebalancingPolicySerializer(item[\"automaticZoneRebalancingPolicy\"]),\n zoneAllocationPolicy: !item[\"zoneAllocationPolicy\"]\n ? item[\"zoneAllocationPolicy\"]\n : zoneAllocationPolicySerializer(item[\"zoneAllocationPolicy\"]),\n operationRecoverySettings: !item[\"operationRecoverySettings\"]\n ? item[\"operationRecoverySettings\"]\n : operationRecoverySettingsSerializer(item[\"operationRecoverySettings\"]),\n };\n}\n\nexport function resiliencyPolicyDeserializer(item: any): ResiliencyPolicy {\n return {\n resilientVMCreationPolicy: !item[\"resilientVMCreationPolicy\"]\n ? item[\"resilientVMCreationPolicy\"]\n : resilientVMCreationPolicyDeserializer(item[\"resilientVMCreationPolicy\"]),\n resilientVMDeletionPolicy: !item[\"resilientVMDeletionPolicy\"]\n ? item[\"resilientVMDeletionPolicy\"]\n : resilientVMDeletionPolicyDeserializer(item[\"resilientVMDeletionPolicy\"]),\n automaticZoneRebalancingPolicy: !item[\"automaticZoneRebalancingPolicy\"]\n ? item[\"automaticZoneRebalancingPolicy\"]\n : automaticZoneRebalancingPolicyDeserializer(item[\"automaticZoneRebalancingPolicy\"]),\n zoneAllocationPolicy: !item[\"zoneAllocationPolicy\"]\n ? item[\"zoneAllocationPolicy\"]\n : zoneAllocationPolicyDeserializer(item[\"zoneAllocationPolicy\"]),\n operationRecoverySettings: !item[\"operationRecoverySettings\"]\n ? item[\"operationRecoverySettings\"]\n : operationRecoverySettingsDeserializer(item[\"operationRecoverySettings\"]),\n };\n}\n\n/** The configuration parameters used while performing resilient VM creation. */\nexport interface ResilientVMCreationPolicy {\n /** Specifies whether resilient VM creation should be enabled on the virtual machine scale set. The default value is false. */\n enabled?: boolean;\n}\n\nexport function resilientVMCreationPolicySerializer(item: ResilientVMCreationPolicy): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function resilientVMCreationPolicyDeserializer(item: any): ResilientVMCreationPolicy {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** The configuration parameters used while performing resilient VM deletion. */\nexport interface ResilientVMDeletionPolicy {\n /** Specifies whether resilient VM deletion should be enabled on the virtual machine scale set. The default value is false. */\n enabled?: boolean;\n}\n\nexport function resilientVMDeletionPolicySerializer(item: ResilientVMDeletionPolicy): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function resilientVMDeletionPolicyDeserializer(item: any): ResilientVMDeletionPolicy {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** The configuration parameters used while performing automatic AZ balancing. */\nexport interface AutomaticZoneRebalancingPolicy {\n /** Specifies whether Automatic AZ Balancing should be enabled on the virtual machine scale set. The default value is false. */\n enabled?: boolean;\n /** Type of rebalance strategy that will be used for rebalancing virtual machines in the scale set across availability zones. Default and only supported value for now is Recreate. */\n rebalanceStrategy?: RebalanceStrategy;\n /** Type of rebalance behavior that will be used for recreating virtual machines in the scale set across availability zones. Default and only supported value for now is CreateBeforeDelete. */\n rebalanceBehavior?: RebalanceBehavior;\n}\n\nexport function automaticZoneRebalancingPolicySerializer(\n item: AutomaticZoneRebalancingPolicy,\n): any {\n return {\n enabled: item[\"enabled\"],\n rebalanceStrategy: item[\"rebalanceStrategy\"],\n rebalanceBehavior: item[\"rebalanceBehavior\"],\n };\n}\n\nexport function automaticZoneRebalancingPolicyDeserializer(\n item: any,\n): AutomaticZoneRebalancingPolicy {\n return {\n enabled: item[\"enabled\"],\n rebalanceStrategy: item[\"rebalanceStrategy\"],\n rebalanceBehavior: item[\"rebalanceBehavior\"],\n };\n}\n\n/** Type of rebalance strategy that will be used for rebalancing virtual machines in the scale set across availability zones. Default and only supported value for now is Recreate. */\nexport enum KnownRebalanceStrategy {\n /** Recreate */\n Recreate = \"Recreate\",\n}\n\n/**\n * Type of rebalance strategy that will be used for rebalancing virtual machines in the scale set across availability zones. Default and only supported value for now is Recreate. \\\n * {@link KnownRebalanceStrategy} can be used interchangeably with RebalanceStrategy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Recreate**\n */\nexport type RebalanceStrategy = string;\n\n/** Type of rebalance behavior that will be used for recreating virtual machines in the scale set across availability zones. Default and only supported value for now is CreateBeforeDelete. */\nexport enum KnownRebalanceBehavior {\n /** CreateBeforeDelete */\n CreateBeforeDelete = \"CreateBeforeDelete\",\n}\n\n/**\n * Type of rebalance behavior that will be used for recreating virtual machines in the scale set across availability zones. Default and only supported value for now is CreateBeforeDelete. \\\n * {@link KnownRebalanceBehavior} can be used interchangeably with RebalanceBehavior,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CreateBeforeDelete**\n */\nexport type RebalanceBehavior = string;\n\n/** The configuration parameters for zone allocation of a virtual machine scale set. */\nexport interface ZoneAllocationPolicy {\n /** The maximum number of availability zones to use if the ZonePlacementPolicy is 'Auto'. If not specified, all availability zones will be used. */\n maxZoneCount?: number;\n /** The configuration parameters used to limit the number of virtual machines per availability zone in the virtual machine scale set. */\n maxInstancePercentPerZonePolicy?: MaxInstancePercentPerZonePolicy;\n}\n\nexport function zoneAllocationPolicySerializer(item: ZoneAllocationPolicy): any {\n return {\n maxZoneCount: item[\"maxZoneCount\"],\n maxInstancePercentPerZonePolicy: !item[\"maxInstancePercentPerZonePolicy\"]\n ? item[\"maxInstancePercentPerZonePolicy\"]\n : maxInstancePercentPerZonePolicySerializer(item[\"maxInstancePercentPerZonePolicy\"]),\n };\n}\n\nexport function zoneAllocationPolicyDeserializer(item: any): ZoneAllocationPolicy {\n return {\n maxZoneCount: item[\"maxZoneCount\"],\n maxInstancePercentPerZonePolicy: !item[\"maxInstancePercentPerZonePolicy\"]\n ? item[\"maxInstancePercentPerZonePolicy\"]\n : maxInstancePercentPerZonePolicyDeserializer(item[\"maxInstancePercentPerZonePolicy\"]),\n };\n}\n\n/** The configuration parameters used to limit the number of virtual machines per availability zone in the virtual machine scale set. */\nexport interface MaxInstancePercentPerZonePolicy {\n /** Specifies whether maxInstancePercentPerZonePolicy should be enabled on the virtual machine scale set. */\n enabled?: boolean;\n /** Limit on the number of instances in each zone as a percentage of the total capacity of the virtual machine scale set. */\n value?: number;\n}\n\nexport function maxInstancePercentPerZonePolicySerializer(\n item: MaxInstancePercentPerZonePolicy,\n): any {\n return { enabled: item[\"enabled\"], value: item[\"value\"] };\n}\n\nexport function maxInstancePercentPerZonePolicyDeserializer(\n item: any,\n): MaxInstancePercentPerZonePolicy {\n return {\n enabled: item[\"enabled\"],\n value: item[\"value\"],\n };\n}\n\n/** The configuration parameters used for operation recovery settings on a virtual machine scale set. */\nexport interface OperationRecoverySettings {\n /** The configuration parameters used for restart recovery policy. */\n restartRecoveryPolicy?: RestartRecoveryPolicy;\n /** The configuration parameters used for start recovery policy. */\n startRecoveryPolicy?: StartRecoveryPolicy;\n /** The configuration parameters used for reimage recovery policy. */\n reimageRecoveryPolicy?: ReimageRecoveryPolicy;\n}\n\nexport function operationRecoverySettingsSerializer(item: OperationRecoverySettings): any {\n return {\n restartRecoveryPolicy: !item[\"restartRecoveryPolicy\"]\n ? item[\"restartRecoveryPolicy\"]\n : restartRecoveryPolicySerializer(item[\"restartRecoveryPolicy\"]),\n startRecoveryPolicy: !item[\"startRecoveryPolicy\"]\n ? item[\"startRecoveryPolicy\"]\n : startRecoveryPolicySerializer(item[\"startRecoveryPolicy\"]),\n reimageRecoveryPolicy: !item[\"reimageRecoveryPolicy\"]\n ? item[\"reimageRecoveryPolicy\"]\n : reimageRecoveryPolicySerializer(item[\"reimageRecoveryPolicy\"]),\n };\n}\n\nexport function operationRecoverySettingsDeserializer(item: any): OperationRecoverySettings {\n return {\n restartRecoveryPolicy: !item[\"restartRecoveryPolicy\"]\n ? item[\"restartRecoveryPolicy\"]\n : restartRecoveryPolicyDeserializer(item[\"restartRecoveryPolicy\"]),\n startRecoveryPolicy: !item[\"startRecoveryPolicy\"]\n ? item[\"startRecoveryPolicy\"]\n : startRecoveryPolicyDeserializer(item[\"startRecoveryPolicy\"]),\n reimageRecoveryPolicy: !item[\"reimageRecoveryPolicy\"]\n ? item[\"reimageRecoveryPolicy\"]\n : reimageRecoveryPolicyDeserializer(item[\"reimageRecoveryPolicy\"]),\n };\n}\n\n/** The configuration parameters used while performing restart recovery. */\nexport interface RestartRecoveryPolicy {\n /** Specifies whether restart recovery should be enabled. The default value is false. */\n enabled?: boolean;\n}\n\nexport function restartRecoveryPolicySerializer(item: RestartRecoveryPolicy): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function restartRecoveryPolicyDeserializer(item: any): RestartRecoveryPolicy {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** The configuration parameters used while performing start recovery. */\nexport interface StartRecoveryPolicy {\n /** Specifies whether start recovery should be enabled. The default value is false. */\n enabled?: boolean;\n}\n\nexport function startRecoveryPolicySerializer(item: StartRecoveryPolicy): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function startRecoveryPolicyDeserializer(item: any): StartRecoveryPolicy {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** The configuration parameters used while performing reimage recovery. */\nexport interface ReimageRecoveryPolicy {\n /** Specifies whether reimage recovery should be enabled. The default value is false. */\n enabled?: boolean;\n}\n\nexport function reimageRecoveryPolicySerializer(item: ReimageRecoveryPolicy): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function reimageRecoveryPolicyDeserializer(item: any): ReimageRecoveryPolicy {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. */\nexport enum KnownZonalPlatformFaultDomainAlignMode {\n /** Aligned */\n Aligned = \"Aligned\",\n /** Unaligned */\n Unaligned = \"Unaligned\",\n /** Offload Alignment to VMSS. VMSS aligns disks that support enough Storage Fault Domains, while keeping others unaligned. */\n BestEffortAligned = \"BestEffortAligned\",\n}\n\n/**\n * Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. \\\n * {@link KnownZonalPlatformFaultDomainAlignMode} can be used interchangeably with ZonalPlatformFaultDomainAlignMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Aligned** \\\n * **Unaligned** \\\n * **BestEffortAligned**: Offload Alignment to VMSS. VMSS aligns disks that support enough Storage Fault Domains, while keeping others unaligned.\n */\nexport type ZonalPlatformFaultDomainAlignMode = string;\n\n/** Specifies the sku profile for the virtual machine scale set. With this property the customer is able to specify a list of VM sizes and an allocation strategy. */\nexport interface SkuProfile {\n /** Specifies the VM sizes for the virtual machine scale set. */\n vmSizes?: SkuProfileVMSize[];\n /** Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. */\n allocationStrategy?: AllocationStrategy;\n}\n\nexport function skuProfileSerializer(item: SkuProfile): any {\n return {\n vmSizes: !item[\"vmSizes\"] ? item[\"vmSizes\"] : skuProfileVMSizeArraySerializer(item[\"vmSizes\"]),\n allocationStrategy: item[\"allocationStrategy\"],\n };\n}\n\nexport function skuProfileDeserializer(item: any): SkuProfile {\n return {\n vmSizes: !item[\"vmSizes\"]\n ? item[\"vmSizes\"]\n : skuProfileVMSizeArrayDeserializer(item[\"vmSizes\"]),\n allocationStrategy: item[\"allocationStrategy\"],\n };\n}\n\nexport function skuProfileVMSizeArraySerializer(result: Array<SkuProfileVMSize>): any[] {\n return result.map((item) => {\n return skuProfileVMSizeSerializer(item);\n });\n}\n\nexport function skuProfileVMSizeArrayDeserializer(result: Array<SkuProfileVMSize>): any[] {\n return result.map((item) => {\n return skuProfileVMSizeDeserializer(item);\n });\n}\n\n/** Specifies the VM Size. */\nexport interface SkuProfileVMSize {\n /** Specifies the name of the VM Size. */\n name?: string;\n /** Specifies the rank (a.k.a priority) associated with the VM Size. */\n rank?: number;\n}\n\nexport function skuProfileVMSizeSerializer(item: SkuProfileVMSize): any {\n return { name: item[\"name\"], rank: item[\"rank\"] };\n}\n\nexport function skuProfileVMSizeDeserializer(item: any): SkuProfileVMSize {\n return {\n name: item[\"name\"],\n rank: item[\"rank\"],\n };\n}\n\n/** Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. */\nexport enum KnownAllocationStrategy {\n /** LowestPrice */\n LowestPrice = \"LowestPrice\",\n /** CapacityOptimized */\n CapacityOptimized = \"CapacityOptimized\",\n /** Prioritized */\n Prioritized = \"Prioritized\",\n}\n\n/**\n * Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. \\\n * {@link KnownAllocationStrategy} can be used interchangeably with AllocationStrategy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **LowestPrice** \\\n * **CapacityOptimized** \\\n * **Prioritized**\n */\nexport type AllocationStrategy = string;\n\n/** Specifies the high speed interconnect placement for the virtual machine scale set. */\nexport enum KnownHighSpeedInterconnectPlacement {\n /** No high speed interconnect placement */\n None = \"None\",\n /** Trunk high speed interconnect placement */\n Trunk = \"Trunk\",\n}\n\n/**\n * Specifies the high speed interconnect placement for the virtual machine scale set. \\\n * {@link KnownHighSpeedInterconnectPlacement} can be used interchangeably with HighSpeedInterconnectPlacement,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No high speed interconnect placement \\\n * **Trunk**: Trunk high speed interconnect placement\n */\nexport type HighSpeedInterconnectPlacement = string;\n\n/** Specifies the lifecycle hooks profile for the virtual machine scale set. */\nexport interface LifecycleHooksProfile {\n /** Specifies the lifecycle hooks configured for the virtual machine scale set. */\n lifecycleHooks?: LifecycleHook[];\n}\n\nexport function lifecycleHooksProfileSerializer(item: LifecycleHooksProfile): any {\n return {\n lifecycleHooks: !item[\"lifecycleHooks\"]\n ? item[\"lifecycleHooks\"]\n : lifecycleHookArraySerializer(item[\"lifecycleHooks\"]),\n };\n}\n\nexport function lifecycleHooksProfileDeserializer(item: any): LifecycleHooksProfile {\n return {\n lifecycleHooks: !item[\"lifecycleHooks\"]\n ? item[\"lifecycleHooks\"]\n : lifecycleHookArrayDeserializer(item[\"lifecycleHooks\"]),\n };\n}\n\nexport function lifecycleHookArraySerializer(result: Array<LifecycleHook>): any[] {\n return result.map((item) => {\n return lifecycleHookSerializer(item);\n });\n}\n\nexport function lifecycleHookArrayDeserializer(result: Array<LifecycleHook>): any[] {\n return result.map((item) => {\n return lifecycleHookDeserializer(item);\n });\n}\n\n/** Describes a lifecycle hook. */\nexport interface LifecycleHook {\n /** Specifies the type of the lifecycle hook. */\n type?: VMScaleSetLifecycleHookEventType;\n /** Specifies the time duration a virtual machine scale set lifecycle hook event sent to the customer waits for a response from the customer. It should be in ISO 8601 format. */\n waitDuration?: string;\n /** Specifies the action that will be applied to a target resource in the virtual machine scale set lifecycle hook event if the platform does not receive a response from the customer for the target resource before waitUntil. */\n defaultAction?: LifecycleHookAction;\n}\n\nexport function lifecycleHookSerializer(item: LifecycleHook): any {\n return {\n type: item[\"type\"],\n waitDuration: item[\"waitDuration\"],\n defaultAction: item[\"defaultAction\"],\n };\n}\n\nexport function lifecycleHookDeserializer(item: any): LifecycleHook {\n return {\n type: item[\"type\"],\n waitDuration: item[\"waitDuration\"],\n defaultAction: item[\"defaultAction\"],\n };\n}\n\n/** Specifies the scenario for which the customer is interested in receiving virtual machine scale set lifecycle hook events. */\nexport enum KnownVMScaleSetLifecycleHookEventType {\n /** Lifecycle hook event sent to the customer before an Auto OS Upgrade operation starts on the virtual machine scale set. */\n UpgradeAutoOSScheduling = \"UpgradeAutoOSScheduling\",\n /** Lifecycle hook event sent to the customer before upgrade starts on a batch of virtual machines belonging to a virtual machine scale set during an Auto OS Upgrade operation. */\n UpgradeAutoOSRollingBatchStarting = \"UpgradeAutoOSRollingBatchStarting\",\n}\n\n/**\n * Specifies the scenario for which the customer is interested in receiving virtual machine scale set lifecycle hook events. \\\n * {@link KnownVMScaleSetLifecycleHookEventType} can be used interchangeably with VMScaleSetLifecycleHookEventType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **UpgradeAutoOSScheduling**: Lifecycle hook event sent to the customer before an Auto OS Upgrade operation starts on the virtual machine scale set. \\\n * **UpgradeAutoOSRollingBatchStarting**: Lifecycle hook event sent to the customer before upgrade starts on a batch of virtual machines belonging to a virtual machine scale set during an Auto OS Upgrade operation.\n */\nexport type VMScaleSetLifecycleHookEventType = string;\n\n/** The action that will be applied to a target resource in the virtual machine scale set lifecycle hook event if the platform does not receive a response from the customer for the target resource before waitUntil. */\nexport enum KnownLifecycleHookAction {\n /** The lifecycle hook of a target resource in a lifecycle hook event will be approved. */\n Approve = \"Approve\",\n /** The lifecycle hook of a target resource in a lifecycle hook event will be rejected. */\n Reject = \"Reject\",\n}\n\n/**\n * The action that will be applied to a target resource in the virtual machine scale set lifecycle hook event if the platform does not receive a response from the customer for the target resource before waitUntil. \\\n * {@link KnownLifecycleHookAction} can be used interchangeably with LifecycleHookAction,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Approve**: The lifecycle hook of a target resource in a lifecycle hook event will be approved. \\\n * **Reject**: The lifecycle hook of a target resource in a lifecycle hook event will be rejected.\n */\nexport type LifecycleHookAction = string;\n\n/** Specifies the external health policy for the virtual machine scale set. */\nexport interface ExternalHealthPolicy {\n /** If true, external health is enabled for this scale set. Cannot be set to true on instances where another health monitoring source is active (ApplicationHealth extension or SLB). Defaults to false. */\n enabled?: boolean;\n /** Defines how long the health status set by External Health API will last on the VM. If a signal is not received/updated within this time, the VM Health will be marked as \"unknown\". Uses the ISO 8601 format. Minimum: 5 minutes (PT5M), Maximum: 3 hours (PT3H). */\n expiryDuration?: string;\n /** Grace period for newly created VMs or when the External Health policy is first applied on VMSS. Uses the ISO 8601 format. Minimum: 5 minutes (PT5M), Maximum: 4 hours (PT4H). */\n gracePeriod?: string;\n}\n\nexport function externalHealthPolicySerializer(item: ExternalHealthPolicy): any {\n return {\n enabled: item[\"enabled\"],\n expiryDuration: item[\"expiryDuration\"],\n gracePeriod: item[\"gracePeriod\"],\n };\n}\n\nexport function externalHealthPolicyDeserializer(item: any): ExternalHealthPolicy {\n return {\n enabled: item[\"enabled\"],\n expiryDuration: item[\"expiryDuration\"],\n gracePeriod: item[\"gracePeriod\"],\n };\n}\n\n/** Identity for the virtual machine scale set. */\nexport interface VirtualMachineScaleSetIdentity {\n /** The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. */\n type?: ResourceIdentityType;\n /** The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */\n userAssignedIdentities?: Record<string, UserAssignedIdentitiesValue>;\n}\n\nexport function virtualMachineScaleSetIdentitySerializer(\n item: VirtualMachineScaleSetIdentity,\n): any {\n return {\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : userAssignedIdentitiesValueRecordSerializer(item[\"userAssignedIdentities\"]),\n };\n}\n\nexport function virtualMachineScaleSetIdentityDeserializer(\n item: any,\n): VirtualMachineScaleSetIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : userAssignedIdentitiesValueRecordDeserializer(item[\"userAssignedIdentities\"]),\n };\n}\n\n/** Describes the user-defined constraints for resource hardware placement. */\nexport interface Placement {\n /** Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation. */\n zonePlacementPolicy?: ZonePlacementPolicyType;\n /** This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection. */\n includeZones?: string[];\n /** This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection. */\n excludeZones?: string[];\n}\n\nexport function placementSerializer(item: Placement): any {\n return {\n zonePlacementPolicy: item[\"zonePlacementPolicy\"],\n includeZones: !item[\"includeZones\"]\n ? item[\"includeZones\"]\n : item[\"includeZones\"].map((p: any) => {\n return p;\n }),\n excludeZones: !item[\"excludeZones\"]\n ? item[\"excludeZones\"]\n : item[\"excludeZones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function placementDeserializer(item: any): Placement {\n return {\n zonePlacementPolicy: item[\"zonePlacementPolicy\"],\n includeZones: !item[\"includeZones\"]\n ? item[\"includeZones\"]\n : item[\"includeZones\"].map((p: any) => {\n return p;\n }),\n excludeZones: !item[\"excludeZones\"]\n ? item[\"excludeZones\"]\n : item[\"excludeZones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation. */\nexport enum KnownZonePlacementPolicyType {\n /** Any */\n Any = \"Any\",\n /** Automatic zone placement in a Virtual Machine Scale Set. */\n Auto = \"Auto\",\n}\n\n/**\n * Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation. \\\n * {@link KnownZonePlacementPolicyType} can be used interchangeably with ZonePlacementPolicyType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Any** \\\n * **Auto**: Automatic zone placement in a Virtual Machine Scale Set.\n */\nexport type ZonePlacementPolicyType = string;\n\n/** Describes a Virtual Machine Scale Set. */\nexport interface VirtualMachineScaleSetUpdate extends UpdateResource {\n /** The virtual machine scale set sku. */\n sku?: Sku;\n /** The purchase plan when deploying a virtual machine scale set from VM Marketplace images. */\n plan?: Plan;\n /** The identity of the virtual machine scale set, if configured. */\n identity?: VirtualMachineScaleSetIdentity;\n /** The virtual machine scale set zones. */\n zones?: string[];\n /** User-defined constraints for virtual machine scale set hardware placement. */\n placement?: Placement;\n /** The upgrade policy. */\n upgradePolicy?: UpgradePolicy;\n /** Policy for automatic repairs. */\n automaticRepairsPolicy?: AutomaticRepairsPolicy;\n /** The virtual machine profile. */\n virtualMachineProfile?: VirtualMachineScaleSetUpdateVMProfile;\n /** Specifies whether the Virtual Machine Scale Set should be overprovisioned. */\n overprovision?: boolean;\n /** When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. */\n doNotRunExtensionsOnOverprovisionedVMs?: boolean;\n /** When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. */\n singlePlacementGroup?: boolean;\n /** 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. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. */\n scaleInPolicy?: ScaleInPolicy;\n /** Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. */\n priorityMixPolicy?: PriorityMixPolicy;\n /** Specifies the Spot Restore properties for the virtual machine scale set. */\n spotRestorePolicy?: SpotRestorePolicy;\n /** Policy for Resiliency */\n resiliencyPolicy?: ResiliencyPolicy;\n /** Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. */\n zonalPlatformFaultDomainAlignMode?: ZonalPlatformFaultDomainAlignMode;\n /** Specifies the sku profile for the virtual machine scale set. */\n skuProfile?: SkuProfile;\n /** Specifies the lifecycle hooks profile for the virtual machine scale set. */\n lifecycleHooksProfile?: LifecycleHooksProfile;\n}\n\nexport function virtualMachineScaleSetUpdateSerializer(item: VirtualMachineScaleSetUpdate): any {\n return {\n tags: item[\"tags\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n plan: !item[\"plan\"] ? item[\"plan\"] : planSerializer(item[\"plan\"]),\n properties: areAllPropsUndefined(item, [\n \"upgradePolicy\",\n \"automaticRepairsPolicy\",\n \"virtualMachineProfile\",\n \"overprovision\",\n \"doNotRunExtensionsOnOverprovisionedVMs\",\n \"singlePlacementGroup\",\n \"additionalCapabilities\",\n \"scaleInPolicy\",\n \"proximityPlacementGroup\",\n \"priorityMixPolicy\",\n \"spotRestorePolicy\",\n \"resiliencyPolicy\",\n \"zonalPlatformFaultDomainAlignMode\",\n \"skuProfile\",\n \"lifecycleHooksProfile\",\n ])\n ? undefined\n : _virtualMachineScaleSetUpdatePropertiesSerializer(item),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineScaleSetIdentitySerializer(item[\"identity\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n placement: !item[\"placement\"] ? item[\"placement\"] : placementSerializer(item[\"placement\"]),\n };\n}\n\n/** Describes the properties of a Virtual Machine Scale Set. */\nexport interface VirtualMachineScaleSetUpdateProperties {\n /** The upgrade policy. */\n upgradePolicy?: UpgradePolicy;\n /** Policy for automatic repairs. */\n automaticRepairsPolicy?: AutomaticRepairsPolicy;\n /** The virtual machine profile. */\n virtualMachineProfile?: VirtualMachineScaleSetUpdateVMProfile;\n /** Specifies whether the Virtual Machine Scale Set should be overprovisioned. */\n overprovision?: boolean;\n /** When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. */\n doNotRunExtensionsOnOverprovisionedVMs?: boolean;\n /** When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. */\n singlePlacementGroup?: boolean;\n /** 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. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. */\n scaleInPolicy?: ScaleInPolicy;\n /** Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. */\n priorityMixPolicy?: PriorityMixPolicy;\n /** Specifies the Spot Restore properties for the virtual machine scale set. */\n spotRestorePolicy?: SpotRestorePolicy;\n /** Policy for Resiliency */\n resiliencyPolicy?: ResiliencyPolicy;\n /** Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. */\n zonalPlatformFaultDomainAlignMode?: ZonalPlatformFaultDomainAlignMode;\n /** Specifies the sku profile for the virtual machine scale set. */\n skuProfile?: SkuProfile;\n /** Specifies the lifecycle hooks profile for the virtual machine scale set. */\n lifecycleHooksProfile?: LifecycleHooksProfile;\n}\n\nexport function virtualMachineScaleSetUpdatePropertiesSerializer(\n item: VirtualMachineScaleSetUpdateProperties,\n): any {\n return {\n upgradePolicy: !item[\"upgradePolicy\"]\n ? item[\"upgradePolicy\"]\n : upgradePolicySerializer(item[\"upgradePolicy\"]),\n automaticRepairsPolicy: !item[\"automaticRepairsPolicy\"]\n ? item[\"automaticRepairsPolicy\"]\n : automaticRepairsPolicySerializer(item[\"automaticRepairsPolicy\"]),\n virtualMachineProfile: !item[\"virtualMachineProfile\"]\n ? item[\"virtualMachineProfile\"]\n : virtualMachineScaleSetUpdateVMProfileSerializer(item[\"virtualMachineProfile\"]),\n overprovision: item[\"overprovision\"],\n doNotRunExtensionsOnOverprovisionedVMs: item[\"doNotRunExtensionsOnOverprovisionedVMs\"],\n singlePlacementGroup: item[\"singlePlacementGroup\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n scaleInPolicy: !item[\"scaleInPolicy\"]\n ? item[\"scaleInPolicy\"]\n : scaleInPolicySerializer(item[\"scaleInPolicy\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n priorityMixPolicy: !item[\"priorityMixPolicy\"]\n ? item[\"priorityMixPolicy\"]\n : priorityMixPolicySerializer(item[\"priorityMixPolicy\"]),\n spotRestorePolicy: !item[\"spotRestorePolicy\"]\n ? item[\"spotRestorePolicy\"]\n : spotRestorePolicySerializer(item[\"spotRestorePolicy\"]),\n resiliencyPolicy: !item[\"resiliencyPolicy\"]\n ? item[\"resiliencyPolicy\"]\n : resiliencyPolicySerializer(item[\"resiliencyPolicy\"]),\n zonalPlatformFaultDomainAlignMode: item[\"zonalPlatformFaultDomainAlignMode\"],\n skuProfile: !item[\"skuProfile\"] ? item[\"skuProfile\"] : skuProfileSerializer(item[\"skuProfile\"]),\n lifecycleHooksProfile: !item[\"lifecycleHooksProfile\"]\n ? item[\"lifecycleHooksProfile\"]\n : lifecycleHooksProfileSerializer(item[\"lifecycleHooksProfile\"]),\n };\n}\n\n/** Describes a virtual machine scale set virtual machine profile. */\nexport interface VirtualMachineScaleSetUpdateVMProfile {\n /** The virtual machine scale set OS profile. */\n osProfile?: VirtualMachineScaleSetUpdateOSProfile;\n /** The virtual machine scale set storage profile. */\n storageProfile?: VirtualMachineScaleSetUpdateStorageProfile;\n /** The virtual machine scale set network profile. */\n networkProfile?: VirtualMachineScaleSetUpdateNetworkProfile;\n /** The virtual machine scale set security posture reference. */\n securityPostureReference?: SecurityPostureReferenceUpdate;\n /** The virtual machine scale set Security profile */\n securityProfile?: SecurityProfile;\n /** The virtual machine scale set diagnostics profile. */\n diagnosticsProfile?: DiagnosticsProfile;\n /** The virtual machine scale set extension profile. */\n extensionProfile?: VirtualMachineScaleSetExtensionProfile;\n /** The license type, which is for bring your own license scenario. */\n licenseType?: string;\n /** Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. */\n billingProfile?: BillingProfile;\n /** Specifies Scheduled Event related configurations. */\n scheduledEventsProfile?: ScheduledEventsProfile;\n /** UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. <br><br>Minimum api-version: 2021-03-01 */\n userData?: string;\n /** Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. */\n hardwareProfile?: VirtualMachineScaleSetHardwareProfile;\n}\n\nexport function virtualMachineScaleSetUpdateVMProfileSerializer(\n item: VirtualMachineScaleSetUpdateVMProfile,\n): any {\n return {\n osProfile: !item[\"osProfile\"]\n ? item[\"osProfile\"]\n : virtualMachineScaleSetUpdateOSProfileSerializer(item[\"osProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : virtualMachineScaleSetUpdateStorageProfileSerializer(item[\"storageProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : virtualMachineScaleSetUpdateNetworkProfileSerializer(item[\"networkProfile\"]),\n securityPostureReference: !item[\"securityPostureReference\"]\n ? item[\"securityPostureReference\"]\n : securityPostureReferenceUpdateSerializer(item[\"securityPostureReference\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileSerializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileSerializer(item[\"diagnosticsProfile\"]),\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : virtualMachineScaleSetExtensionProfileSerializer(item[\"extensionProfile\"]),\n licenseType: item[\"licenseType\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileSerializer(item[\"billingProfile\"]),\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileSerializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : virtualMachineScaleSetHardwareProfileSerializer(item[\"hardwareProfile\"]),\n };\n}\n\n/** Describes a virtual machine scale set OS profile. */\nexport interface VirtualMachineScaleSetUpdateOSProfile {\n /** A base-64 encoded string of custom data. */\n customData?: string;\n /** The Windows Configuration of the OS profile. */\n windowsConfiguration?: WindowsConfiguration;\n /** The Linux Configuration of the OS profile. */\n linuxConfiguration?: LinuxConfiguration;\n /** The List of certificates for addition to the VM. */\n secrets?: VaultSecretGroup[];\n}\n\nexport function virtualMachineScaleSetUpdateOSProfileSerializer(\n item: VirtualMachineScaleSetUpdateOSProfile,\n): any {\n return {\n customData: item[\"customData\"],\n windowsConfiguration: !item[\"windowsConfiguration\"]\n ? item[\"windowsConfiguration\"]\n : windowsConfigurationSerializer(item[\"windowsConfiguration\"]),\n linuxConfiguration: !item[\"linuxConfiguration\"]\n ? item[\"linuxConfiguration\"]\n : linuxConfigurationSerializer(item[\"linuxConfiguration\"]),\n secrets: !item[\"secrets\"] ? item[\"secrets\"] : vaultSecretGroupArraySerializer(item[\"secrets\"]),\n };\n}\n\n/** Describes a virtual machine scale set storage profile. */\nexport interface VirtualMachineScaleSetUpdateStorageProfile {\n /** The image reference. */\n imageReference?: ImageReference;\n /** The OS disk. */\n osDisk?: VirtualMachineScaleSetUpdateOSDisk;\n /** The data disks. */\n dataDisks?: VirtualMachineScaleSetDataDisk[];\n /** Specifies the disk controller type configured for the virtual machines in the scale set. **Note:** You need to deallocate the virtual machines in the scale set before updating its disk controller type based on the upgrade mode configured for the scale set. Minimum api-version: 2022-08-01 */\n diskControllerType?: DiskControllerTypes;\n}\n\nexport function virtualMachineScaleSetUpdateStorageProfileSerializer(\n item: VirtualMachineScaleSetUpdateStorageProfile,\n): any {\n return {\n imageReference: !item[\"imageReference\"]\n ? item[\"imageReference\"]\n : imageReferenceSerializer(item[\"imageReference\"]),\n osDisk: !item[\"osDisk\"]\n ? item[\"osDisk\"]\n : virtualMachineScaleSetUpdateOSDiskSerializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : virtualMachineScaleSetDataDiskArraySerializer(item[\"dataDisks\"]),\n diskControllerType: item[\"diskControllerType\"],\n };\n}\n\n/** Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk. */\nexport interface VirtualMachineScaleSetUpdateOSDisk {\n /** The caching type. */\n caching?: CachingTypes;\n /** Specifies whether writeAccelerator should be enabled or disabled on the disk. */\n writeAcceleratorEnabled?: boolean;\n /** Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. */\n diffDiskSettings?: DiffDiskSettings;\n /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. <br><br> diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023 */\n diskSizeGB?: number;\n /** Specifies the storage fault domain alignment type for the disk. */\n storageFaultDomainAlignment?: StorageFaultDomainAlignmentType;\n /** The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist. */\n image?: VirtualHardDisk;\n /** The list of virtual hard disk container uris. */\n vhdContainers?: string[];\n /** The managed disk parameters. */\n managedDisk?: VirtualMachineScaleSetManagedDiskParameters;\n /** Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only). <br><br> Possible values: <br><br> **Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.<br><br> **Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted. <br><br> The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. */\n deleteOption?: DiskDeleteOptionTypes;\n}\n\nexport function virtualMachineScaleSetUpdateOSDiskSerializer(\n item: VirtualMachineScaleSetUpdateOSDisk,\n): any {\n return {\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n diffDiskSettings: !item[\"diffDiskSettings\"]\n ? item[\"diffDiskSettings\"]\n : diffDiskSettingsSerializer(item[\"diffDiskSettings\"]),\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n image: !item[\"image\"] ? item[\"image\"] : virtualHardDiskSerializer(item[\"image\"]),\n vhdContainers: !item[\"vhdContainers\"]\n ? item[\"vhdContainers\"]\n : item[\"vhdContainers\"].map((p: any) => {\n return p;\n }),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : virtualMachineScaleSetManagedDiskParametersSerializer(item[\"managedDisk\"]),\n deleteOption: item[\"deleteOption\"],\n };\n}\n\n/** Describes a virtual machine scale set network profile. */\nexport interface VirtualMachineScaleSetUpdateNetworkProfile {\n /** A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. */\n healthProbe?: ApiEntityReference;\n /** The list of network configurations. */\n networkInterfaceConfigurations?: VirtualMachineScaleSetUpdateNetworkConfiguration[];\n /** specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' */\n networkApiVersion?: NetworkApiVersion;\n}\n\nexport function virtualMachineScaleSetUpdateNetworkProfileSerializer(\n item: VirtualMachineScaleSetUpdateNetworkProfile,\n): any {\n return {\n healthProbe: !item[\"healthProbe\"]\n ? item[\"healthProbe\"]\n : apiEntityReferenceSerializer(item[\"healthProbe\"]),\n networkInterfaceConfigurations: !item[\"networkInterfaceConfigurations\"]\n ? item[\"networkInterfaceConfigurations\"]\n : virtualMachineScaleSetUpdateNetworkConfigurationArraySerializer(\n item[\"networkInterfaceConfigurations\"],\n ),\n networkApiVersion: item[\"networkApiVersion\"],\n };\n}\n\nexport function virtualMachineScaleSetUpdateNetworkConfigurationArraySerializer(\n result: Array<VirtualMachineScaleSetUpdateNetworkConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetUpdateNetworkConfigurationSerializer(item);\n });\n}\n\n/** Describes a virtual machine scale set network profile's network configurations. */\nexport interface VirtualMachineScaleSetUpdateNetworkConfiguration {\n /** The network configuration name. */\n name?: string;\n /** Resource tags applied to the networkInterface address created by this NetworkInterfaceConfiguration */\n tags?: Record<string, string>;\n /** Whether this is a primary NIC on a virtual machine. */\n primary?: boolean;\n /** Specifies whether the network interface is accelerated networking-enabled. */\n enableAcceleratedNetworking?: boolean;\n /** Specifies whether the network interface is disabled for tcp state tracking. */\n disableTcpStateTracking?: boolean;\n /** Specifies whether the network interface is FPGA networking-enabled. */\n enableFpga?: boolean;\n /** The network security group. */\n networkSecurityGroup?: SubResource;\n /** The dns settings to be applied on the network interfaces. */\n dnsSettings?: VirtualMachineScaleSetNetworkConfigurationDnsSettings;\n /** The virtual machine scale set IP Configuration. */\n ipConfigurations?: VirtualMachineScaleSetUpdateIPConfiguration[];\n /** Whether IP forwarding enabled on this NIC. */\n enableIPForwarding?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */\n auxiliaryMode?: NetworkInterfaceAuxiliaryMode;\n /** Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */\n auxiliarySku?: NetworkInterfaceAuxiliarySku;\n}\n\nexport function virtualMachineScaleSetUpdateNetworkConfigurationSerializer(\n item: VirtualMachineScaleSetUpdateNetworkConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"primary\",\n \"enableAcceleratedNetworking\",\n \"disableTcpStateTracking\",\n \"enableFpga\",\n \"networkSecurityGroup\",\n \"dnsSettings\",\n \"ipConfigurations\",\n \"enableIPForwarding\",\n \"deleteOption\",\n \"auxiliaryMode\",\n \"auxiliarySku\",\n ])\n ? undefined\n : _virtualMachineScaleSetUpdateNetworkConfigurationPropertiesSerializer(item),\n tags: item[\"tags\"],\n };\n}\n\n/** Describes a virtual machine scale set updatable network profile's IP configuration.Use this object for updating network profile's IP Configuration. */\nexport interface VirtualMachineScaleSetUpdateNetworkConfigurationProperties {\n /** Whether this is a primary NIC on a virtual machine. */\n primary?: boolean;\n /** Specifies whether the network interface is accelerated networking-enabled. */\n enableAcceleratedNetworking?: boolean;\n /** Specifies whether the network interface is disabled for tcp state tracking. */\n disableTcpStateTracking?: boolean;\n /** Specifies whether the network interface is FPGA networking-enabled. */\n enableFpga?: boolean;\n /** The network security group. */\n networkSecurityGroup?: SubResource;\n /** The dns settings to be applied on the network interfaces. */\n dnsSettings?: VirtualMachineScaleSetNetworkConfigurationDnsSettings;\n /** The virtual machine scale set IP Configuration. */\n ipConfigurations?: VirtualMachineScaleSetUpdateIPConfiguration[];\n /** Whether IP forwarding enabled on this NIC. */\n enableIPForwarding?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */\n auxiliaryMode?: NetworkInterfaceAuxiliaryMode;\n /** Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */\n auxiliarySku?: NetworkInterfaceAuxiliarySku;\n}\n\nexport function virtualMachineScaleSetUpdateNetworkConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetUpdateNetworkConfigurationProperties,\n): any {\n return {\n primary: item[\"primary\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceSerializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetNetworkConfigurationDnsSettingsSerializer(item[\"dnsSettings\"]),\n ipConfigurations: !item[\"ipConfigurations\"]\n ? item[\"ipConfigurations\"]\n : virtualMachineScaleSetUpdateIPConfigurationArraySerializer(item[\"ipConfigurations\"]),\n enableIPForwarding: item[\"enableIPForwarding\"],\n deleteOption: item[\"deleteOption\"],\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function virtualMachineScaleSetUpdateIPConfigurationArraySerializer(\n result: Array<VirtualMachineScaleSetUpdateIPConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetUpdateIPConfigurationSerializer(item);\n });\n}\n\n/** Describes a virtual machine scale set network profile's IP configuration. NOTE: The subnet of a scale set may be modified as long as the original subnet and the new subnet are in the same virtual network */\nexport interface VirtualMachineScaleSetUpdateIPConfiguration {\n /** The IP configuration name. */\n name?: string;\n /** The subnet. */\n subnet?: ApiEntityReference;\n /** Specifies the primary IP Configuration in case the network interface has more than one IP Configuration. */\n primary?: boolean;\n /** The publicIPAddressConfiguration. */\n publicIPAddressConfiguration?: VirtualMachineScaleSetUpdatePublicIPAddressConfiguration;\n /** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n privateIPAddressVersion?: IPVersion;\n /** The application gateway backend address pools. */\n applicationGatewayBackendAddressPools?: SubResource[];\n /** Specifies an array of references to application security group. */\n applicationSecurityGroups?: SubResource[];\n /** The load balancer backend address pools. */\n loadBalancerBackendAddressPools?: SubResource[];\n /** The load balancer inbound nat pools. */\n loadBalancerInboundNatPools?: SubResource[];\n}\n\nexport function virtualMachineScaleSetUpdateIPConfigurationSerializer(\n item: VirtualMachineScaleSetUpdateIPConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"subnet\",\n \"primary\",\n \"publicIPAddressConfiguration\",\n \"privateIPAddressVersion\",\n \"applicationGatewayBackendAddressPools\",\n \"applicationSecurityGroups\",\n \"loadBalancerBackendAddressPools\",\n \"loadBalancerInboundNatPools\",\n ])\n ? undefined\n : _virtualMachineScaleSetUpdateIPConfigurationPropertiesSerializer(item),\n };\n}\n\n/** Describes a virtual machine scale set network profile's IP configuration properties. */\nexport interface VirtualMachineScaleSetUpdateIPConfigurationProperties {\n /** The subnet. */\n subnet?: ApiEntityReference;\n /** Specifies the primary IP Configuration in case the network interface has more than one IP Configuration. */\n primary?: boolean;\n /** The publicIPAddressConfiguration. */\n publicIPAddressConfiguration?: VirtualMachineScaleSetUpdatePublicIPAddressConfiguration;\n /** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n privateIPAddressVersion?: IPVersion;\n /** The application gateway backend address pools. */\n applicationGatewayBackendAddressPools?: SubResource[];\n /** Specifies an array of references to application security group. */\n applicationSecurityGroups?: SubResource[];\n /** The load balancer backend address pools. */\n loadBalancerBackendAddressPools?: SubResource[];\n /** The load balancer inbound nat pools. */\n loadBalancerInboundNatPools?: SubResource[];\n}\n\nexport function virtualMachineScaleSetUpdateIPConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetUpdateIPConfigurationProperties,\n): any {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : apiEntityReferenceSerializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachineScaleSetUpdatePublicIPAddressConfigurationSerializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArraySerializer(item[\"applicationGatewayBackendAddressPools\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArraySerializer(item[\"applicationSecurityGroups\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArraySerializer(item[\"loadBalancerBackendAddressPools\"]),\n loadBalancerInboundNatPools: !item[\"loadBalancerInboundNatPools\"]\n ? item[\"loadBalancerInboundNatPools\"]\n : subResourceArraySerializer(item[\"loadBalancerInboundNatPools\"]),\n };\n}\n\n/** Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration */\nexport interface VirtualMachineScaleSetUpdatePublicIPAddressConfiguration {\n /** The publicIP address configuration name. */\n name?: string;\n /** Resource tags applied to the publicIP address created by this PublicIPAddressConfiguration */\n tags?: Record<string, string>;\n /** The idle timeout of the public IP address. */\n idleTimeoutInMinutes?: number;\n /** The dns settings to be applied on the publicIP addresses . */\n dnsSettings?: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings;\n /** The PublicIPPrefix from which to allocate publicIP addresses. */\n publicIPPrefix?: SubResource;\n /** Specify what happens to the public IP when the VM is deleted */\n deleteOption?: DeleteOptions;\n}\n\nexport function virtualMachineScaleSetUpdatePublicIPAddressConfigurationSerializer(\n item: VirtualMachineScaleSetUpdatePublicIPAddressConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"idleTimeoutInMinutes\",\n \"dnsSettings\",\n \"publicIPPrefix\",\n \"deleteOption\",\n ])\n ? undefined\n : _virtualMachineScaleSetUpdatePublicIPAddressConfigurationPropertiesSerializer(item),\n tags: item[\"tags\"],\n };\n}\n\n/** Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration */\nexport interface VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties {\n /** The idle timeout of the public IP address. */\n idleTimeoutInMinutes?: number;\n /** The dns settings to be applied on the publicIP addresses . */\n dnsSettings?: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings;\n /** The PublicIPPrefix from which to allocate publicIP addresses. */\n publicIPPrefix?: SubResource;\n /** Specify what happens to the public IP when the VM is deleted */\n deleteOption?: DeleteOptions;\n}\n\nexport function virtualMachineScaleSetUpdatePublicIPAddressConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties,\n): any {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsSerializer(\n item[\"dnsSettings\"],\n ),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceSerializer(item[\"publicIPPrefix\"]),\n deleteOption: item[\"deleteOption\"],\n };\n}\n\n/** Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01 */\nexport interface SecurityPostureReferenceUpdate {\n /** The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest */\n id?: string;\n /** The list of virtual machine extension names to exclude when applying the security posture. */\n excludeExtensions?: string[];\n /** Whether the security posture can be overridden by the user. */\n isOverridable?: boolean;\n}\n\nexport function securityPostureReferenceUpdateSerializer(\n item: SecurityPostureReferenceUpdate,\n): any {\n return {\n id: item[\"id\"],\n excludeExtensions: !item[\"excludeExtensions\"]\n ? item[\"excludeExtensions\"]\n : item[\"excludeExtensions\"].map((p: any) => {\n return p;\n }),\n isOverridable: item[\"isOverridable\"],\n };\n}\n\n/** The Update Resource model definition. */\nexport interface UpdateResource {\n /** Resource tags */\n tags?: Record<string, string>;\n}\n\nexport function updateResourceSerializer(item: UpdateResource): any {\n return { tags: item[\"tags\"] };\n}\n\n/** The List Virtual Machine operation response. */\nexport interface _VirtualMachineScaleSetListResult {\n /** The list of virtual machine scale sets. */\n value: VirtualMachineScaleSet[];\n /** The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of VMSS. */\n nextLink?: string;\n}\n\nexport function _virtualMachineScaleSetListResultDeserializer(\n item: any,\n): _VirtualMachineScaleSetListResult {\n return {\n value: virtualMachineScaleSetArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function virtualMachineScaleSetArraySerializer(\n result: Array<VirtualMachineScaleSet>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetArrayDeserializer(\n result: Array<VirtualMachineScaleSet>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetDeserializer(item);\n });\n}\n\n/** The List Virtual Machine operation response. */\nexport interface _VirtualMachineScaleSetListWithLinkResult {\n /** The list of virtual machine scale sets. */\n value: VirtualMachineScaleSet[];\n /** The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of Virtual Machine Scale Sets. */\n nextLink?: string;\n}\n\nexport function _virtualMachineScaleSetListWithLinkResultDeserializer(\n item: any,\n): _VirtualMachineScaleSetListWithLinkResult {\n return {\n value: virtualMachineScaleSetArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Specifies a list of virtual machine instance IDs from the VM scale set. */\nexport interface VirtualMachineScaleSetVMInstanceIDs {\n /** The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set. */\n instanceIds?: string[];\n}\n\nexport function virtualMachineScaleSetVMInstanceIDsSerializer(\n item: VirtualMachineScaleSetVMInstanceIDs,\n): any {\n return {\n instanceIds: !item[\"instanceIds\"]\n ? item[\"instanceIds\"]\n : item[\"instanceIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** model interface VMScaleSetConvertToSinglePlacementGroupInput */\nexport interface VMScaleSetConvertToSinglePlacementGroupInput {\n /** Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances. */\n activePlacementGroupId?: string;\n}\n\nexport function vmScaleSetConvertToSinglePlacementGroupInputSerializer(\n item: VMScaleSetConvertToSinglePlacementGroupInput,\n): any {\n return { activePlacementGroupId: item[\"activePlacementGroupId\"] };\n}\n\n/** Specifies a list of virtual machine instance IDs from the VM scale set. */\nexport interface VirtualMachineScaleSetVMInstanceRequiredIDs {\n /** The virtual machine scale set instance ids. */\n instanceIds: string[];\n}\n\nexport function virtualMachineScaleSetVMInstanceRequiredIDsSerializer(\n item: VirtualMachineScaleSetVMInstanceRequiredIDs,\n): any {\n return {\n instanceIds: item[\"instanceIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Response after calling a manual recovery walk */\nexport interface RecoveryWalkResponse {\n /** Whether the recovery walk was performed */\n readonly walkPerformed?: boolean;\n /** The next update domain that needs to be walked. Null means walk spanning all update domains has been completed */\n readonly nextPlatformUpdateDomain?: number;\n}\n\nexport function recoveryWalkResponseDeserializer(item: any): RecoveryWalkResponse {\n return {\n walkPerformed: item[\"walkPerformed\"],\n nextPlatformUpdateDomain: item[\"nextPlatformUpdateDomain\"],\n };\n}\n\n/** The instance view of a virtual machine scale set. */\nexport interface VirtualMachineScaleSetInstanceView {\n /** The instance view status summary for the virtual machine scale set. */\n readonly virtualMachine?: VirtualMachineScaleSetInstanceViewStatusesSummary;\n /** The extensions information. */\n readonly extensions?: VirtualMachineScaleSetVMExtensionsSummary[];\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n /** The orchestration services information. */\n readonly orchestrationServices?: OrchestrationServiceSummary[];\n}\n\nexport function virtualMachineScaleSetInstanceViewDeserializer(\n item: any,\n): VirtualMachineScaleSetInstanceView {\n return {\n virtualMachine: !item[\"virtualMachine\"]\n ? item[\"virtualMachine\"]\n : virtualMachineScaleSetInstanceViewStatusesSummaryDeserializer(item[\"virtualMachine\"]),\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : virtualMachineScaleSetVMExtensionsSummaryArrayDeserializer(item[\"extensions\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n orchestrationServices: !item[\"orchestrationServices\"]\n ? item[\"orchestrationServices\"]\n : orchestrationServiceSummaryArrayDeserializer(item[\"orchestrationServices\"]),\n };\n}\n\n/** Instance view statuses summary for virtual machines of a virtual machine scale set. */\nexport interface VirtualMachineScaleSetInstanceViewStatusesSummary {\n /** The extensions information. */\n readonly statusesSummary?: VirtualMachineStatusCodeCount[];\n}\n\nexport function virtualMachineScaleSetInstanceViewStatusesSummaryDeserializer(\n item: any,\n): VirtualMachineScaleSetInstanceViewStatusesSummary {\n return {\n statusesSummary: !item[\"statusesSummary\"]\n ? item[\"statusesSummary\"]\n : virtualMachineStatusCodeCountArrayDeserializer(item[\"statusesSummary\"]),\n };\n}\n\nexport function virtualMachineStatusCodeCountArrayDeserializer(\n result: Array<VirtualMachineStatusCodeCount>,\n): any[] {\n return result.map((item) => {\n return virtualMachineStatusCodeCountDeserializer(item);\n });\n}\n\n/** The status code and count of the virtual machine scale set instance view status summary. */\nexport interface VirtualMachineStatusCodeCount {\n /** The instance view status code. */\n readonly code?: string;\n /** The number of instances having a particular status code. */\n readonly count?: number;\n}\n\nexport function virtualMachineStatusCodeCountDeserializer(\n item: any,\n): VirtualMachineStatusCodeCount {\n return {\n code: item[\"code\"],\n count: item[\"count\"],\n };\n}\n\nexport function virtualMachineScaleSetVMExtensionsSummaryArrayDeserializer(\n result: Array<VirtualMachineScaleSetVMExtensionsSummary>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetVMExtensionsSummaryDeserializer(item);\n });\n}\n\n/** Extensions summary for virtual machines of a virtual machine scale set. */\nexport interface VirtualMachineScaleSetVMExtensionsSummary {\n /** The extension name. */\n readonly name?: string;\n /** The extensions information. */\n readonly statusesSummary?: VirtualMachineStatusCodeCount[];\n}\n\nexport function virtualMachineScaleSetVMExtensionsSummaryDeserializer(\n item: any,\n): VirtualMachineScaleSetVMExtensionsSummary {\n return {\n name: item[\"name\"],\n statusesSummary: !item[\"statusesSummary\"]\n ? item[\"statusesSummary\"]\n : virtualMachineStatusCodeCountArrayDeserializer(item[\"statusesSummary\"]),\n };\n}\n\nexport function instanceViewStatusArraySerializer(result: Array<InstanceViewStatus>): any[] {\n return result.map((item) => {\n return instanceViewStatusSerializer(item);\n });\n}\n\nexport function instanceViewStatusArrayDeserializer(result: Array<InstanceViewStatus>): any[] {\n return result.map((item) => {\n return instanceViewStatusDeserializer(item);\n });\n}\n\n/** Instance view status. */\nexport interface InstanceViewStatus {\n /** The status code. */\n code?: string;\n /** The level code. */\n level?: StatusLevelTypes;\n /** The short localizable label for the status. */\n displayStatus?: string;\n /** The detailed status message, including for alerts and error messages. */\n message?: string;\n /** The time of the status. */\n time?: Date;\n}\n\nexport function instanceViewStatusSerializer(item: InstanceViewStatus): any {\n return {\n code: item[\"code\"],\n level: item[\"level\"],\n displayStatus: item[\"displayStatus\"],\n message: item[\"message\"],\n time: !item[\"time\"] ? item[\"time\"] : item[\"time\"].toISOString(),\n };\n}\n\nexport function instanceViewStatusDeserializer(item: any): InstanceViewStatus {\n return {\n code: item[\"code\"],\n level: item[\"level\"],\n displayStatus: item[\"displayStatus\"],\n message: item[\"message\"],\n time: !item[\"time\"] ? item[\"time\"] : new Date(item[\"time\"]),\n };\n}\n\n/** The level code. */\nexport type StatusLevelTypes = \"Info\" | \"Warning\" | \"Error\";\n\nexport function orchestrationServiceSummaryArrayDeserializer(\n result: Array<OrchestrationServiceSummary>,\n): any[] {\n return result.map((item) => {\n return orchestrationServiceSummaryDeserializer(item);\n });\n}\n\n/** Summary for an orchestration service of a virtual machine scale set. */\nexport interface OrchestrationServiceSummary {\n /** The name of the service. */\n readonly serviceName?: OrchestrationServiceNames;\n /** The current state of the service. */\n readonly serviceState?: OrchestrationServiceState;\n /** The latest operation status of the service. Minimum API version for this property is 2025-04-01. */\n readonly latestOperationStatus?: OrchestrationServiceOperationStatus;\n /** The last UTC time when the operation status changed. Minimum API version for this property is 2025-04-01. */\n readonly lastStatusChangeTime?: Date;\n}\n\nexport function orchestrationServiceSummaryDeserializer(item: any): OrchestrationServiceSummary {\n return {\n serviceName: item[\"serviceName\"],\n serviceState: item[\"serviceState\"],\n latestOperationStatus: item[\"latestOperationStatus\"],\n lastStatusChangeTime: !item[\"lastStatusChangeTime\"]\n ? item[\"lastStatusChangeTime\"]\n : new Date(item[\"lastStatusChangeTime\"]),\n };\n}\n\n/** The name of the service. */\nexport enum KnownOrchestrationServiceNames {\n /** AutomaticRepairs */\n AutomaticRepairs = \"AutomaticRepairs\",\n /** AutomaticZoneRebalancing orchestration service. */\n AutomaticZoneRebalancing = \"AutomaticZoneRebalancing\",\n}\n\n/**\n * The name of the service. \\\n * {@link KnownOrchestrationServiceNames} can be used interchangeably with OrchestrationServiceNames,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AutomaticRepairs** \\\n * **AutomaticZoneRebalancing**: AutomaticZoneRebalancing orchestration service.\n */\nexport type OrchestrationServiceNames = string;\n\n/** The current state of the service. */\nexport enum KnownOrchestrationServiceState {\n /** NotRunning */\n NotRunning = \"NotRunning\",\n /** Running */\n Running = \"Running\",\n /** Suspended */\n Suspended = \"Suspended\",\n}\n\n/**\n * The current state of the service. \\\n * {@link KnownOrchestrationServiceState} can be used interchangeably with OrchestrationServiceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotRunning** \\\n * **Running** \\\n * **Suspended**\n */\nexport type OrchestrationServiceState = string;\n\n/** The latest operation status of the service. */\nexport enum KnownOrchestrationServiceOperationStatus {\n /** InProgress orchestration service operation status. */\n InProgress = \"InProgress\",\n /** Completed orchestration service operation status. */\n Completed = \"Completed\",\n}\n\n/**\n * The latest operation status of the service. \\\n * {@link KnownOrchestrationServiceOperationStatus} can be used interchangeably with OrchestrationServiceOperationStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **InProgress**: InProgress orchestration service operation status. \\\n * **Completed**: Completed orchestration service operation status.\n */\nexport type OrchestrationServiceOperationStatus = string;\n\n/** List of Virtual Machine Scale Set OS Upgrade History operation response. */\nexport interface _VirtualMachineScaleSetListOSUpgradeHistory {\n /** The list of OS upgrades performed on the virtual machine scale set. */\n value: UpgradeOperationHistoricalStatusInfo[];\n /** The uri to fetch the next page of OS Upgrade History. Call ListNext() with this to fetch the next page of history of upgrades. */\n nextLink?: string;\n}\n\nexport function _virtualMachineScaleSetListOSUpgradeHistoryDeserializer(\n item: any,\n): _VirtualMachineScaleSetListOSUpgradeHistory {\n return {\n value: upgradeOperationHistoricalStatusInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function upgradeOperationHistoricalStatusInfoArrayDeserializer(\n result: Array<UpgradeOperationHistoricalStatusInfo>,\n): any[] {\n return result.map((item) => {\n return upgradeOperationHistoricalStatusInfoDeserializer(item);\n });\n}\n\n/** Virtual Machine Scale Set OS Upgrade History operation response. */\nexport interface UpgradeOperationHistoricalStatusInfo {\n /** Information about the properties of the upgrade operation. */\n readonly properties?: UpgradeOperationHistoricalStatusInfoProperties;\n /** Resource type */\n readonly type?: string;\n /** Resource location */\n readonly location?: string;\n}\n\nexport function upgradeOperationHistoricalStatusInfoDeserializer(\n item: any,\n): UpgradeOperationHistoricalStatusInfo {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : upgradeOperationHistoricalStatusInfoPropertiesDeserializer(item[\"properties\"]),\n type: item[\"type\"],\n location: item[\"location\"],\n };\n}\n\n/** Describes each OS upgrade on the Virtual Machine Scale Set. */\nexport interface UpgradeOperationHistoricalStatusInfoProperties {\n /** Information about the overall status of the upgrade operation. */\n readonly runningStatus?: UpgradeOperationHistoryStatus;\n /** Counts of the VMs in each state. */\n readonly progress?: RollingUpgradeProgressInfo;\n /** Error Details for this upgrade if there are any. */\n readonly error?: ApiError;\n /** Invoker of the Upgrade Operation */\n readonly startedBy?: UpgradeOperationInvoker;\n /** Image Reference details */\n readonly targetImageReference?: ImageReference;\n /** Information about OS rollback if performed */\n readonly rollbackInfo?: RollbackStatusInfo;\n}\n\nexport function upgradeOperationHistoricalStatusInfoPropertiesDeserializer(\n item: any,\n): UpgradeOperationHistoricalStatusInfoProperties {\n return {\n runningStatus: !item[\"runningStatus\"]\n ? item[\"runningStatus\"]\n : upgradeOperationHistoryStatusDeserializer(item[\"runningStatus\"]),\n progress: !item[\"progress\"]\n ? item[\"progress\"]\n : rollingUpgradeProgressInfoDeserializer(item[\"progress\"]),\n error: !item[\"error\"] ? item[\"error\"] : apiErrorDeserializer(item[\"error\"]),\n startedBy: item[\"startedBy\"],\n targetImageReference: !item[\"targetImageReference\"]\n ? item[\"targetImageReference\"]\n : imageReferenceDeserializer(item[\"targetImageReference\"]),\n rollbackInfo: !item[\"rollbackInfo\"]\n ? item[\"rollbackInfo\"]\n : rollbackStatusInfoDeserializer(item[\"rollbackInfo\"]),\n };\n}\n\n/** Information about the current running state of the overall upgrade. */\nexport interface UpgradeOperationHistoryStatus {\n /** Code indicating the current status of the upgrade. */\n readonly code?: UpgradeState;\n /** Start time of the upgrade. */\n readonly startTime?: Date;\n /** End time of the upgrade. */\n readonly endTime?: Date;\n}\n\nexport function upgradeOperationHistoryStatusDeserializer(\n item: any,\n): UpgradeOperationHistoryStatus {\n return {\n code: item[\"code\"],\n startTime: !item[\"startTime\"] ? item[\"startTime\"] : new Date(item[\"startTime\"]),\n endTime: !item[\"endTime\"] ? item[\"endTime\"] : new Date(item[\"endTime\"]),\n };\n}\n\n/** Code indicating the current status of the upgrade. */\nexport type UpgradeState = \"RollingForward\" | \"Cancelled\" | \"Completed\" | \"Faulted\";\n\n/** Information about the number of virtual machine instances in each upgrade state. */\nexport interface RollingUpgradeProgressInfo {\n /** The number of instances that have been successfully upgraded. */\n readonly successfulInstanceCount?: number;\n /** The number of instances that have failed to be upgraded successfully. */\n readonly failedInstanceCount?: number;\n /** The number of instances that are currently being upgraded. */\n readonly inProgressInstanceCount?: number;\n /** The number of instances that have not yet begun to be upgraded. */\n readonly pendingInstanceCount?: number;\n}\n\nexport function rollingUpgradeProgressInfoDeserializer(item: any): RollingUpgradeProgressInfo {\n return {\n successfulInstanceCount: item[\"successfulInstanceCount\"],\n failedInstanceCount: item[\"failedInstanceCount\"],\n inProgressInstanceCount: item[\"inProgressInstanceCount\"],\n pendingInstanceCount: item[\"pendingInstanceCount\"],\n };\n}\n\n/** Invoker of the Upgrade Operation */\nexport type UpgradeOperationInvoker = \"Unknown\" | \"User\" | \"Platform\";\n\n/** Information about rollback on failed VM instances after a OS Upgrade operation. */\nexport interface RollbackStatusInfo {\n /** The number of instances which have been successfully rolled back. */\n readonly successfullyRolledbackInstanceCount?: number;\n /** The number of instances which failed to rollback. */\n readonly failedRolledbackInstanceCount?: number;\n /** Error details if OS rollback failed. */\n readonly rollbackError?: ApiError;\n}\n\nexport function rollbackStatusInfoDeserializer(item: any): RollbackStatusInfo {\n return {\n successfullyRolledbackInstanceCount: item[\"successfullyRolledbackInstanceCount\"],\n failedRolledbackInstanceCount: item[\"failedRolledbackInstanceCount\"],\n rollbackError: !item[\"rollbackError\"]\n ? item[\"rollbackError\"]\n : apiErrorDeserializer(item[\"rollbackError\"]),\n };\n}\n\n/** Describes a Virtual Machine Scale Set VM Reimage Parameters. */\nexport interface VirtualMachineScaleSetReimageParameters extends VirtualMachineScaleSetVMReimageParameters {\n /** The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set. */\n instanceIds?: string[];\n}\n\nexport function virtualMachineScaleSetReimageParametersSerializer(\n item: VirtualMachineScaleSetReimageParameters,\n): any {\n return {\n forceUpdateOSDiskForEphemeral: item[\"forceUpdateOSDiskForEphemeral\"],\n tempDisk: item[\"tempDisk\"],\n exactVersion: item[\"exactVersion\"],\n osProfile: !item[\"osProfile\"]\n ? item[\"osProfile\"]\n : osProfileProvisioningDataSerializer(item[\"osProfile\"]),\n instanceIds: !item[\"instanceIds\"]\n ? item[\"instanceIds\"]\n : item[\"instanceIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Describes a Virtual Machine Scale Set VM Reimage Parameters. */\nexport interface VirtualMachineScaleSetVMReimageParameters extends VirtualMachineReimageParameters {\n /** Parameter to force update ephemeral OS disk for a virtual machine scale set VM */\n forceUpdateOSDiskForEphemeral?: boolean;\n}\n\nexport function virtualMachineScaleSetVMReimageParametersSerializer(\n item: VirtualMachineScaleSetVMReimageParameters,\n): any {\n return {\n tempDisk: item[\"tempDisk\"],\n exactVersion: item[\"exactVersion\"],\n osProfile: !item[\"osProfile\"]\n ? item[\"osProfile\"]\n : osProfileProvisioningDataSerializer(item[\"osProfile\"]),\n forceUpdateOSDiskForEphemeral: item[\"forceUpdateOSDiskForEphemeral\"],\n };\n}\n\n/** Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged */\nexport interface VirtualMachineReimageParameters {\n /** Specifies whether to reimage temp disk. Default value: false. Note: This temp disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk. */\n tempDisk?: boolean;\n /** Specifies in decimal number, the version the OS disk should be reimaged to. If exact version is not provided, the OS disk is reimaged to the existing version of OS Disk. */\n exactVersion?: string;\n /** Specifies information required for reimaging the non-ephemeral OS disk. */\n osProfile?: OSProfileProvisioningData;\n}\n\nexport function virtualMachineReimageParametersSerializer(\n item: VirtualMachineReimageParameters,\n): any {\n return {\n tempDisk: item[\"tempDisk\"],\n exactVersion: item[\"exactVersion\"],\n osProfile: !item[\"osProfile\"]\n ? item[\"osProfile\"]\n : osProfileProvisioningDataSerializer(item[\"osProfile\"]),\n };\n}\n\n/** Additional parameters for Reimaging Non-Ephemeral Virtual Machine. */\nexport interface OSProfileProvisioningData {\n /** Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\\W_]) <br><br> **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) */\n adminPassword?: string;\n /** Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). If using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). */\n customData?: string;\n}\n\nexport function osProfileProvisioningDataSerializer(item: OSProfileProvisioningData): any {\n return { adminPassword: item[\"adminPassword\"], customData: item[\"customData\"] };\n}\n\n/** The input for OrchestrationServiceState */\nexport interface OrchestrationServiceStateInput {\n /** The name of the service. */\n serviceName: OrchestrationServiceNames;\n /** The action to be performed. */\n action: OrchestrationServiceStateAction;\n}\n\nexport function orchestrationServiceStateInputSerializer(\n item: OrchestrationServiceStateInput,\n): any {\n return { serviceName: item[\"serviceName\"], action: item[\"action\"] };\n}\n\n/** The action to be performed. */\nexport enum KnownOrchestrationServiceStateAction {\n /** Resume */\n Resume = \"Resume\",\n /** Suspend */\n Suspend = \"Suspend\",\n}\n\n/**\n * The action to be performed. \\\n * {@link KnownOrchestrationServiceStateAction} can be used interchangeably with OrchestrationServiceStateAction,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Resume** \\\n * **Suspend**\n */\nexport type OrchestrationServiceStateAction = string;\n\n/** The Virtual Machine Scale Set List Skus operation response. */\nexport interface _VirtualMachineScaleSetListSkusResult {\n /** The list of skus available for the virtual machine scale set. */\n value: VirtualMachineScaleSetSku[];\n /** The uri to fetch the next page of Virtual Machine Scale Set Skus. Call ListNext() with this to fetch the next page of VMSS Skus. */\n nextLink?: string;\n}\n\nexport function _virtualMachineScaleSetListSkusResultDeserializer(\n item: any,\n): _VirtualMachineScaleSetListSkusResult {\n return {\n value: virtualMachineScaleSetSkuArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function virtualMachineScaleSetSkuArrayDeserializer(\n result: Array<VirtualMachineScaleSetSku>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetSkuDeserializer(item);\n });\n}\n\n/** Describes an available virtual machine scale set sku. */\nexport interface VirtualMachineScaleSetSku {\n /** The type of resource the sku applies to. */\n readonly resourceType?: string;\n /** The Sku. */\n readonly sku?: Sku;\n /** Specifies the number of virtual machines in the scale set. */\n readonly capacity?: VirtualMachineScaleSetSkuCapacity;\n}\n\nexport function virtualMachineScaleSetSkuDeserializer(item: any): VirtualMachineScaleSetSku {\n return {\n resourceType: item[\"resourceType\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuDeserializer(item[\"sku\"]),\n capacity: !item[\"capacity\"]\n ? item[\"capacity\"]\n : virtualMachineScaleSetSkuCapacityDeserializer(item[\"capacity\"]),\n };\n}\n\n/** Describes scaling information of a sku. */\nexport interface VirtualMachineScaleSetSkuCapacity {\n /** The minimum capacity. */\n readonly minimum?: number;\n /** The maximum capacity that can be set. */\n readonly maximum?: number;\n /** The default capacity. */\n readonly defaultCapacity?: number;\n /** The scale type applicable to the sku. */\n readonly scaleType?: VirtualMachineScaleSetSkuScaleType;\n}\n\nexport function virtualMachineScaleSetSkuCapacityDeserializer(\n item: any,\n): VirtualMachineScaleSetSkuCapacity {\n return {\n minimum: item[\"minimum\"],\n maximum: item[\"maximum\"],\n defaultCapacity: item[\"defaultCapacity\"],\n scaleType: item[\"scaleType\"],\n };\n}\n\n/** The scale type applicable to the sku. */\nexport type VirtualMachineScaleSetSkuScaleType = \"Automatic\" | \"None\";\n\n/** The input for ScaleOut */\nexport interface VMScaleSetScaleOutInput {\n /** Specifies the number of virtual machines in the scale set. */\n capacity: number;\n /** The input properties for ScaleOut */\n properties?: VMScaleSetScaleOutInputProperties;\n}\n\nexport function vmScaleSetScaleOutInputSerializer(item: VMScaleSetScaleOutInput): any {\n return {\n capacity: item[\"capacity\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : vmScaleSetScaleOutInputPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The input properties for ScaleOut */\nexport interface VMScaleSetScaleOutInputProperties {\n /** The zone in which the scale out is requested for the virtual machine scale set. */\n zone?: string;\n}\n\nexport function vmScaleSetScaleOutInputPropertiesSerializer(\n item: VMScaleSetScaleOutInputProperties,\n): any {\n return { zone: item[\"zone\"] };\n}\n\n/** Describes a Virtual Machine Scale Set Extension. */\nexport interface VirtualMachineScaleSetExtensionUpdate extends SubResourceReadOnly {\n /** The name of the extension. */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n typePropertiesType?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** Collection of extension names after which this extension needs to be provisioned. */\n provisionAfterExtensions?: string[];\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n}\n\nexport function virtualMachineScaleSetExtensionUpdateSerializer(\n item: VirtualMachineScaleSetExtensionUpdate,\n): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"enableAutomaticUpgrade\",\n \"settings\",\n \"protectedSettings\",\n \"provisionAfterExtensions\",\n \"suppressFailures\",\n \"protectedSettingsFromKeyVault\",\n ])\n ? undefined\n : _virtualMachineScaleSetExtensionUpdatePropertiesSerializer(item),\n };\n}\n\n/** The List VM scale set extension operation response. */\nexport interface _VirtualMachineScaleSetExtensionListResult {\n /** The list of VM scale set extensions. */\n value: VirtualMachineScaleSetExtension[];\n /** The uri to fetch the next page of VM scale set extensions. Call ListNext() with this to fetch the next page of VM scale set extensions. */\n nextLink?: string;\n}\n\nexport function _virtualMachineScaleSetExtensionListResultDeserializer(\n item: any,\n): _VirtualMachineScaleSetExtensionListResult {\n return {\n value: virtualMachineScaleSetExtensionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Defines a virtual machine scale set lifecycle hook event. */\nexport interface VMScaleSetLifecycleHookEvent extends ProxyResource {\n /** Defines the virtual machine scale set lifecycle hook event properties. */\n properties?: VMScaleSetLifecycleHookEventProperties;\n}\n\nexport function vmScaleSetLifecycleHookEventDeserializer(item: any): VMScaleSetLifecycleHookEvent {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : vmScaleSetLifecycleHookEventPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Defines the virtual machine scale set lifecycle hook event properties. */\nexport interface VMScaleSetLifecycleHookEventProperties {\n /** Defines the type or scenario for sending a virtual machine scale set lifecycle hook event to the customer. */\n type?: VMScaleSetLifecycleHookEventType;\n /** Specifies the exact UTC timestamp in ISO 8601 format till which the event would remain in the current lifecycle state waiting for an action from the customer. Beyond this timestamp, the platform will apply the defaultAction for the event. */\n waitUntil?: string;\n /** Specifies the exact UTC timestamp in ISO 8601 format till when the customer can delay the lifecycle hook event. The customer will not be allowed to delay the event to a timestamp beyond this. */\n readonly maxWaitUntil?: string;\n /** The UTC timestamp in ISO 8601 format at which the platform creates the virtual machine scale set lifecycle hook event entity. */\n readonly timeCreated?: string;\n /** Specify the action that will be applied on the a target resource in the virtual machine scale set lifecycle hook event if the platform does not get a response from the customer for the target resource before waitUntil. */\n readonly defaultAction?: LifecycleHookAction;\n /** List of target resources which are getting processed in the virtual machine scale set lifecycle hook event. */\n targetResources?: VMScaleSetLifecycleHookEventTargetResource[];\n /**\n * Additional key-value pairs set on the lifecycle hook event that gives customer some useful context/data.\n * The keys in this dictionary are specific to the lifecycle hook type. Different lifecycle hook events can have different sets of keys in the additional context depending on the lifecycle hook type.\n * For example, for a lifecycle hook event with UpgradeAutoOSScheduling type,\n * the additional context can contain the key \"priority\" that helps customer identify the priority of the Auto OS Upgrade operation triggered on the virtual machine scale set.\n */\n additionalContext?: VMScaleSetLifecycleHookEventAdditionalContext;\n /** Specifies the state of the virtual machine scale set lifecycle hook event. */\n readonly state?: VMScaleSetLifecycleHookEventState;\n}\n\nexport function vmScaleSetLifecycleHookEventPropertiesSerializer(\n item: VMScaleSetLifecycleHookEventProperties,\n): any {\n return {\n type: item[\"type\"],\n waitUntil: item[\"waitUntil\"],\n targetResources: !item[\"targetResources\"]\n ? item[\"targetResources\"]\n : vmScaleSetLifecycleHookEventTargetResourceArraySerializer(item[\"targetResources\"]),\n additionalContext: !item[\"additionalContext\"]\n ? item[\"additionalContext\"]\n : vmScaleSetLifecycleHookEventAdditionalContextSerializer(item[\"additionalContext\"]),\n };\n}\n\nexport function vmScaleSetLifecycleHookEventPropertiesDeserializer(\n item: any,\n): VMScaleSetLifecycleHookEventProperties {\n return {\n type: item[\"type\"],\n waitUntil: item[\"waitUntil\"],\n maxWaitUntil: item[\"maxWaitUntil\"],\n timeCreated: item[\"timeCreated\"],\n defaultAction: item[\"defaultAction\"],\n targetResources: !item[\"targetResources\"]\n ? item[\"targetResources\"]\n : vmScaleSetLifecycleHookEventTargetResourceArrayDeserializer(item[\"targetResources\"]),\n additionalContext: !item[\"additionalContext\"]\n ? item[\"additionalContext\"]\n : vmScaleSetLifecycleHookEventAdditionalContextDeserializer(item[\"additionalContext\"]),\n state: item[\"state\"],\n };\n}\n\nexport function vmScaleSetLifecycleHookEventTargetResourceArraySerializer(\n result: Array<VMScaleSetLifecycleHookEventTargetResource>,\n): any[] {\n return result.map((item) => {\n return vmScaleSetLifecycleHookEventTargetResourceSerializer(item);\n });\n}\n\nexport function vmScaleSetLifecycleHookEventTargetResourceArrayDeserializer(\n result: Array<VMScaleSetLifecycleHookEventTargetResource>,\n): any[] {\n return result.map((item) => {\n return vmScaleSetLifecycleHookEventTargetResourceDeserializer(item);\n });\n}\n\n/** Define a single target ARM resource in a virtual machine scale set lifecycle hook event. Currently, this can be a virtual machine scale set resource or an individual virtual machine resource within a VMScaleSet. */\nexport interface VMScaleSetLifecycleHookEventTargetResource {\n /** Specifies the target ARM resource. Currently, this can be a virtual machine scale set resource or an individual virtual machine resource within a VMScaleSet. */\n resource?: ApiEntityReference;\n /** State of the lifecycle hook for the target resource. The customer can patch this property to move the lifecycle hook to a terminal state. */\n actionState?: LifecycleHookActionState;\n}\n\nexport function vmScaleSetLifecycleHookEventTargetResourceSerializer(\n item: VMScaleSetLifecycleHookEventTargetResource,\n): any {\n return {\n resource: !item[\"resource\"] ? item[\"resource\"] : apiEntityReferenceSerializer(item[\"resource\"]),\n actionState: item[\"actionState\"],\n };\n}\n\nexport function vmScaleSetLifecycleHookEventTargetResourceDeserializer(\n item: any,\n): VMScaleSetLifecycleHookEventTargetResource {\n return {\n resource: !item[\"resource\"]\n ? item[\"resource\"]\n : apiEntityReferenceDeserializer(item[\"resource\"]),\n actionState: item[\"actionState\"],\n };\n}\n\n/** Approval status of a target resource in a virtual machine scale set lifecycle hook event. */\nexport enum KnownLifecycleHookActionState {\n /** The lifecycle hook for the target resource is waiting for approval. */\n Waiting = \"Waiting\",\n /** The lifecycle hook for the target resource is approved. */\n Approved = \"Approved\",\n /** The lifecycle hook for the target resource is rejected. */\n Rejected = \"Rejected\",\n}\n\n/**\n * Approval status of a target resource in a virtual machine scale set lifecycle hook event. \\\n * {@link KnownLifecycleHookActionState} can be used interchangeably with LifecycleHookActionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Waiting**: The lifecycle hook for the target resource is waiting for approval. \\\n * **Approved**: The lifecycle hook for the target resource is approved. \\\n * **Rejected**: The lifecycle hook for the target resource is rejected.\n */\nexport type LifecycleHookActionState = string;\n\n/**\n * Additional key-value pairs set on the lifecycle hook event that gives customer some useful context/data.\n * The keys in this dictionary are specific to the lifecycle hook type. Different lifecycle hook events can have different sets of keys in the additional context depending on the lifecycle hook type.\n * For example, for a lifecycle hook event with UpgradeAutoOSScheduling type,\n * the additional context can contain the key \"priority\" that helps customer identify the priority of the Auto OS Upgrade operation triggered on the virtual machine scale set.\n */\nexport interface VMScaleSetLifecycleHookEventAdditionalContext {\n /**\n * Can only be present for a lifecycle hook event of type \"UpgradeAutoOSScheduling\".\n * Denotes the priority of the virtual machine scale set lifecycle hook event for the Auto OS Upgrade scheduled on the virtual machine scale set.\n */\n priority?: string;\n}\n\nexport function vmScaleSetLifecycleHookEventAdditionalContextSerializer(\n item: VMScaleSetLifecycleHookEventAdditionalContext,\n): any {\n return { priority: item[\"priority\"] };\n}\n\nexport function vmScaleSetLifecycleHookEventAdditionalContextDeserializer(\n item: any,\n): VMScaleSetLifecycleHookEventAdditionalContext {\n return {\n priority: item[\"priority\"],\n };\n}\n\n/** The states that a virtual machine scale set lifecycle hook event can be in. This is not settable by the customer. It is set only by the platform. */\nexport enum KnownVMScaleSetLifecycleHookEventState {\n /** The lifecycle hook event is active. E.g., waiting on a response from the customer. */\n Active = \"Active\",\n /** The lifecycle hook event is completed. i.e., all the target resources in the event have moved to a terminal state. */\n Completed = \"Completed\",\n}\n\n/**\n * The states that a virtual machine scale set lifecycle hook event can be in. This is not settable by the customer. It is set only by the platform. \\\n * {@link KnownVMScaleSetLifecycleHookEventState} can be used interchangeably with VMScaleSetLifecycleHookEventState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active**: The lifecycle hook event is active. E.g., waiting on a response from the customer. \\\n * **Completed**: The lifecycle hook event is completed. i.e., all the target resources in the event have moved to a terminal state.\n */\nexport type VMScaleSetLifecycleHookEventState = string;\n\n/** Specifies information about the virtual machine scale set lifecycle hook event. */\nexport interface VMScaleSetLifecycleHookEventUpdate {\n /** Defines the type or scenario for sending a virtual machine scale set lifecycle hook event to the customer. */\n type?: VMScaleSetLifecycleHookEventType;\n /** Specifies the exact UTC timestamp in ISO 8601 format till which the event would remain in the current lifecycle state waiting for an action from the customer. Beyond this timestamp, the platform will apply the defaultAction for the event. */\n waitUntil?: string;\n /** Specifies the exact UTC timestamp in ISO 8601 format till when the customer can delay the lifecycle hook event. The customer will not be allowed to delay the event to a timestamp beyond this. */\n readonly maxWaitUntil?: string;\n /** The UTC timestamp in ISO 8601 format at which the platform creates the virtual machine scale set lifecycle hook event entity. */\n readonly timeCreated?: string;\n /** Specify the action that will be applied on the a target resource in the virtual machine scale set lifecycle hook event if the platform does not get a response from the customer for the target resource before waitUntil. */\n readonly defaultAction?: LifecycleHookAction;\n /** List of target resources which are getting processed in the virtual machine scale set lifecycle hook event. */\n targetResources?: VMScaleSetLifecycleHookEventTargetResource[];\n /**\n * Additional key-value pairs set on the lifecycle hook event that gives customer some useful context/data.\n * The keys in this dictionary are specific to the lifecycle hook type. Different lifecycle hook events can have different sets of keys in the additional context depending on the lifecycle hook type.\n * For example, for a lifecycle hook event with UpgradeAutoOSScheduling type,\n * the additional context can contain the key \"priority\" that helps customer identify the priority of the Auto OS Upgrade operation triggered on the virtual machine scale set.\n */\n additionalContext?: VMScaleSetLifecycleHookEventAdditionalContext;\n /** Specifies the state of the virtual machine scale set lifecycle hook event. */\n readonly state?: VMScaleSetLifecycleHookEventState;\n}\n\nexport function vmScaleSetLifecycleHookEventUpdateSerializer(\n item: VMScaleSetLifecycleHookEventUpdate,\n): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"type\",\n \"waitUntil\",\n \"targetResources\",\n \"additionalContext\",\n ])\n ? undefined\n : _vmScaleSetLifecycleHookEventUpdatePropertiesSerializer(item),\n };\n}\n\n/** The List virtual machine scale set lifecycle hook events operation response. */\nexport interface _VMScaleSetLifecycleHookEventListResult {\n /** The list of virtual machine scale set lifecycle hook events created for a virtual machine scale set resource. */\n value: VMScaleSetLifecycleHookEvent[];\n /** The uri to fetch the next page of virtual machine scale set lifecycle hook events. Call ListNext() with this to fetch the next page of virtual machine scale set lifecycle hook events. */\n nextLink?: string;\n}\n\nexport function _vmScaleSetLifecycleHookEventListResultDeserializer(\n item: any,\n): _VMScaleSetLifecycleHookEventListResult {\n return {\n value: vmScaleSetLifecycleHookEventArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function vmScaleSetLifecycleHookEventArrayDeserializer(\n result: Array<VMScaleSetLifecycleHookEvent>,\n): any[] {\n return result.map((item) => {\n return vmScaleSetLifecycleHookEventDeserializer(item);\n });\n}\n\n/** Describes a VMSS VM Extension. */\nexport interface VirtualMachineScaleSetVMExtension extends SubResourceReadOnly {\n /** The location of the extension. */\n location?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource name */\n readonly name?: string;\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n typePropertiesType?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The virtual machine extension instance view. */\n instanceView?: VirtualMachineExtensionInstanceView;\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n /** Collection of extension names after which this extension needs to be provisioned. */\n provisionAfterExtensions?: string[];\n}\n\nexport function virtualMachineScaleSetVMExtensionSerializer(\n item: VirtualMachineScaleSetVMExtension,\n): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"enableAutomaticUpgrade\",\n \"settings\",\n \"protectedSettings\",\n \"instanceView\",\n \"suppressFailures\",\n \"protectedSettingsFromKeyVault\",\n \"provisionAfterExtensions\",\n ])\n ? undefined\n : _virtualMachineScaleSetVMExtensionPropertiesSerializer(item),\n location: item[\"location\"],\n };\n}\n\nexport function virtualMachineScaleSetVMExtensionDeserializer(\n item: any,\n): VirtualMachineScaleSetVMExtension {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineScaleSetVMExtensionPropertiesDeserializer(item[\"properties\"])),\n location: item[\"location\"],\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Describes the properties of a Virtual Machine Extension. */\nexport interface VirtualMachineExtensionProperties {\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The virtual machine extension instance view. */\n instanceView?: VirtualMachineExtensionInstanceView;\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n /** Collection of extension names after which this extension needs to be provisioned. */\n provisionAfterExtensions?: string[];\n}\n\nexport function virtualMachineExtensionPropertiesSerializer(\n item: VirtualMachineExtensionProperties,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineExtensionInstanceViewSerializer(item[\"instanceView\"]),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function virtualMachineExtensionPropertiesDeserializer(\n item: any,\n): VirtualMachineExtensionProperties {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineExtensionInstanceViewDeserializer(item[\"instanceView\"]),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceDeserializer(item[\"protectedSettingsFromKeyVault\"]),\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The instance view of a virtual machine extension. */\nexport interface VirtualMachineExtensionInstanceView {\n /** The virtual machine extension name. */\n name?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** The resource status information. */\n substatuses?: InstanceViewStatus[];\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n}\n\nexport function virtualMachineExtensionInstanceViewSerializer(\n item: VirtualMachineExtensionInstanceView,\n): any {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n substatuses: !item[\"substatuses\"]\n ? item[\"substatuses\"]\n : instanceViewStatusArraySerializer(item[\"substatuses\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArraySerializer(item[\"statuses\"]),\n };\n}\n\nexport function virtualMachineExtensionInstanceViewDeserializer(\n item: any,\n): VirtualMachineExtensionInstanceView {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n substatuses: !item[\"substatuses\"]\n ? item[\"substatuses\"]\n : instanceViewStatusArrayDeserializer(item[\"substatuses\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n };\n}\n\n/** Describes a VMSS VM Extension. */\nexport interface VirtualMachineScaleSetVMExtensionUpdate extends SubResourceReadOnly {\n /** The name of the extension. */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n typePropertiesType?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n}\n\nexport function virtualMachineScaleSetVMExtensionUpdateSerializer(\n item: VirtualMachineScaleSetVMExtensionUpdate,\n): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"enableAutomaticUpgrade\",\n \"settings\",\n \"protectedSettings\",\n \"suppressFailures\",\n \"protectedSettingsFromKeyVault\",\n ])\n ? undefined\n : _virtualMachineScaleSetVMExtensionUpdatePropertiesSerializer(item),\n };\n}\n\n/** Describes the properties of a Virtual Machine Extension. */\nexport interface VirtualMachineExtensionUpdateProperties {\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n}\n\nexport function virtualMachineExtensionUpdatePropertiesSerializer(\n item: VirtualMachineExtensionUpdateProperties,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\n/** The List VMSS VM Extension operation response */\nexport interface VirtualMachineScaleSetVMExtensionsListResult {\n /** The list of VMSS VM extensions */\n value?: VirtualMachineScaleSetVMExtension[];\n}\n\nexport function virtualMachineScaleSetVMExtensionsListResultDeserializer(\n item: any,\n): VirtualMachineScaleSetVMExtensionsListResult {\n return {\n value: !item[\"value\"]\n ? item[\"value\"]\n : virtualMachineScaleSetVMExtensionArrayDeserializer(item[\"value\"]),\n };\n}\n\nexport function virtualMachineScaleSetVMExtensionArraySerializer(\n result: Array<VirtualMachineScaleSetVMExtension>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetVMExtensionSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetVMExtensionArrayDeserializer(\n result: Array<VirtualMachineScaleSetVMExtension>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetVMExtensionDeserializer(item);\n });\n}\n\n/** Describes a Virtual Machine. */\nexport interface VirtualMachine extends TrackedResource {\n /** Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */\n plan?: Plan;\n /** The virtual machine child extension resources. */\n readonly resources?: VirtualMachineExtension[];\n /** The identity of the virtual machine, if configured. */\n identity?: VirtualMachineIdentity;\n /** The availability zones. */\n zones?: string[];\n /** The extended location of the Virtual Machine. */\n extendedLocation?: ExtendedLocation;\n /** ManagedBy is set to Virtual Machine Scale Set(VMSS) flex ARM resourceID, if the VM is part of the VMSS. This property is used by platform for internal resource group delete optimization. */\n readonly managedBy?: string;\n /** Etag is property returned in Create/Update/Get response of the VM, so that customer can supply it in the header to ensure optimistic updates. */\n readonly etag?: string;\n /** Placement section specifies the user-defined constraints for virtual machine hardware placement. This property cannot be changed once VM is provisioned. Minimum api-version: 2024-11-01. */\n placement?: Placement;\n /** Specifies the hardware settings for the virtual machine. */\n hardwareProfile?: HardwareProfile;\n /** Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the virtual machine. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: StorageProfile;\n /** Specifies additional capabilities enabled or disabled on the virtual machine. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. */\n osProfile?: OSProfile;\n /** Specifies the network interfaces of the virtual machine. */\n networkProfile?: NetworkProfile;\n /** Specifies the Security related profile settings for the virtual machine. */\n securityProfile?: SecurityProfile;\n /** Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */\n diagnosticsProfile?: DiagnosticsProfile;\n /** Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. */\n availabilitySet?: SubResource;\n /** Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. */\n virtualMachineScaleSet?: SubResource;\n /** Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 */\n priority?: VirtualMachinePriorityTypes;\n /** Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. */\n evictionPolicy?: VirtualMachineEvictionPolicyTypes;\n /** Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. */\n billingProfile?: BillingProfile;\n /** Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. */\n host?: SubResource;\n /** Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. */\n hostGroup?: SubResource;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The virtual machine instance view. */\n readonly instanceView?: VirtualMachineInstanceView;\n /** Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */\n licenseType?: string;\n /** Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. */\n readonly vmId?: string;\n /** Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. */\n extensionsTimeBudget?: string;\n /** Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. */\n platformFaultDomain?: number;\n /** Specifies Scheduled Event related configurations. */\n scheduledEventsProfile?: ScheduledEventsProfile;\n /** UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. */\n userData?: string;\n /** Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. */\n capacityReservation?: CapacityReservationProfile;\n /** Specifies the gallery applications that should be made available to the VM/VMSS. */\n applicationProfile?: ApplicationProfile;\n /** Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Resiliency profile for the virtual machine. */\n resiliencyProfile?: ResiliencyProfile;\n}\n\nexport function virtualMachineSerializer(item: VirtualMachine): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"hardwareProfile\",\n \"scheduledEventsPolicy\",\n \"storageProfile\",\n \"additionalCapabilities\",\n \"osProfile\",\n \"networkProfile\",\n \"securityProfile\",\n \"diagnosticsProfile\",\n \"availabilitySet\",\n \"virtualMachineScaleSet\",\n \"proximityPlacementGroup\",\n \"priority\",\n \"evictionPolicy\",\n \"billingProfile\",\n \"host\",\n \"hostGroup\",\n \"licenseType\",\n \"extensionsTimeBudget\",\n \"platformFaultDomain\",\n \"scheduledEventsProfile\",\n \"userData\",\n \"capacityReservation\",\n \"applicationProfile\",\n \"resiliencyProfile\",\n ])\n ? undefined\n : _virtualMachinePropertiesSerializer(item),\n plan: !item[\"plan\"] ? item[\"plan\"] : planSerializer(item[\"plan\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineIdentitySerializer(item[\"identity\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationSerializer(item[\"extendedLocation\"]),\n placement: !item[\"placement\"] ? item[\"placement\"] : placementSerializer(item[\"placement\"]),\n };\n}\n\nexport function virtualMachineDeserializer(item: any): VirtualMachine {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachinePropertiesDeserializer(item[\"properties\"])),\n plan: !item[\"plan\"] ? item[\"plan\"] : planDeserializer(item[\"plan\"]),\n resources: !item[\"resources\"]\n ? item[\"resources\"]\n : virtualMachineExtensionArrayDeserializer(item[\"resources\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineIdentityDeserializer(item[\"identity\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationDeserializer(item[\"extendedLocation\"]),\n managedBy: item[\"managedBy\"],\n etag: item[\"etag\"],\n placement: !item[\"placement\"] ? item[\"placement\"] : placementDeserializer(item[\"placement\"]),\n };\n}\n\n/** Describes the properties of a Virtual Machine. */\nexport interface VirtualMachineProperties {\n /** Specifies the hardware settings for the virtual machine. */\n hardwareProfile?: HardwareProfile;\n /** Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the virtual machine. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: StorageProfile;\n /** Specifies additional capabilities enabled or disabled on the virtual machine. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. */\n osProfile?: OSProfile;\n /** Specifies the network interfaces of the virtual machine. */\n networkProfile?: NetworkProfile;\n /** Specifies the Security related profile settings for the virtual machine. */\n securityProfile?: SecurityProfile;\n /** Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */\n diagnosticsProfile?: DiagnosticsProfile;\n /** Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. */\n availabilitySet?: SubResource;\n /** Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. */\n virtualMachineScaleSet?: SubResource;\n /** Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 */\n priority?: VirtualMachinePriorityTypes;\n /** Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. */\n evictionPolicy?: VirtualMachineEvictionPolicyTypes;\n /** Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. */\n billingProfile?: BillingProfile;\n /** Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. */\n host?: SubResource;\n /** Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. */\n hostGroup?: SubResource;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The virtual machine instance view. */\n readonly instanceView?: VirtualMachineInstanceView;\n /** Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */\n licenseType?: string;\n /** Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. */\n readonly vmId?: string;\n /** Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. */\n extensionsTimeBudget?: string;\n /** Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. */\n platformFaultDomain?: number;\n /** Specifies Scheduled Event related configurations. */\n scheduledEventsProfile?: ScheduledEventsProfile;\n /** UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. */\n userData?: string;\n /** Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. */\n capacityReservation?: CapacityReservationProfile;\n /** Specifies the gallery applications that should be made available to the VM/VMSS. */\n applicationProfile?: ApplicationProfile;\n /** Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Resiliency profile for the virtual machine. */\n resiliencyProfile?: ResiliencyProfile;\n}\n\nexport function virtualMachinePropertiesSerializer(item: VirtualMachineProperties): any {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileSerializer(item[\"hardwareProfile\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileSerializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileSerializer(item[\"osProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileSerializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileSerializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileSerializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceSerializer(item[\"availabilitySet\"]),\n virtualMachineScaleSet: !item[\"virtualMachineScaleSet\"]\n ? item[\"virtualMachineScaleSet\"]\n : subResourceSerializer(item[\"virtualMachineScaleSet\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileSerializer(item[\"billingProfile\"]),\n host: !item[\"host\"] ? item[\"host\"] : subResourceSerializer(item[\"host\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceSerializer(item[\"hostGroup\"]),\n licenseType: item[\"licenseType\"],\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileSerializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileSerializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileSerializer(item[\"applicationProfile\"]),\n resiliencyProfile: !item[\"resiliencyProfile\"]\n ? item[\"resiliencyProfile\"]\n : resiliencyProfileSerializer(item[\"resiliencyProfile\"]),\n };\n}\n\nexport function virtualMachinePropertiesDeserializer(item: any): VirtualMachineProperties {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileDeserializer(item[\"hardwareProfile\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileDeserializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesDeserializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileDeserializer(item[\"osProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileDeserializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileDeserializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileDeserializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceDeserializer(item[\"availabilitySet\"]),\n virtualMachineScaleSet: !item[\"virtualMachineScaleSet\"]\n ? item[\"virtualMachineScaleSet\"]\n : subResourceDeserializer(item[\"virtualMachineScaleSet\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileDeserializer(item[\"billingProfile\"]),\n host: !item[\"host\"] ? item[\"host\"] : subResourceDeserializer(item[\"host\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceDeserializer(item[\"hostGroup\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineInstanceViewDeserializer(item[\"instanceView\"]),\n licenseType: item[\"licenseType\"],\n vmId: item[\"vmId\"],\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileDeserializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileDeserializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileDeserializer(item[\"applicationProfile\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n resiliencyProfile: !item[\"resiliencyProfile\"]\n ? item[\"resiliencyProfile\"]\n : resiliencyProfileDeserializer(item[\"resiliencyProfile\"]),\n };\n}\n\n/** Specifies the hardware settings for the virtual machine. */\nexport interface HardwareProfile {\n /** Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. */\n vmSize?: VirtualMachineSizeTypes;\n /** Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. */\n vmSizeProperties?: VMSizeProperties;\n}\n\nexport function hardwareProfileSerializer(item: HardwareProfile): any {\n return {\n vmSize: item[\"vmSize\"],\n vmSizeProperties: !item[\"vmSizeProperties\"]\n ? item[\"vmSizeProperties\"]\n : vmSizePropertiesSerializer(item[\"vmSizeProperties\"]),\n };\n}\n\nexport function hardwareProfileDeserializer(item: any): HardwareProfile {\n return {\n vmSize: item[\"vmSize\"],\n vmSizeProperties: !item[\"vmSizeProperties\"]\n ? item[\"vmSizeProperties\"]\n : vmSizePropertiesDeserializer(item[\"vmSizeProperties\"]),\n };\n}\n\n/** Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. */\nexport enum KnownVirtualMachineSizeTypes {\n /** Basic_A0 */\n BasicA0 = \"Basic_A0\",\n /** Basic_A1 */\n BasicA1 = \"Basic_A1\",\n /** Basic_A2 */\n BasicA2 = \"Basic_A2\",\n /** Basic_A3 */\n BasicA3 = \"Basic_A3\",\n /** Basic_A4 */\n BasicA4 = \"Basic_A4\",\n /** Standard_A0 */\n StandardA0 = \"Standard_A0\",\n /** Standard_A1 */\n StandardA1 = \"Standard_A1\",\n /** Standard_A2 */\n StandardA2 = \"Standard_A2\",\n /** Standard_A3 */\n StandardA3 = \"Standard_A3\",\n /** Standard_A4 */\n StandardA4 = \"Standard_A4\",\n /** Standard_A5 */\n StandardA5 = \"Standard_A5\",\n /** Standard_A6 */\n StandardA6 = \"Standard_A6\",\n /** Standard_A7 */\n StandardA7 = \"Standard_A7\",\n /** Standard_A8 */\n StandardA8 = \"Standard_A8\",\n /** Standard_A9 */\n StandardA9 = \"Standard_A9\",\n /** Standard_A10 */\n StandardA10 = \"Standard_A10\",\n /** Standard_A11 */\n StandardA11 = \"Standard_A11\",\n /** Standard_A1_v2 */\n StandardA1V2 = \"Standard_A1_v2\",\n /** Standard_A2_v2 */\n StandardA2V2 = \"Standard_A2_v2\",\n /** Standard_A4_v2 */\n StandardA4V2 = \"Standard_A4_v2\",\n /** Standard_A8_v2 */\n StandardA8V2 = \"Standard_A8_v2\",\n /** Standard_A2m_v2 */\n StandardA2MV2 = \"Standard_A2m_v2\",\n /** Standard_A4m_v2 */\n StandardA4MV2 = \"Standard_A4m_v2\",\n /** Standard_A8m_v2 */\n StandardA8MV2 = \"Standard_A8m_v2\",\n /** Standard_B1s */\n StandardB1S = \"Standard_B1s\",\n /** Standard_B1ms */\n StandardB1Ms = \"Standard_B1ms\",\n /** Standard_B2s */\n StandardB2S = \"Standard_B2s\",\n /** Standard_B2ms */\n StandardB2Ms = \"Standard_B2ms\",\n /** Standard_B4ms */\n StandardB4Ms = \"Standard_B4ms\",\n /** Standard_B8ms */\n StandardB8Ms = \"Standard_B8ms\",\n /** Standard_D1 */\n StandardD1 = \"Standard_D1\",\n /** Standard_D2 */\n StandardD2 = \"Standard_D2\",\n /** Standard_D3 */\n StandardD3 = \"Standard_D3\",\n /** Standard_D4 */\n StandardD4 = \"Standard_D4\",\n /** Standard_D11 */\n StandardD11 = \"Standard_D11\",\n /** Standard_D12 */\n StandardD12 = \"Standard_D12\",\n /** Standard_D13 */\n StandardD13 = \"Standard_D13\",\n /** Standard_D14 */\n StandardD14 = \"Standard_D14\",\n /** Standard_D1_v2 */\n StandardD1V2 = \"Standard_D1_v2\",\n /** Standard_D2_v2 */\n StandardD2V2 = \"Standard_D2_v2\",\n /** Standard_D3_v2 */\n StandardD3V2 = \"Standard_D3_v2\",\n /** Standard_D4_v2 */\n StandardD4V2 = \"Standard_D4_v2\",\n /** Standard_D5_v2 */\n StandardD5V2 = \"Standard_D5_v2\",\n /** Standard_D2_v3 */\n StandardD2V3 = \"Standard_D2_v3\",\n /** Standard_D4_v3 */\n StandardD4V3 = \"Standard_D4_v3\",\n /** Standard_D8_v3 */\n StandardD8V3 = \"Standard_D8_v3\",\n /** Standard_D16_v3 */\n StandardD16V3 = \"Standard_D16_v3\",\n /** Standard_D32_v3 */\n StandardD32V3 = \"Standard_D32_v3\",\n /** Standard_D64_v3 */\n StandardD64V3 = \"Standard_D64_v3\",\n /** Standard_D2s_v3 */\n StandardD2SV3 = \"Standard_D2s_v3\",\n /** Standard_D4s_v3 */\n StandardD4SV3 = \"Standard_D4s_v3\",\n /** Standard_D8s_v3 */\n StandardD8SV3 = \"Standard_D8s_v3\",\n /** Standard_D16s_v3 */\n StandardD16SV3 = \"Standard_D16s_v3\",\n /** Standard_D32s_v3 */\n StandardD32SV3 = \"Standard_D32s_v3\",\n /** Standard_D64s_v3 */\n StandardD64SV3 = \"Standard_D64s_v3\",\n /** Standard_D11_v2 */\n StandardD11V2 = \"Standard_D11_v2\",\n /** Standard_D12_v2 */\n StandardD12V2 = \"Standard_D12_v2\",\n /** Standard_D13_v2 */\n StandardD13V2 = \"Standard_D13_v2\",\n /** Standard_D14_v2 */\n StandardD14V2 = \"Standard_D14_v2\",\n /** Standard_D15_v2 */\n StandardD15V2 = \"Standard_D15_v2\",\n /** Standard_DS1 */\n StandardDS1 = \"Standard_DS1\",\n /** Standard_DS2 */\n StandardDS2 = \"Standard_DS2\",\n /** Standard_DS3 */\n StandardDS3 = \"Standard_DS3\",\n /** Standard_DS4 */\n StandardDS4 = \"Standard_DS4\",\n /** Standard_DS11 */\n StandardDS11 = \"Standard_DS11\",\n /** Standard_DS12 */\n StandardDS12 = \"Standard_DS12\",\n /** Standard_DS13 */\n StandardDS13 = \"Standard_DS13\",\n /** Standard_DS14 */\n StandardDS14 = \"Standard_DS14\",\n /** Standard_DS1_v2 */\n StandardDS1V2 = \"Standard_DS1_v2\",\n /** Standard_DS2_v2 */\n StandardDS2V2 = \"Standard_DS2_v2\",\n /** Standard_DS3_v2 */\n StandardDS3V2 = \"Standard_DS3_v2\",\n /** Standard_DS4_v2 */\n StandardDS4V2 = \"Standard_DS4_v2\",\n /** Standard_DS5_v2 */\n StandardDS5V2 = \"Standard_DS5_v2\",\n /** Standard_DS11_v2 */\n StandardDS11V2 = \"Standard_DS11_v2\",\n /** Standard_DS12_v2 */\n StandardDS12V2 = \"Standard_DS12_v2\",\n /** Standard_DS13_v2 */\n StandardDS13V2 = \"Standard_DS13_v2\",\n /** Standard_DS14_v2 */\n StandardDS14V2 = \"Standard_DS14_v2\",\n /** Standard_DS15_v2 */\n StandardDS15V2 = \"Standard_DS15_v2\",\n /** Standard_DS13-4_v2 */\n StandardDS134V2 = \"Standard_DS13-4_v2\",\n /** Standard_DS13-2_v2 */\n StandardDS132V2 = \"Standard_DS13-2_v2\",\n /** Standard_DS14-8_v2 */\n StandardDS148V2 = \"Standard_DS14-8_v2\",\n /** Standard_DS14-4_v2 */\n StandardDS144V2 = \"Standard_DS14-4_v2\",\n /** Standard_E2_v3 */\n StandardE2V3 = \"Standard_E2_v3\",\n /** Standard_E4_v3 */\n StandardE4V3 = \"Standard_E4_v3\",\n /** Standard_E8_v3 */\n StandardE8V3 = \"Standard_E8_v3\",\n /** Standard_E16_v3 */\n StandardE16V3 = \"Standard_E16_v3\",\n /** Standard_E32_v3 */\n StandardE32V3 = \"Standard_E32_v3\",\n /** Standard_E64_v3 */\n StandardE64V3 = \"Standard_E64_v3\",\n /** Standard_E2s_v3 */\n StandardE2SV3 = \"Standard_E2s_v3\",\n /** Standard_E4s_v3 */\n StandardE4SV3 = \"Standard_E4s_v3\",\n /** Standard_E8s_v3 */\n StandardE8SV3 = \"Standard_E8s_v3\",\n /** Standard_E16s_v3 */\n StandardE16SV3 = \"Standard_E16s_v3\",\n /** Standard_E32s_v3 */\n StandardE32SV3 = \"Standard_E32s_v3\",\n /** Standard_E64s_v3 */\n StandardE64SV3 = \"Standard_E64s_v3\",\n /** Standard_E32-16_v3 */\n StandardE3216V3 = \"Standard_E32-16_v3\",\n /** Standard_E32-8s_v3 */\n StandardE328SV3 = \"Standard_E32-8s_v3\",\n /** Standard_E64-32s_v3 */\n StandardE6432SV3 = \"Standard_E64-32s_v3\",\n /** Standard_E64-16s_v3 */\n StandardE6416SV3 = \"Standard_E64-16s_v3\",\n /** Standard_F1 */\n StandardF1 = \"Standard_F1\",\n /** Standard_F2 */\n StandardF2 = \"Standard_F2\",\n /** Standard_F4 */\n StandardF4 = \"Standard_F4\",\n /** Standard_F8 */\n StandardF8 = \"Standard_F8\",\n /** Standard_F16 */\n StandardF16 = \"Standard_F16\",\n /** Standard_F1s */\n StandardF1S = \"Standard_F1s\",\n /** Standard_F2s */\n StandardF2S = \"Standard_F2s\",\n /** Standard_F4s */\n StandardF4S = \"Standard_F4s\",\n /** Standard_F8s */\n StandardF8S = \"Standard_F8s\",\n /** Standard_F16s */\n StandardF16S = \"Standard_F16s\",\n /** Standard_F2s_v2 */\n StandardF2SV2 = \"Standard_F2s_v2\",\n /** Standard_F4s_v2 */\n StandardF4SV2 = \"Standard_F4s_v2\",\n /** Standard_F8s_v2 */\n StandardF8SV2 = \"Standard_F8s_v2\",\n /** Standard_F16s_v2 */\n StandardF16SV2 = \"Standard_F16s_v2\",\n /** Standard_F32s_v2 */\n StandardF32SV2 = \"Standard_F32s_v2\",\n /** Standard_F64s_v2 */\n StandardF64SV2 = \"Standard_F64s_v2\",\n /** Standard_F72s_v2 */\n StandardF72SV2 = \"Standard_F72s_v2\",\n /** Standard_G1 */\n StandardG1 = \"Standard_G1\",\n /** Standard_G2 */\n StandardG2 = \"Standard_G2\",\n /** Standard_G3 */\n StandardG3 = \"Standard_G3\",\n /** Standard_G4 */\n StandardG4 = \"Standard_G4\",\n /** Standard_G5 */\n StandardG5 = \"Standard_G5\",\n /** Standard_GS1 */\n StandardGS1 = \"Standard_GS1\",\n /** Standard_GS2 */\n StandardGS2 = \"Standard_GS2\",\n /** Standard_GS3 */\n StandardGS3 = \"Standard_GS3\",\n /** Standard_GS4 */\n StandardGS4 = \"Standard_GS4\",\n /** Standard_GS5 */\n StandardGS5 = \"Standard_GS5\",\n /** Standard_GS4-8 */\n StandardGS48 = \"Standard_GS4-8\",\n /** Standard_GS4-4 */\n StandardGS44 = \"Standard_GS4-4\",\n /** Standard_GS5-16 */\n StandardGS516 = \"Standard_GS5-16\",\n /** Standard_GS5-8 */\n StandardGS58 = \"Standard_GS5-8\",\n /** Standard_H8 */\n StandardH8 = \"Standard_H8\",\n /** Standard_H16 */\n StandardH16 = \"Standard_H16\",\n /** Standard_H8m */\n StandardH8M = \"Standard_H8m\",\n /** Standard_H16m */\n StandardH16M = \"Standard_H16m\",\n /** Standard_H16r */\n StandardH16R = \"Standard_H16r\",\n /** Standard_H16mr */\n StandardH16Mr = \"Standard_H16mr\",\n /** Standard_L4s */\n StandardL4S = \"Standard_L4s\",\n /** Standard_L8s */\n StandardL8S = \"Standard_L8s\",\n /** Standard_L16s */\n StandardL16S = \"Standard_L16s\",\n /** Standard_L32s */\n StandardL32S = \"Standard_L32s\",\n /** Standard_M64s */\n StandardM64S = \"Standard_M64s\",\n /** Standard_M64ms */\n StandardM64Ms = \"Standard_M64ms\",\n /** Standard_M128s */\n StandardM128S = \"Standard_M128s\",\n /** Standard_M128ms */\n StandardM128Ms = \"Standard_M128ms\",\n /** Standard_M64-32ms */\n StandardM6432Ms = \"Standard_M64-32ms\",\n /** Standard_M64-16ms */\n StandardM6416Ms = \"Standard_M64-16ms\",\n /** Standard_M128-64ms */\n StandardM12864Ms = \"Standard_M128-64ms\",\n /** Standard_M128-32ms */\n StandardM12832Ms = \"Standard_M128-32ms\",\n /** Standard_NC6 */\n StandardNC6 = \"Standard_NC6\",\n /** Standard_NC12 */\n StandardNC12 = \"Standard_NC12\",\n /** Standard_NC24 */\n StandardNC24 = \"Standard_NC24\",\n /** Standard_NC24r */\n StandardNC24R = \"Standard_NC24r\",\n /** Standard_NC6s_v2 */\n StandardNC6SV2 = \"Standard_NC6s_v2\",\n /** Standard_NC12s_v2 */\n StandardNC12SV2 = \"Standard_NC12s_v2\",\n /** Standard_NC24s_v2 */\n StandardNC24SV2 = \"Standard_NC24s_v2\",\n /** Standard_NC24rs_v2 */\n StandardNC24RsV2 = \"Standard_NC24rs_v2\",\n /** Standard_NC6s_v3 */\n StandardNC6SV3 = \"Standard_NC6s_v3\",\n /** Standard_NC12s_v3 */\n StandardNC12SV3 = \"Standard_NC12s_v3\",\n /** Standard_NC24s_v3 */\n StandardNC24SV3 = \"Standard_NC24s_v3\",\n /** Standard_NC24rs_v3 */\n StandardNC24RsV3 = \"Standard_NC24rs_v3\",\n /** Standard_ND6s */\n StandardND6S = \"Standard_ND6s\",\n /** Standard_ND12s */\n StandardND12S = \"Standard_ND12s\",\n /** Standard_ND24s */\n StandardND24S = \"Standard_ND24s\",\n /** Standard_ND24rs */\n StandardND24Rs = \"Standard_ND24rs\",\n /** Standard_NV6 */\n StandardNV6 = \"Standard_NV6\",\n /** Standard_NV12 */\n StandardNV12 = \"Standard_NV12\",\n /** Standard_NV24 */\n StandardNV24 = \"Standard_NV24\",\n}\n\n/**\n * Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. \\\n * {@link KnownVirtualMachineSizeTypes} can be used interchangeably with VirtualMachineSizeTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic_A0** \\\n * **Basic_A1** \\\n * **Basic_A2** \\\n * **Basic_A3** \\\n * **Basic_A4** \\\n * **Standard_A0** \\\n * **Standard_A1** \\\n * **Standard_A2** \\\n * **Standard_A3** \\\n * **Standard_A4** \\\n * **Standard_A5** \\\n * **Standard_A6** \\\n * **Standard_A7** \\\n * **Standard_A8** \\\n * **Standard_A9** \\\n * **Standard_A10** \\\n * **Standard_A11** \\\n * **Standard_A1_v2** \\\n * **Standard_A2_v2** \\\n * **Standard_A4_v2** \\\n * **Standard_A8_v2** \\\n * **Standard_A2m_v2** \\\n * **Standard_A4m_v2** \\\n * **Standard_A8m_v2** \\\n * **Standard_B1s** \\\n * **Standard_B1ms** \\\n * **Standard_B2s** \\\n * **Standard_B2ms** \\\n * **Standard_B4ms** \\\n * **Standard_B8ms** \\\n * **Standard_D1** \\\n * **Standard_D2** \\\n * **Standard_D3** \\\n * **Standard_D4** \\\n * **Standard_D11** \\\n * **Standard_D12** \\\n * **Standard_D13** \\\n * **Standard_D14** \\\n * **Standard_D1_v2** \\\n * **Standard_D2_v2** \\\n * **Standard_D3_v2** \\\n * **Standard_D4_v2** \\\n * **Standard_D5_v2** \\\n * **Standard_D2_v3** \\\n * **Standard_D4_v3** \\\n * **Standard_D8_v3** \\\n * **Standard_D16_v3** \\\n * **Standard_D32_v3** \\\n * **Standard_D64_v3** \\\n * **Standard_D2s_v3** \\\n * **Standard_D4s_v3** \\\n * **Standard_D8s_v3** \\\n * **Standard_D16s_v3** \\\n * **Standard_D32s_v3** \\\n * **Standard_D64s_v3** \\\n * **Standard_D11_v2** \\\n * **Standard_D12_v2** \\\n * **Standard_D13_v2** \\\n * **Standard_D14_v2** \\\n * **Standard_D15_v2** \\\n * **Standard_DS1** \\\n * **Standard_DS2** \\\n * **Standard_DS3** \\\n * **Standard_DS4** \\\n * **Standard_DS11** \\\n * **Standard_DS12** \\\n * **Standard_DS13** \\\n * **Standard_DS14** \\\n * **Standard_DS1_v2** \\\n * **Standard_DS2_v2** \\\n * **Standard_DS3_v2** \\\n * **Standard_DS4_v2** \\\n * **Standard_DS5_v2** \\\n * **Standard_DS11_v2** \\\n * **Standard_DS12_v2** \\\n * **Standard_DS13_v2** \\\n * **Standard_DS14_v2** \\\n * **Standard_DS15_v2** \\\n * **Standard_DS13-4_v2** \\\n * **Standard_DS13-2_v2** \\\n * **Standard_DS14-8_v2** \\\n * **Standard_DS14-4_v2** \\\n * **Standard_E2_v3** \\\n * **Standard_E4_v3** \\\n * **Standard_E8_v3** \\\n * **Standard_E16_v3** \\\n * **Standard_E32_v3** \\\n * **Standard_E64_v3** \\\n * **Standard_E2s_v3** \\\n * **Standard_E4s_v3** \\\n * **Standard_E8s_v3** \\\n * **Standard_E16s_v3** \\\n * **Standard_E32s_v3** \\\n * **Standard_E64s_v3** \\\n * **Standard_E32-16_v3** \\\n * **Standard_E32-8s_v3** \\\n * **Standard_E64-32s_v3** \\\n * **Standard_E64-16s_v3** \\\n * **Standard_F1** \\\n * **Standard_F2** \\\n * **Standard_F4** \\\n * **Standard_F8** \\\n * **Standard_F16** \\\n * **Standard_F1s** \\\n * **Standard_F2s** \\\n * **Standard_F4s** \\\n * **Standard_F8s** \\\n * **Standard_F16s** \\\n * **Standard_F2s_v2** \\\n * **Standard_F4s_v2** \\\n * **Standard_F8s_v2** \\\n * **Standard_F16s_v2** \\\n * **Standard_F32s_v2** \\\n * **Standard_F64s_v2** \\\n * **Standard_F72s_v2** \\\n * **Standard_G1** \\\n * **Standard_G2** \\\n * **Standard_G3** \\\n * **Standard_G4** \\\n * **Standard_G5** \\\n * **Standard_GS1** \\\n * **Standard_GS2** \\\n * **Standard_GS3** \\\n * **Standard_GS4** \\\n * **Standard_GS5** \\\n * **Standard_GS4-8** \\\n * **Standard_GS4-4** \\\n * **Standard_GS5-16** \\\n * **Standard_GS5-8** \\\n * **Standard_H8** \\\n * **Standard_H16** \\\n * **Standard_H8m** \\\n * **Standard_H16m** \\\n * **Standard_H16r** \\\n * **Standard_H16mr** \\\n * **Standard_L4s** \\\n * **Standard_L8s** \\\n * **Standard_L16s** \\\n * **Standard_L32s** \\\n * **Standard_M64s** \\\n * **Standard_M64ms** \\\n * **Standard_M128s** \\\n * **Standard_M128ms** \\\n * **Standard_M64-32ms** \\\n * **Standard_M64-16ms** \\\n * **Standard_M128-64ms** \\\n * **Standard_M128-32ms** \\\n * **Standard_NC6** \\\n * **Standard_NC12** \\\n * **Standard_NC24** \\\n * **Standard_NC24r** \\\n * **Standard_NC6s_v2** \\\n * **Standard_NC12s_v2** \\\n * **Standard_NC24s_v2** \\\n * **Standard_NC24rs_v2** \\\n * **Standard_NC6s_v3** \\\n * **Standard_NC12s_v3** \\\n * **Standard_NC24s_v3** \\\n * **Standard_NC24rs_v3** \\\n * **Standard_ND6s** \\\n * **Standard_ND12s** \\\n * **Standard_ND24s** \\\n * **Standard_ND24rs** \\\n * **Standard_NV6** \\\n * **Standard_NV12** \\\n * **Standard_NV24**\n */\nexport type VirtualMachineSizeTypes = string;\n\n/** Specifies the storage settings for the virtual machine disks. */\nexport interface StorageProfile {\n /** Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. */\n imageReference?: ImageReference;\n /** Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */\n osDisk?: OSDisk;\n /** Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */\n dataDisks?: DataDisk[];\n /** Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. */\n diskControllerType?: DiskControllerTypes;\n /** Specifies whether the regional disks should be aligned/moved to the VM zone. This is applicable only for VMs with placement property set. Please note that this change is irreversible. Minimum api-version: 2024-11-01. */\n alignRegionalDisksToVMZone?: boolean;\n}\n\nexport function storageProfileSerializer(item: StorageProfile): any {\n return {\n imageReference: !item[\"imageReference\"]\n ? item[\"imageReference\"]\n : imageReferenceSerializer(item[\"imageReference\"]),\n osDisk: !item[\"osDisk\"] ? item[\"osDisk\"] : osDiskSerializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"] ? item[\"dataDisks\"] : dataDiskArraySerializer(item[\"dataDisks\"]),\n diskControllerType: item[\"diskControllerType\"],\n alignRegionalDisksToVMZone: item[\"alignRegionalDisksToVMZone\"],\n };\n}\n\nexport function storageProfileDeserializer(item: any): StorageProfile {\n return {\n imageReference: !item[\"imageReference\"]\n ? item[\"imageReference\"]\n : imageReferenceDeserializer(item[\"imageReference\"]),\n osDisk: !item[\"osDisk\"] ? item[\"osDisk\"] : osDiskDeserializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : dataDiskArrayDeserializer(item[\"dataDisks\"]),\n diskControllerType: item[\"diskControllerType\"],\n alignRegionalDisksToVMZone: item[\"alignRegionalDisksToVMZone\"],\n };\n}\n\n/** Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */\nexport interface OSDisk {\n /** This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** */\n osType?: OperatingSystemTypes;\n /** Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. */\n encryptionSettings?: DiskEncryptionSettings;\n /** The disk name. */\n name?: string;\n /** The virtual hard disk. */\n vhd?: VirtualHardDisk;\n /** The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. */\n image?: VirtualHardDisk;\n /** Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** */\n caching?: CachingTypes;\n /** Specifies whether writeAccelerator should be enabled or disabled on the disk. */\n writeAcceleratorEnabled?: boolean;\n /** Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. */\n diffDiskSettings?: DiffDiskSettings;\n /** Specifies how the virtual machine disk should be created. Possible values are **Attach:** This value is used when you are using a specialized disk to create the virtual machine. **FromImage:** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. */\n createOption: DiskCreateOptionTypes;\n /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. */\n diskSizeGB?: number;\n /** Specifies the storage fault domain alignment type for the disk. */\n storageFaultDomainAlignment?: StorageFaultDomainAlignmentType;\n /** The managed disk parameters. */\n managedDisk?: ManagedDiskParameters;\n /** Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. */\n deleteOption?: DiskDeleteOptionTypes;\n}\n\nexport function osDiskSerializer(item: OSDisk): any {\n return {\n osType: item[\"osType\"],\n encryptionSettings: !item[\"encryptionSettings\"]\n ? item[\"encryptionSettings\"]\n : diskEncryptionSettingsSerializer(item[\"encryptionSettings\"]),\n name: item[\"name\"],\n vhd: !item[\"vhd\"] ? item[\"vhd\"] : virtualHardDiskSerializer(item[\"vhd\"]),\n image: !item[\"image\"] ? item[\"image\"] : virtualHardDiskSerializer(item[\"image\"]),\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n diffDiskSettings: !item[\"diffDiskSettings\"]\n ? item[\"diffDiskSettings\"]\n : diffDiskSettingsSerializer(item[\"diffDiskSettings\"]),\n createOption: item[\"createOption\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersSerializer(item[\"managedDisk\"]),\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function osDiskDeserializer(item: any): OSDisk {\n return {\n osType: item[\"osType\"],\n encryptionSettings: !item[\"encryptionSettings\"]\n ? item[\"encryptionSettings\"]\n : diskEncryptionSettingsDeserializer(item[\"encryptionSettings\"]),\n name: item[\"name\"],\n vhd: !item[\"vhd\"] ? item[\"vhd\"] : virtualHardDiskDeserializer(item[\"vhd\"]),\n image: !item[\"image\"] ? item[\"image\"] : virtualHardDiskDeserializer(item[\"image\"]),\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n diffDiskSettings: !item[\"diffDiskSettings\"]\n ? item[\"diffDiskSettings\"]\n : diffDiskSettingsDeserializer(item[\"diffDiskSettings\"]),\n createOption: item[\"createOption\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersDeserializer(item[\"managedDisk\"]),\n deleteOption: item[\"deleteOption\"],\n };\n}\n\n/** Describes a Encryption Settings for a Disk */\nexport interface DiskEncryptionSettings {\n /** Specifies the location of the disk encryption key, which is a Key Vault Secret. */\n diskEncryptionKey?: KeyVaultSecretReference;\n /** Specifies the location of the key encryption key in Key Vault. */\n keyEncryptionKey?: KeyVaultKeyReference;\n /** Specifies whether disk encryption should be enabled on the virtual machine. */\n enabled?: boolean;\n}\n\nexport function diskEncryptionSettingsSerializer(item: DiskEncryptionSettings): any {\n return {\n diskEncryptionKey: !item[\"diskEncryptionKey\"]\n ? item[\"diskEncryptionKey\"]\n : keyVaultSecretReferenceSerializer(item[\"diskEncryptionKey\"]),\n keyEncryptionKey: !item[\"keyEncryptionKey\"]\n ? item[\"keyEncryptionKey\"]\n : keyVaultKeyReferenceSerializer(item[\"keyEncryptionKey\"]),\n enabled: item[\"enabled\"],\n };\n}\n\nexport function diskEncryptionSettingsDeserializer(item: any): DiskEncryptionSettings {\n return {\n diskEncryptionKey: !item[\"diskEncryptionKey\"]\n ? item[\"diskEncryptionKey\"]\n : keyVaultSecretReferenceDeserializer(item[\"diskEncryptionKey\"]),\n keyEncryptionKey: !item[\"keyEncryptionKey\"]\n ? item[\"keyEncryptionKey\"]\n : keyVaultKeyReferenceDeserializer(item[\"keyEncryptionKey\"]),\n enabled: item[\"enabled\"],\n };\n}\n\n/** Describes a reference to Key Vault Key */\nexport interface KeyVaultKeyReference {\n /** The URL referencing a key encryption key in Key Vault. */\n keyUrl: string;\n /** The relative URL of the Key Vault containing the key. */\n sourceVault: SubResource;\n}\n\nexport function keyVaultKeyReferenceSerializer(item: KeyVaultKeyReference): any {\n return { keyUrl: item[\"keyUrl\"], sourceVault: subResourceSerializer(item[\"sourceVault\"]) };\n}\n\nexport function keyVaultKeyReferenceDeserializer(item: any): KeyVaultKeyReference {\n return {\n keyUrl: item[\"keyUrl\"],\n sourceVault: subResourceDeserializer(item[\"sourceVault\"]),\n };\n}\n\n/** The parameters of a managed disk. */\nexport interface ManagedDiskParameters extends SubResource {\n /** Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. */\n storageAccountType?: StorageAccountTypes;\n /** Specifies the customer managed disk encryption set resource id for the managed disk. */\n diskEncryptionSet?: DiskEncryptionSetParameters;\n /** Specifies the security profile for the managed disk. */\n securityProfile?: VMDiskSecurityProfile;\n}\n\nexport function managedDiskParametersSerializer(item: ManagedDiskParameters): any {\n return {\n id: item[\"id\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : vmDiskSecurityProfileSerializer(item[\"securityProfile\"]),\n };\n}\n\nexport function managedDiskParametersDeserializer(item: any): ManagedDiskParameters {\n return {\n id: item[\"id\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersDeserializer(item[\"diskEncryptionSet\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : vmDiskSecurityProfileDeserializer(item[\"securityProfile\"]),\n };\n}\n\nexport function dataDiskArraySerializer(result: Array<DataDisk>): any[] {\n return result.map((item) => {\n return dataDiskSerializer(item);\n });\n}\n\nexport function dataDiskArrayDeserializer(result: Array<DataDisk>): any[] {\n return result.map((item) => {\n return dataDiskDeserializer(item);\n });\n}\n\n/** Describes a data disk. */\nexport interface DataDisk {\n /** Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. */\n lun: number;\n /** The disk name. */\n name?: string;\n /** The virtual hard disk. */\n vhd?: VirtualHardDisk;\n /** The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. */\n image?: VirtualHardDisk;\n /** Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** */\n caching?: CachingTypes;\n /** Specifies whether writeAccelerator should be enabled or disabled on the disk. */\n writeAcceleratorEnabled?: boolean;\n /** Specifies how the virtual machine disk should be created. Possible values are **Attach:** This value is used when you are using a specialized disk to create the virtual machine. **FromImage:** This value is used when you are using an image to create the virtual machine data disk. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. **Empty:** This value is used when creating an empty data disk. **Copy:** This value is used to create a data disk from a snapshot or another disk. **Restore:** This value is used to create a data disk from a disk restore point. */\n createOption: DiskCreateOptionTypes;\n /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. */\n diskSizeGB?: number;\n /** Specifies the storage fault domain alignment type for the disk. */\n storageFaultDomainAlignment?: StorageFaultDomainAlignmentType;\n /** The managed disk parameters. */\n managedDisk?: ManagedDiskParameters;\n /** The source resource identifier. It can be a snapshot, or disk restore point from which to create a disk. */\n sourceResource?: ApiEntityReference;\n /** Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset */\n toBeDetached?: boolean;\n /** Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. */\n diskIopsReadWrite?: number;\n /** Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. */\n diskMBpsReadWrite?: number;\n /** Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview**. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. */\n detachOption?: DiskDetachOptionTypes;\n /** Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. */\n deleteOption?: DiskDeleteOptionTypes;\n}\n\nexport function dataDiskSerializer(item: DataDisk): any {\n return {\n lun: item[\"lun\"],\n name: item[\"name\"],\n vhd: !item[\"vhd\"] ? item[\"vhd\"] : virtualHardDiskSerializer(item[\"vhd\"]),\n image: !item[\"image\"] ? item[\"image\"] : virtualHardDiskSerializer(item[\"image\"]),\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n createOption: item[\"createOption\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersSerializer(item[\"managedDisk\"]),\n sourceResource: !item[\"sourceResource\"]\n ? item[\"sourceResource\"]\n : apiEntityReferenceSerializer(item[\"sourceResource\"]),\n toBeDetached: item[\"toBeDetached\"],\n diskIOPSReadWrite: item[\"diskIopsReadWrite\"],\n diskMBpsReadWrite: item[\"diskMBpsReadWrite\"],\n detachOption: item[\"detachOption\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function dataDiskDeserializer(item: any): DataDisk {\n return {\n lun: item[\"lun\"],\n name: item[\"name\"],\n vhd: !item[\"vhd\"] ? item[\"vhd\"] : virtualHardDiskDeserializer(item[\"vhd\"]),\n image: !item[\"image\"] ? item[\"image\"] : virtualHardDiskDeserializer(item[\"image\"]),\n caching: item[\"caching\"],\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n createOption: item[\"createOption\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageFaultDomainAlignment: item[\"storageFaultDomainAlignment\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersDeserializer(item[\"managedDisk\"]),\n sourceResource: !item[\"sourceResource\"]\n ? item[\"sourceResource\"]\n : apiEntityReferenceDeserializer(item[\"sourceResource\"]),\n toBeDetached: item[\"toBeDetached\"],\n diskIopsReadWrite: item[\"diskIOPSReadWrite\"],\n diskMBpsReadWrite: item[\"diskMBpsReadWrite\"],\n detachOption: item[\"detachOption\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\n/** Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values are: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview**. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. */\nexport enum KnownDiskDetachOptionTypes {\n /** ForceDetach */\n ForceDetach = \"ForceDetach\",\n}\n\n/**\n * Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values are: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview**. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. \\\n * {@link KnownDiskDetachOptionTypes} can be used interchangeably with DiskDetachOptionTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ForceDetach**\n */\nexport type DiskDetachOptionTypes = string;\n\n/** Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. */\nexport interface OSProfile {\n /** Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). */\n computerName?: string;\n /** Specifies the name of the administrator account. <br><br> This property cannot be updated after the VM is created. <br><br> **Windows-only restriction:** Cannot end in \".\" <br><br> **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters. */\n adminUsername?: string;\n /** Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\\W_]) <br><br> **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) */\n adminPassword?: string;\n /** Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). */\n customData?: string;\n /** Specifies Windows operating system settings on the virtual machine. */\n windowsConfiguration?: WindowsConfiguration;\n /** Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */\n linuxConfiguration?: LinuxConfiguration;\n /** Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */\n secrets?: VaultSecretGroup[];\n /** Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. */\n allowExtensionOperations?: boolean;\n /** Optional property which must either be set to True or omitted. */\n requireGuestProvisionSignal?: boolean;\n}\n\nexport function osProfileSerializer(item: OSProfile): any {\n return {\n computerName: item[\"computerName\"],\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n customData: item[\"customData\"],\n windowsConfiguration: !item[\"windowsConfiguration\"]\n ? item[\"windowsConfiguration\"]\n : windowsConfigurationSerializer(item[\"windowsConfiguration\"]),\n linuxConfiguration: !item[\"linuxConfiguration\"]\n ? item[\"linuxConfiguration\"]\n : linuxConfigurationSerializer(item[\"linuxConfiguration\"]),\n secrets: !item[\"secrets\"] ? item[\"secrets\"] : vaultSecretGroupArraySerializer(item[\"secrets\"]),\n allowExtensionOperations: item[\"allowExtensionOperations\"],\n requireGuestProvisionSignal: item[\"requireGuestProvisionSignal\"],\n };\n}\n\nexport function osProfileDeserializer(item: any): OSProfile {\n return {\n computerName: item[\"computerName\"],\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n customData: item[\"customData\"],\n windowsConfiguration: !item[\"windowsConfiguration\"]\n ? item[\"windowsConfiguration\"]\n : windowsConfigurationDeserializer(item[\"windowsConfiguration\"]),\n linuxConfiguration: !item[\"linuxConfiguration\"]\n ? item[\"linuxConfiguration\"]\n : linuxConfigurationDeserializer(item[\"linuxConfiguration\"]),\n secrets: !item[\"secrets\"]\n ? item[\"secrets\"]\n : vaultSecretGroupArrayDeserializer(item[\"secrets\"]),\n allowExtensionOperations: item[\"allowExtensionOperations\"],\n requireGuestProvisionSignal: item[\"requireGuestProvisionSignal\"],\n };\n}\n\n/** Specifies the network interfaces or the networking configuration of the virtual machine. */\nexport interface NetworkProfile {\n /** Specifies the list of resource Ids for the network interfaces associated with the virtual machine. */\n networkInterfaces?: NetworkInterfaceReference[];\n /** specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations */\n networkApiVersion?: NetworkApiVersion;\n /** Specifies the networking configurations that will be used to create the virtual machine networking resources. */\n networkInterfaceConfigurations?: VirtualMachineNetworkInterfaceConfiguration[];\n}\n\nexport function networkProfileSerializer(item: NetworkProfile): any {\n return {\n networkInterfaces: !item[\"networkInterfaces\"]\n ? item[\"networkInterfaces\"]\n : networkInterfaceReferenceArraySerializer(item[\"networkInterfaces\"]),\n networkApiVersion: item[\"networkApiVersion\"],\n networkInterfaceConfigurations: !item[\"networkInterfaceConfigurations\"]\n ? item[\"networkInterfaceConfigurations\"]\n : virtualMachineNetworkInterfaceConfigurationArraySerializer(\n item[\"networkInterfaceConfigurations\"],\n ),\n };\n}\n\nexport function networkProfileDeserializer(item: any): NetworkProfile {\n return {\n networkInterfaces: !item[\"networkInterfaces\"]\n ? item[\"networkInterfaces\"]\n : networkInterfaceReferenceArrayDeserializer(item[\"networkInterfaces\"]),\n networkApiVersion: item[\"networkApiVersion\"],\n networkInterfaceConfigurations: !item[\"networkInterfaceConfigurations\"]\n ? item[\"networkInterfaceConfigurations\"]\n : virtualMachineNetworkInterfaceConfigurationArrayDeserializer(\n item[\"networkInterfaceConfigurations\"],\n ),\n };\n}\n\nexport function networkInterfaceReferenceArraySerializer(\n result: Array<NetworkInterfaceReference>,\n): any[] {\n return result.map((item) => {\n return networkInterfaceReferenceSerializer(item);\n });\n}\n\nexport function networkInterfaceReferenceArrayDeserializer(\n result: Array<NetworkInterfaceReference>,\n): any[] {\n return result.map((item) => {\n return networkInterfaceReferenceDeserializer(item);\n });\n}\n\n/** Describes a network interface reference. */\nexport interface NetworkInterfaceReference extends SubResource {\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n}\n\nexport function networkInterfaceReferenceSerializer(item: NetworkInterfaceReference): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\"primary\", \"deleteOption\"])\n ? undefined\n : _networkInterfaceReferencePropertiesSerializer(item),\n };\n}\n\nexport function networkInterfaceReferenceDeserializer(item: any): NetworkInterfaceReference {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _networkInterfaceReferencePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Describes a network interface reference properties. */\nexport interface NetworkInterfaceReferenceProperties {\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n}\n\nexport function networkInterfaceReferencePropertiesSerializer(\n item: NetworkInterfaceReferenceProperties,\n): any {\n return { primary: item[\"primary\"], deleteOption: item[\"deleteOption\"] };\n}\n\nexport function networkInterfaceReferencePropertiesDeserializer(\n item: any,\n): NetworkInterfaceReferenceProperties {\n return {\n primary: item[\"primary\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function virtualMachineNetworkInterfaceConfigurationArraySerializer(\n result: Array<VirtualMachineNetworkInterfaceConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineNetworkInterfaceConfigurationSerializer(item);\n });\n}\n\nexport function virtualMachineNetworkInterfaceConfigurationArrayDeserializer(\n result: Array<VirtualMachineNetworkInterfaceConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineNetworkInterfaceConfigurationDeserializer(item);\n });\n}\n\n/** Describes a virtual machine network interface configurations. */\nexport interface VirtualMachineNetworkInterfaceConfiguration {\n /** The network interface configuration name. */\n name: string;\n /** Resource tags applied to the networkInterface address created by this NetworkInterfaceConfiguration */\n tags?: Record<string, string>;\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** Specifies whether the network interface is accelerated networking-enabled. */\n enableAcceleratedNetworking?: boolean;\n /** Specifies whether the network interface is disabled for tcp state tracking. */\n disableTcpStateTracking?: boolean;\n /** Specifies whether the network interface is FPGA networking-enabled. */\n enableFpga?: boolean;\n /** Whether IP forwarding enabled on this NIC. */\n enableIPForwarding?: boolean;\n /** The network security group. */\n networkSecurityGroup?: SubResource;\n /** The dns settings to be applied on the network interfaces. */\n dnsSettings?: VirtualMachineNetworkInterfaceDnsSettingsConfiguration;\n /** Specifies the IP configurations of the network interface. */\n ipConfigurations?: VirtualMachineNetworkInterfaceIPConfiguration[];\n dscpConfiguration?: SubResource;\n /** Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */\n auxiliaryMode?: NetworkInterfaceAuxiliaryMode;\n /** Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */\n auxiliarySku?: NetworkInterfaceAuxiliarySku;\n}\n\nexport function virtualMachineNetworkInterfaceConfigurationSerializer(\n item: VirtualMachineNetworkInterfaceConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"primary\",\n \"deleteOption\",\n \"enableAcceleratedNetworking\",\n \"disableTcpStateTracking\",\n \"enableFpga\",\n \"enableIPForwarding\",\n \"networkSecurityGroup\",\n \"dnsSettings\",\n \"ipConfigurations\",\n \"dscpConfiguration\",\n \"auxiliaryMode\",\n \"auxiliarySku\",\n ])\n ? undefined\n : _virtualMachineNetworkInterfaceConfigurationPropertiesSerializer(item),\n tags: item[\"tags\"],\n };\n}\n\nexport function virtualMachineNetworkInterfaceConfigurationDeserializer(\n item: any,\n): VirtualMachineNetworkInterfaceConfiguration {\n return {\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineNetworkInterfaceConfigurationPropertiesDeserializer(item[\"properties\"])),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Describes a virtual machine network profile's IP configuration. */\nexport interface VirtualMachineNetworkInterfaceConfigurationProperties {\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** Specify what happens to the network interface when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** Specifies whether the network interface is accelerated networking-enabled. */\n enableAcceleratedNetworking?: boolean;\n /** Specifies whether the network interface is disabled for tcp state tracking. */\n disableTcpStateTracking?: boolean;\n /** Specifies whether the network interface is FPGA networking-enabled. */\n enableFpga?: boolean;\n /** Whether IP forwarding enabled on this NIC. */\n enableIPForwarding?: boolean;\n /** The network security group. */\n networkSecurityGroup?: SubResource;\n /** The dns settings to be applied on the network interfaces. */\n dnsSettings?: VirtualMachineNetworkInterfaceDnsSettingsConfiguration;\n /** Specifies the IP configurations of the network interface. */\n ipConfigurations: VirtualMachineNetworkInterfaceIPConfiguration[];\n dscpConfiguration?: SubResource;\n /** Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */\n auxiliaryMode?: NetworkInterfaceAuxiliaryMode;\n /** Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */\n auxiliarySku?: NetworkInterfaceAuxiliarySku;\n}\n\nexport function virtualMachineNetworkInterfaceConfigurationPropertiesSerializer(\n item: VirtualMachineNetworkInterfaceConfigurationProperties,\n): any {\n return {\n primary: item[\"primary\"],\n deleteOption: item[\"deleteOption\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n enableIPForwarding: item[\"enableIPForwarding\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceSerializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineNetworkInterfaceDnsSettingsConfigurationSerializer(item[\"dnsSettings\"]),\n ipConfigurations: virtualMachineNetworkInterfaceIPConfigurationArraySerializer(\n item[\"ipConfigurations\"],\n ),\n dscpConfiguration: !item[\"dscpConfiguration\"]\n ? item[\"dscpConfiguration\"]\n : subResourceSerializer(item[\"dscpConfiguration\"]),\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function virtualMachineNetworkInterfaceConfigurationPropertiesDeserializer(\n item: any,\n): VirtualMachineNetworkInterfaceConfigurationProperties {\n return {\n primary: item[\"primary\"],\n deleteOption: item[\"deleteOption\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n enableIPForwarding: item[\"enableIPForwarding\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceDeserializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineNetworkInterfaceDnsSettingsConfigurationDeserializer(item[\"dnsSettings\"]),\n ipConfigurations: virtualMachineNetworkInterfaceIPConfigurationArrayDeserializer(\n item[\"ipConfigurations\"],\n ),\n dscpConfiguration: !item[\"dscpConfiguration\"]\n ? item[\"dscpConfiguration\"]\n : subResourceDeserializer(item[\"dscpConfiguration\"]),\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\n/** Describes a virtual machines network configuration's DNS settings. */\nexport interface VirtualMachineNetworkInterfaceDnsSettingsConfiguration {\n /** List of DNS servers IP addresses */\n dnsServers?: string[];\n}\n\nexport function virtualMachineNetworkInterfaceDnsSettingsConfigurationSerializer(\n item: VirtualMachineNetworkInterfaceDnsSettingsConfiguration,\n): any {\n return {\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function virtualMachineNetworkInterfaceDnsSettingsConfigurationDeserializer(\n item: any,\n): VirtualMachineNetworkInterfaceDnsSettingsConfiguration {\n return {\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function virtualMachineNetworkInterfaceIPConfigurationArraySerializer(\n result: Array<VirtualMachineNetworkInterfaceIPConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineNetworkInterfaceIPConfigurationSerializer(item);\n });\n}\n\nexport function virtualMachineNetworkInterfaceIPConfigurationArrayDeserializer(\n result: Array<VirtualMachineNetworkInterfaceIPConfiguration>,\n): any[] {\n return result.map((item) => {\n return virtualMachineNetworkInterfaceIPConfigurationDeserializer(item);\n });\n}\n\n/** Describes a virtual machine network profile's IP configuration. */\nexport interface VirtualMachineNetworkInterfaceIPConfiguration {\n /** The IP configuration name. */\n name: string;\n /** Specifies the identifier of the subnet. */\n subnet?: SubResource;\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** The publicIPAddressConfiguration. */\n publicIPAddressConfiguration?: VirtualMachinePublicIPAddressConfiguration;\n /** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n privateIPAddressVersion?: IPVersions;\n /** Specifies an array of references to application security group. */\n applicationSecurityGroups?: SubResource[];\n /** Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. */\n applicationGatewayBackendAddressPools?: SubResource[];\n /** Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. */\n loadBalancerBackendAddressPools?: SubResource[];\n}\n\nexport function virtualMachineNetworkInterfaceIPConfigurationSerializer(\n item: VirtualMachineNetworkInterfaceIPConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"subnet\",\n \"primary\",\n \"publicIPAddressConfiguration\",\n \"privateIPAddressVersion\",\n \"applicationSecurityGroups\",\n \"applicationGatewayBackendAddressPools\",\n \"loadBalancerBackendAddressPools\",\n ])\n ? undefined\n : _virtualMachineNetworkInterfaceIPConfigurationPropertiesSerializer(item),\n };\n}\n\nexport function virtualMachineNetworkInterfaceIPConfigurationDeserializer(\n item: any,\n): VirtualMachineNetworkInterfaceIPConfiguration {\n return {\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineNetworkInterfaceIPConfigurationPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Describes a virtual machine network interface IP configuration properties. */\nexport interface VirtualMachineNetworkInterfaceIPConfigurationProperties {\n /** Specifies the identifier of the subnet. */\n subnet?: SubResource;\n /** Specifies the primary network interface in case the virtual machine has more than 1 network interface. */\n primary?: boolean;\n /** The publicIPAddressConfiguration. */\n publicIPAddressConfiguration?: VirtualMachinePublicIPAddressConfiguration;\n /** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n privateIPAddressVersion?: IPVersions;\n /** Specifies an array of references to application security group. */\n applicationSecurityGroups?: SubResource[];\n /** Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. */\n applicationGatewayBackendAddressPools?: SubResource[];\n /** Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. */\n loadBalancerBackendAddressPools?: SubResource[];\n}\n\nexport function virtualMachineNetworkInterfaceIPConfigurationPropertiesSerializer(\n item: VirtualMachineNetworkInterfaceIPConfigurationProperties,\n): any {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : subResourceSerializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachinePublicIPAddressConfigurationSerializer(item[\"publicIPAddressConfiguration\"]),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArraySerializer(item[\"applicationSecurityGroups\"]),\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArraySerializer(item[\"applicationGatewayBackendAddressPools\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArraySerializer(item[\"loadBalancerBackendAddressPools\"]),\n };\n}\n\nexport function virtualMachineNetworkInterfaceIPConfigurationPropertiesDeserializer(\n item: any,\n): VirtualMachineNetworkInterfaceIPConfigurationProperties {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : subResourceDeserializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachinePublicIPAddressConfigurationDeserializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArrayDeserializer(item[\"applicationSecurityGroups\"]),\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"applicationGatewayBackendAddressPools\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"loadBalancerBackendAddressPools\"]),\n };\n}\n\n/** Describes a virtual machines IP Configuration's PublicIPAddress configuration */\nexport interface VirtualMachinePublicIPAddressConfiguration {\n /** The publicIP address configuration name. */\n name: string;\n /** Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. */\n sku?: PublicIPAddressSku;\n /** Resource tags applied to the publicIP address created by this PublicIPAddressConfiguration */\n tags?: Record<string, string>;\n /** The idle timeout of the public IP address. */\n idleTimeoutInMinutes?: number;\n /** Specify what happens to the public IP address when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** The dns settings to be applied on the publicIP addresses . */\n dnsSettings?: VirtualMachinePublicIPAddressDnsSettingsConfiguration;\n /** The list of IP tags associated with the public IP address. */\n ipTags?: VirtualMachineIpTag[];\n /** The PublicIPPrefix from which to allocate publicIP addresses. */\n publicIPPrefix?: SubResource;\n /** Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n publicIPAddressVersion?: IPVersions;\n /** Specify the public IP allocation type */\n publicIPAllocationMethod?: PublicIPAllocationMethod;\n}\n\nexport function virtualMachinePublicIPAddressConfigurationSerializer(\n item: VirtualMachinePublicIPAddressConfiguration,\n): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"idleTimeoutInMinutes\",\n \"deleteOption\",\n \"dnsSettings\",\n \"ipTags\",\n \"publicIPPrefix\",\n \"publicIPAddressVersion\",\n \"publicIPAllocationMethod\",\n ])\n ? undefined\n : _virtualMachinePublicIPAddressConfigurationPropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : publicIPAddressSkuSerializer(item[\"sku\"]),\n tags: item[\"tags\"],\n };\n}\n\nexport function virtualMachinePublicIPAddressConfigurationDeserializer(\n item: any,\n): VirtualMachinePublicIPAddressConfiguration {\n return {\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachinePublicIPAddressConfigurationPropertiesDeserializer(item[\"properties\"])),\n sku: !item[\"sku\"] ? item[\"sku\"] : publicIPAddressSkuDeserializer(item[\"sku\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Describes a virtual machines IP Configuration's PublicIPAddress configuration */\nexport interface VirtualMachinePublicIPAddressConfigurationProperties {\n /** The idle timeout of the public IP address. */\n idleTimeoutInMinutes?: number;\n /** Specify what happens to the public IP address when the VM is deleted */\n deleteOption?: DeleteOptions;\n /** The dns settings to be applied on the publicIP addresses . */\n dnsSettings?: VirtualMachinePublicIPAddressDnsSettingsConfiguration;\n /** The list of IP tags associated with the public IP address. */\n ipTags?: VirtualMachineIpTag[];\n /** The PublicIPPrefix from which to allocate publicIP addresses. */\n publicIPPrefix?: SubResource;\n /** Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\n publicIPAddressVersion?: IPVersions;\n /** Specify the public IP allocation type */\n publicIPAllocationMethod?: PublicIPAllocationMethod;\n}\n\nexport function virtualMachinePublicIPAddressConfigurationPropertiesSerializer(\n item: VirtualMachinePublicIPAddressConfigurationProperties,\n): any {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n deleteOption: item[\"deleteOption\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachinePublicIPAddressDnsSettingsConfigurationSerializer(item[\"dnsSettings\"]),\n ipTags: !item[\"ipTags\"] ? item[\"ipTags\"] : virtualMachineIpTagArraySerializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceSerializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n publicIPAllocationMethod: item[\"publicIPAllocationMethod\"],\n };\n}\n\nexport function virtualMachinePublicIPAddressConfigurationPropertiesDeserializer(\n item: any,\n): VirtualMachinePublicIPAddressConfigurationProperties {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n deleteOption: item[\"deleteOption\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachinePublicIPAddressDnsSettingsConfigurationDeserializer(item[\"dnsSettings\"]),\n ipTags: !item[\"ipTags\"] ? item[\"ipTags\"] : virtualMachineIpTagArrayDeserializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceDeserializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n publicIPAllocationMethod: item[\"publicIPAllocationMethod\"],\n };\n}\n\n/** Describes a virtual machines network configuration's DNS settings. */\nexport interface VirtualMachinePublicIPAddressDnsSettingsConfiguration {\n /** The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. */\n domainNameLabel: string;\n /** The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. */\n domainNameLabelScope?: DomainNameLabelScopeTypes;\n}\n\nexport function virtualMachinePublicIPAddressDnsSettingsConfigurationSerializer(\n item: VirtualMachinePublicIPAddressDnsSettingsConfiguration,\n): any {\n return {\n domainNameLabel: item[\"domainNameLabel\"],\n domainNameLabelScope: item[\"domainNameLabelScope\"],\n };\n}\n\nexport function virtualMachinePublicIPAddressDnsSettingsConfigurationDeserializer(\n item: any,\n): VirtualMachinePublicIPAddressDnsSettingsConfiguration {\n return {\n domainNameLabel: item[\"domainNameLabel\"],\n domainNameLabelScope: item[\"domainNameLabelScope\"],\n };\n}\n\nexport function virtualMachineIpTagArraySerializer(result: Array<VirtualMachineIpTag>): any[] {\n return result.map((item) => {\n return virtualMachineIpTagSerializer(item);\n });\n}\n\nexport function virtualMachineIpTagArrayDeserializer(result: Array<VirtualMachineIpTag>): any[] {\n return result.map((item) => {\n return virtualMachineIpTagDeserializer(item);\n });\n}\n\n/** Contains the IP tag associated with the public IP address. */\nexport interface VirtualMachineIpTag {\n /** IP tag type. Example: FirstPartyUsage. */\n ipTagType?: string;\n /** IP tag associated with the public IP. Example: SQL, Storage etc. */\n tag?: string;\n}\n\nexport function virtualMachineIpTagSerializer(item: VirtualMachineIpTag): any {\n return { ipTagType: item[\"ipTagType\"], tag: item[\"tag\"] };\n}\n\nexport function virtualMachineIpTagDeserializer(item: any): VirtualMachineIpTag {\n return {\n ipTagType: item[\"ipTagType\"],\n tag: item[\"tag\"],\n };\n}\n\n/** Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */\nexport enum KnownIPVersions {\n /** IPv4 */\n IPv4 = \"IPv4\",\n /** IPv6 */\n IPv6 = \"IPv6\",\n}\n\n/**\n * Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. \\\n * {@link KnownIPVersions} can be used interchangeably with IPVersions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **IPv4** \\\n * **IPv6**\n */\nexport type IPVersions = string;\n\n/** Specify the public IP allocation type */\nexport enum KnownPublicIPAllocationMethod {\n /** Dynamic */\n Dynamic = \"Dynamic\",\n /** Static */\n Static = \"Static\",\n}\n\n/**\n * Specify the public IP allocation type \\\n * {@link KnownPublicIPAllocationMethod} can be used interchangeably with PublicIPAllocationMethod,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Dynamic** \\\n * **Static**\n */\nexport type PublicIPAllocationMethod = string;\n\n/** The instance view of a virtual machine. */\nexport interface VirtualMachineInstanceView {\n /** Specifies the update domain of the virtual machine. */\n platformUpdateDomain?: number;\n /** Specifies the fault domain of the virtual machine. */\n platformFaultDomain?: number;\n /** The computer name assigned to the virtual machine. */\n computerName?: string;\n /** The Operating System running on the virtual machine. */\n osName?: string;\n /** The version of Operating System running on the virtual machine. */\n osVersion?: string;\n /** Specifies the HyperVGeneration Type associated with a resource */\n hyperVGeneration?: HyperVGenerationType;\n /** The Remote desktop certificate thumbprint. */\n rdpThumbPrint?: string;\n /** The VM Agent running on the virtual machine. */\n vmAgent?: VirtualMachineAgentInstanceView;\n /** The Maintenance Operation status on the virtual machine. */\n maintenanceRedeployStatus?: MaintenanceRedeployStatus;\n /** The virtual machine disk information. */\n disks?: DiskInstanceView[];\n /** The extensions information. */\n extensions?: VirtualMachineExtensionInstanceView[];\n /** The health status for the VM. */\n readonly vmHealth?: VirtualMachineHealthStatus;\n /** Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. */\n bootDiagnostics?: BootDiagnosticsInstanceView;\n /** Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. */\n readonly assignedHost?: string;\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n /** [Preview Feature] The status of virtual machine patch operations. */\n patchStatus?: VirtualMachinePatchStatus;\n /** [Preview Feature] Specifies whether the VM is currently in or out of the Standby Pool. */\n readonly isVMInStandbyPool?: boolean;\n}\n\nexport function virtualMachineInstanceViewDeserializer(item: any): VirtualMachineInstanceView {\n return {\n platformUpdateDomain: item[\"platformUpdateDomain\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n computerName: item[\"computerName\"],\n osName: item[\"osName\"],\n osVersion: item[\"osVersion\"],\n hyperVGeneration: item[\"hyperVGeneration\"],\n rdpThumbPrint: item[\"rdpThumbPrint\"],\n vmAgent: !item[\"vmAgent\"]\n ? item[\"vmAgent\"]\n : virtualMachineAgentInstanceViewDeserializer(item[\"vmAgent\"]),\n maintenanceRedeployStatus: !item[\"maintenanceRedeployStatus\"]\n ? item[\"maintenanceRedeployStatus\"]\n : maintenanceRedeployStatusDeserializer(item[\"maintenanceRedeployStatus\"]),\n disks: !item[\"disks\"] ? item[\"disks\"] : diskInstanceViewArrayDeserializer(item[\"disks\"]),\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : virtualMachineExtensionInstanceViewArrayDeserializer(item[\"extensions\"]),\n vmHealth: !item[\"vmHealth\"]\n ? item[\"vmHealth\"]\n : virtualMachineHealthStatusDeserializer(item[\"vmHealth\"]),\n bootDiagnostics: !item[\"bootDiagnostics\"]\n ? item[\"bootDiagnostics\"]\n : bootDiagnosticsInstanceViewDeserializer(item[\"bootDiagnostics\"]),\n assignedHost: item[\"assignedHost\"],\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n patchStatus: !item[\"patchStatus\"]\n ? item[\"patchStatus\"]\n : virtualMachinePatchStatusDeserializer(item[\"patchStatus\"]),\n isVMInStandbyPool: item[\"isVMInStandbyPool\"],\n };\n}\n\n/** Specifies the HyperVGeneration Type associated with a resource */\nexport enum KnownHyperVGenerationType {\n /** V1 */\n V1 = \"V1\",\n /** V2 */\n V2 = \"V2\",\n}\n\n/**\n * Specifies the HyperVGeneration Type associated with a resource \\\n * {@link KnownHyperVGenerationType} can be used interchangeably with HyperVGenerationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **V1** \\\n * **V2**\n */\nexport type HyperVGenerationType = string;\n\n/** The instance view of the VM Agent running on the virtual machine. */\nexport interface VirtualMachineAgentInstanceView {\n /** The VM Agent full version. */\n vmAgentVersion?: string;\n /** The virtual machine extension handler instance view. */\n extensionHandlers?: VirtualMachineExtensionHandlerInstanceView[];\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n}\n\nexport function virtualMachineAgentInstanceViewDeserializer(\n item: any,\n): VirtualMachineAgentInstanceView {\n return {\n vmAgentVersion: item[\"vmAgentVersion\"],\n extensionHandlers: !item[\"extensionHandlers\"]\n ? item[\"extensionHandlers\"]\n : virtualMachineExtensionHandlerInstanceViewArrayDeserializer(item[\"extensionHandlers\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n };\n}\n\nexport function virtualMachineExtensionHandlerInstanceViewArrayDeserializer(\n result: Array<VirtualMachineExtensionHandlerInstanceView>,\n): any[] {\n return result.map((item) => {\n return virtualMachineExtensionHandlerInstanceViewDeserializer(item);\n });\n}\n\n/** The instance view of a virtual machine extension handler. */\nexport interface VirtualMachineExtensionHandlerInstanceView {\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** The extension handler status. */\n status?: InstanceViewStatus;\n}\n\nexport function virtualMachineExtensionHandlerInstanceViewDeserializer(\n item: any,\n): VirtualMachineExtensionHandlerInstanceView {\n return {\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n status: !item[\"status\"] ? item[\"status\"] : instanceViewStatusDeserializer(item[\"status\"]),\n };\n}\n\n/** Maintenance Operation Status. */\nexport interface MaintenanceRedeployStatus {\n /** True, if customer is allowed to perform Maintenance. */\n isCustomerInitiatedMaintenanceAllowed?: boolean;\n /** Start Time for the Pre Maintenance Window. */\n preMaintenanceWindowStartTime?: Date;\n /** End Time for the Pre Maintenance Window. */\n preMaintenanceWindowEndTime?: Date;\n /** Start Time for the Maintenance Window. */\n maintenanceWindowStartTime?: Date;\n /** End Time for the Maintenance Window. */\n maintenanceWindowEndTime?: Date;\n /** The Last Maintenance Operation Result Code. */\n lastOperationResultCode?: MaintenanceOperationResultCodeTypes;\n /** Message returned for the last Maintenance Operation. */\n lastOperationMessage?: string;\n}\n\nexport function maintenanceRedeployStatusDeserializer(item: any): MaintenanceRedeployStatus {\n return {\n isCustomerInitiatedMaintenanceAllowed: item[\"isCustomerInitiatedMaintenanceAllowed\"],\n preMaintenanceWindowStartTime: !item[\"preMaintenanceWindowStartTime\"]\n ? item[\"preMaintenanceWindowStartTime\"]\n : new Date(item[\"preMaintenanceWindowStartTime\"]),\n preMaintenanceWindowEndTime: !item[\"preMaintenanceWindowEndTime\"]\n ? item[\"preMaintenanceWindowEndTime\"]\n : new Date(item[\"preMaintenanceWindowEndTime\"]),\n maintenanceWindowStartTime: !item[\"maintenanceWindowStartTime\"]\n ? item[\"maintenanceWindowStartTime\"]\n : new Date(item[\"maintenanceWindowStartTime\"]),\n maintenanceWindowEndTime: !item[\"maintenanceWindowEndTime\"]\n ? item[\"maintenanceWindowEndTime\"]\n : new Date(item[\"maintenanceWindowEndTime\"]),\n lastOperationResultCode: item[\"lastOperationResultCode\"],\n lastOperationMessage: item[\"lastOperationMessage\"],\n };\n}\n\n/** The Last Maintenance Operation Result Code. */\nexport type MaintenanceOperationResultCodeTypes =\n | \"None\"\n | \"RetryLater\"\n | \"MaintenanceAborted\"\n | \"MaintenanceCompleted\";\n\nexport function diskInstanceViewArrayDeserializer(result: Array<DiskInstanceView>): any[] {\n return result.map((item) => {\n return diskInstanceViewDeserializer(item);\n });\n}\n\n/** The instance view of the disk. */\nexport interface DiskInstanceView {\n /** The disk name. */\n name?: string;\n /** Specifies the encryption settings for the OS Disk. <br><br> Minimum api-version: 2015-06-15 */\n encryptionSettings?: DiskEncryptionSettings[];\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n /** Specifies the storage alignment status for the disk. */\n storageAlignmentStatus?: StorageAlignmentStatus;\n}\n\nexport function diskInstanceViewDeserializer(item: any): DiskInstanceView {\n return {\n name: item[\"name\"],\n encryptionSettings: !item[\"encryptionSettings\"]\n ? item[\"encryptionSettings\"]\n : diskEncryptionSettingsArrayDeserializer(item[\"encryptionSettings\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n storageAlignmentStatus: item[\"storageAlignmentStatus\"],\n };\n}\n\nexport function diskEncryptionSettingsArraySerializer(\n result: Array<DiskEncryptionSettings>,\n): any[] {\n return result.map((item) => {\n return diskEncryptionSettingsSerializer(item);\n });\n}\n\nexport function diskEncryptionSettingsArrayDeserializer(\n result: Array<DiskEncryptionSettings>,\n): any[] {\n return result.map((item) => {\n return diskEncryptionSettingsDeserializer(item);\n });\n}\n\n/** Specifies the storage alignment status for the disk. */\nexport enum KnownStorageAlignmentStatus {\n /** Disk does not have Storage Fault Domain to Compute Fault Domain mapping. A single Storage Fault Domain failure may impact all VMs that reference this disk profile. */\n Unaligned = \"Unaligned\",\n /** Disk has Storage Fault Domain to Compute Fault Domain mapping. Storage Fault Domain failure is contained to VMs in a single Compute Fault Domain. */\n Aligned = \"Aligned\",\n}\n\n/**\n * Specifies the storage alignment status for the disk. \\\n * {@link KnownStorageAlignmentStatus} can be used interchangeably with StorageAlignmentStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unaligned**: Disk does not have Storage Fault Domain to Compute Fault Domain mapping. A single Storage Fault Domain failure may impact all VMs that reference this disk profile. \\\n * **Aligned**: Disk has Storage Fault Domain to Compute Fault Domain mapping. Storage Fault Domain failure is contained to VMs in a single Compute Fault Domain.\n */\nexport type StorageAlignmentStatus = string;\n\nexport function virtualMachineExtensionInstanceViewArraySerializer(\n result: Array<VirtualMachineExtensionInstanceView>,\n): any[] {\n return result.map((item) => {\n return virtualMachineExtensionInstanceViewSerializer(item);\n });\n}\n\nexport function virtualMachineExtensionInstanceViewArrayDeserializer(\n result: Array<VirtualMachineExtensionInstanceView>,\n): any[] {\n return result.map((item) => {\n return virtualMachineExtensionInstanceViewDeserializer(item);\n });\n}\n\n/** The health status of the VM. */\nexport interface VirtualMachineHealthStatus {\n /** The health status information for the VM. */\n readonly status?: InstanceViewStatus;\n}\n\nexport function virtualMachineHealthStatusDeserializer(item: any): VirtualMachineHealthStatus {\n return {\n status: !item[\"status\"] ? item[\"status\"] : instanceViewStatusDeserializer(item[\"status\"]),\n };\n}\n\n/** The instance view of a virtual machine boot diagnostics. */\nexport interface BootDiagnosticsInstanceView {\n /** The console screenshot blob URI. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. */\n readonly consoleScreenshotBlobUri?: string;\n /** The serial console log blob Uri. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. */\n readonly serialConsoleLogBlobUri?: string;\n /** The boot diagnostics status information for the VM. **Note:** It will be set only if there are errors encountered in enabling boot diagnostics. */\n readonly status?: InstanceViewStatus;\n}\n\nexport function bootDiagnosticsInstanceViewDeserializer(item: any): BootDiagnosticsInstanceView {\n return {\n consoleScreenshotBlobUri: item[\"consoleScreenshotBlobUri\"],\n serialConsoleLogBlobUri: item[\"serialConsoleLogBlobUri\"],\n status: !item[\"status\"] ? item[\"status\"] : instanceViewStatusDeserializer(item[\"status\"]),\n };\n}\n\n/** The status of virtual machine patch operations. */\nexport interface VirtualMachinePatchStatus {\n /** The available patch summary of the latest assessment operation for the virtual machine. */\n availablePatchSummary?: AvailablePatchSummary;\n /** The installation summary of the latest installation operation for the virtual machine. */\n lastPatchInstallationSummary?: LastPatchInstallationSummary;\n /** The enablement status of the specified patchMode */\n readonly configurationStatuses?: InstanceViewStatus[];\n}\n\nexport function virtualMachinePatchStatusDeserializer(item: any): VirtualMachinePatchStatus {\n return {\n availablePatchSummary: !item[\"availablePatchSummary\"]\n ? item[\"availablePatchSummary\"]\n : availablePatchSummaryDeserializer(item[\"availablePatchSummary\"]),\n lastPatchInstallationSummary: !item[\"lastPatchInstallationSummary\"]\n ? item[\"lastPatchInstallationSummary\"]\n : lastPatchInstallationSummaryDeserializer(item[\"lastPatchInstallationSummary\"]),\n configurationStatuses: !item[\"configurationStatuses\"]\n ? item[\"configurationStatuses\"]\n : instanceViewStatusArrayDeserializer(item[\"configurationStatuses\"]),\n };\n}\n\n/** Describes the properties of an virtual machine instance view for available patch summary. */\nexport interface AvailablePatchSummary {\n /** The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\" */\n readonly status?: PatchOperationStatus;\n /** The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. */\n readonly assessmentActivityId?: string;\n /** 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. */\n readonly rebootPending?: boolean;\n /** The number of critical or security patches that have been detected as available and not yet installed. */\n readonly criticalAndSecurityPatchCount?: number;\n /** The number of all available patches excluding critical and security. */\n readonly otherPatchCount?: number;\n /** The UTC timestamp when the operation began. */\n readonly startTime?: Date;\n /** The UTC timestamp when the operation began. */\n readonly lastModifiedTime?: Date;\n /** The errors that were encountered during execution of the operation. The details array contains the list of them. */\n readonly error?: ApiError;\n}\n\nexport function availablePatchSummaryDeserializer(item: any): AvailablePatchSummary {\n return {\n status: item[\"status\"],\n assessmentActivityId: item[\"assessmentActivityId\"],\n rebootPending: item[\"rebootPending\"],\n criticalAndSecurityPatchCount: item[\"criticalAndSecurityPatchCount\"],\n otherPatchCount: item[\"otherPatchCount\"],\n startTime: !item[\"startTime\"] ? item[\"startTime\"] : new Date(item[\"startTime\"]),\n lastModifiedTime: !item[\"lastModifiedTime\"]\n ? item[\"lastModifiedTime\"]\n : new Date(item[\"lastModifiedTime\"]),\n error: !item[\"error\"] ? item[\"error\"] : apiErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\" */\nexport enum KnownPatchOperationStatus {\n /** Unknown */\n Unknown = \"Unknown\",\n /** InProgress */\n InProgress = \"InProgress\",\n /** Failed */\n Failed = \"Failed\",\n /** Succeeded */\n Succeeded = \"Succeeded\",\n /** CompletedWithWarnings */\n CompletedWithWarnings = \"CompletedWithWarnings\",\n}\n\n/**\n * The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\" \\\n * {@link KnownPatchOperationStatus} can be used interchangeably with PatchOperationStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **InProgress** \\\n * **Failed** \\\n * **Succeeded** \\\n * **CompletedWithWarnings**\n */\nexport type PatchOperationStatus = string;\n\n/** Describes the properties of the last installed patch summary. */\nexport interface LastPatchInstallationSummary {\n /** The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\" */\n readonly status?: PatchOperationStatus;\n /** The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. */\n readonly installationActivityId?: string;\n /** Describes whether the operation ran out of time before it completed all its intended actions */\n readonly maintenanceWindowExceeded?: boolean;\n /** The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry. */\n readonly notSelectedPatchCount?: number;\n /** The number of all available patches but excluded explicitly by a customer-specified exclusion list match. */\n readonly excludedPatchCount?: number;\n /** The number of all available patches expected to be installed over the course of the patch installation operation. */\n readonly pendingPatchCount?: number;\n /** The count of patches that successfully installed. */\n readonly installedPatchCount?: number;\n /** The count of patches that failed installation. */\n readonly failedPatchCount?: number;\n /** The UTC timestamp when the operation began. */\n readonly startTime?: Date;\n /** The UTC timestamp when the operation began. */\n readonly lastModifiedTime?: Date;\n /** The errors that were encountered during execution of the operation. The details array contains the list of them. */\n readonly error?: ApiError;\n}\n\nexport function lastPatchInstallationSummaryDeserializer(item: any): LastPatchInstallationSummary {\n return {\n status: item[\"status\"],\n installationActivityId: item[\"installationActivityId\"],\n maintenanceWindowExceeded: item[\"maintenanceWindowExceeded\"],\n notSelectedPatchCount: item[\"notSelectedPatchCount\"],\n excludedPatchCount: item[\"excludedPatchCount\"],\n pendingPatchCount: item[\"pendingPatchCount\"],\n installedPatchCount: item[\"installedPatchCount\"],\n failedPatchCount: item[\"failedPatchCount\"],\n startTime: !item[\"startTime\"] ? item[\"startTime\"] : new Date(item[\"startTime\"]),\n lastModifiedTime: !item[\"lastModifiedTime\"]\n ? item[\"lastModifiedTime\"]\n : new Date(item[\"lastModifiedTime\"]),\n error: !item[\"error\"] ? item[\"error\"] : apiErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** Gets resiliency solutions enabled on the VM. This includes backup or disaster recovery solutions. */\nexport interface ResiliencyProfile {\n /** Zone movement configuration. */\n zoneMovement?: ZoneMovement;\n}\n\nexport function resiliencyProfileSerializer(item: ResiliencyProfile): any {\n return {\n zoneMovement: !item[\"zoneMovement\"]\n ? item[\"zoneMovement\"]\n : zoneMovementSerializer(item[\"zoneMovement\"]),\n };\n}\n\nexport function resiliencyProfileDeserializer(item: any): ResiliencyProfile {\n return {\n zoneMovement: !item[\"zoneMovement\"]\n ? item[\"zoneMovement\"]\n : zoneMovementDeserializer(item[\"zoneMovement\"]),\n };\n}\n\n/** Describes zone movement configuration. This allows VM to be moved across availability zones during an outage. */\nexport interface ZoneMovement {\n /** Indicates if zone movement is enabled. By default isEnabled is set to false i.e VM can't be moved from one zone to another. */\n isEnabled?: boolean;\n}\n\nexport function zoneMovementSerializer(item: ZoneMovement): any {\n return { isEnabled: item[\"isEnabled\"] };\n}\n\nexport function zoneMovementDeserializer(item: any): ZoneMovement {\n return {\n isEnabled: item[\"isEnabled\"],\n };\n}\n\nexport function virtualMachineExtensionArraySerializer(\n result: Array<VirtualMachineExtension>,\n): any[] {\n return result.map((item) => {\n return virtualMachineExtensionSerializer(item);\n });\n}\n\nexport function virtualMachineExtensionArrayDeserializer(\n result: Array<VirtualMachineExtension>,\n): any[] {\n return result.map((item) => {\n return virtualMachineExtensionDeserializer(item);\n });\n}\n\n/** Describes a Virtual Machine Extension. */\nexport interface VirtualMachineExtension extends TrackedResource {\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n typePropertiesType?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The virtual machine extension instance view. */\n instanceView?: VirtualMachineExtensionInstanceView;\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n /** Collection of extension names after which this extension needs to be provisioned. */\n provisionAfterExtensions?: string[];\n}\n\nexport function virtualMachineExtensionSerializer(item: VirtualMachineExtension): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"enableAutomaticUpgrade\",\n \"settings\",\n \"protectedSettings\",\n \"instanceView\",\n \"suppressFailures\",\n \"protectedSettingsFromKeyVault\",\n \"provisionAfterExtensions\",\n ])\n ? undefined\n : _virtualMachineExtensionPropertiesSerializer(item),\n };\n}\n\nexport function virtualMachineExtensionDeserializer(item: any): VirtualMachineExtension {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineExtensionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Identity for the virtual machine. */\nexport interface VirtualMachineIdentity {\n /** The principal id of virtual machine identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. */\n type?: ResourceIdentityType;\n /** The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */\n userAssignedIdentities?: Record<string, UserAssignedIdentitiesValue>;\n}\n\nexport function virtualMachineIdentitySerializer(item: VirtualMachineIdentity): any {\n return {\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : userAssignedIdentitiesValueRecordSerializer(item[\"userAssignedIdentities\"]),\n };\n}\n\nexport function virtualMachineIdentityDeserializer(item: any): VirtualMachineIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : userAssignedIdentitiesValueRecordDeserializer(item[\"userAssignedIdentities\"]),\n };\n}\n\n/** Describes a Virtual Machine Update. */\nexport interface VirtualMachineUpdate extends UpdateResource {\n /** Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */\n plan?: Plan;\n /** The identity of the virtual machine, if configured. */\n identity?: VirtualMachineIdentity;\n /** The virtual machine zones. */\n zones?: string[];\n /** Specifies the hardware settings for the virtual machine. */\n hardwareProfile?: HardwareProfile;\n /** Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the virtual machine. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: StorageProfile;\n /** Specifies additional capabilities enabled or disabled on the virtual machine. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. */\n osProfile?: OSProfile;\n /** Specifies the network interfaces of the virtual machine. */\n networkProfile?: NetworkProfile;\n /** Specifies the Security related profile settings for the virtual machine. */\n securityProfile?: SecurityProfile;\n /** Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */\n diagnosticsProfile?: DiagnosticsProfile;\n /** Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. */\n availabilitySet?: SubResource;\n /** Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. */\n virtualMachineScaleSet?: SubResource;\n /** Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 */\n priority?: VirtualMachinePriorityTypes;\n /** Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. */\n evictionPolicy?: VirtualMachineEvictionPolicyTypes;\n /** Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. */\n billingProfile?: BillingProfile;\n /** Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. */\n host?: SubResource;\n /** Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. */\n hostGroup?: SubResource;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The virtual machine instance view. */\n readonly instanceView?: VirtualMachineInstanceView;\n /** Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */\n licenseType?: string;\n /** Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. */\n readonly vmId?: string;\n /** Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. */\n extensionsTimeBudget?: string;\n /** Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. */\n platformFaultDomain?: number;\n /** Specifies Scheduled Event related configurations. */\n scheduledEventsProfile?: ScheduledEventsProfile;\n /** UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. */\n userData?: string;\n /** Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. */\n capacityReservation?: CapacityReservationProfile;\n /** Specifies the gallery applications that should be made available to the VM/VMSS. */\n applicationProfile?: ApplicationProfile;\n /** Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Resiliency profile for the virtual machine. */\n resiliencyProfile?: ResiliencyProfile;\n}\n\nexport function virtualMachineUpdateSerializer(item: VirtualMachineUpdate): any {\n return {\n tags: item[\"tags\"],\n plan: !item[\"plan\"] ? item[\"plan\"] : planSerializer(item[\"plan\"]),\n properties: areAllPropsUndefined(item, [\n \"hardwareProfile\",\n \"scheduledEventsPolicy\",\n \"storageProfile\",\n \"additionalCapabilities\",\n \"osProfile\",\n \"networkProfile\",\n \"securityProfile\",\n \"diagnosticsProfile\",\n \"availabilitySet\",\n \"virtualMachineScaleSet\",\n \"proximityPlacementGroup\",\n \"priority\",\n \"evictionPolicy\",\n \"billingProfile\",\n \"host\",\n \"hostGroup\",\n \"licenseType\",\n \"extensionsTimeBudget\",\n \"platformFaultDomain\",\n \"scheduledEventsProfile\",\n \"userData\",\n \"capacityReservation\",\n \"applicationProfile\",\n \"resiliencyProfile\",\n ])\n ? undefined\n : _virtualMachineUpdatePropertiesSerializer(item),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineIdentitySerializer(item[\"identity\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The List Virtual Machine operation response. */\nexport interface _VirtualMachineListResult {\n /** The list of virtual machines. */\n value: VirtualMachine[];\n /** The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch the next page of Virtual Machines. */\n nextLink?: string;\n}\n\nexport function _virtualMachineListResultDeserializer(item: any): _VirtualMachineListResult {\n return {\n value: virtualMachineArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function virtualMachineArraySerializer(result: Array<VirtualMachine>): any[] {\n return result.map((item) => {\n return virtualMachineSerializer(item);\n });\n}\n\nexport function virtualMachineArrayDeserializer(result: Array<VirtualMachine>): any[] {\n return result.map((item) => {\n return virtualMachineDeserializer(item);\n });\n}\n\n/** Describes the properties of an AssessPatches result. */\nexport interface VirtualMachineAssessPatchesResult {\n /** The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\" */\n readonly status?: PatchOperationStatus;\n /** The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. */\n readonly assessmentActivityId?: string;\n /** 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. */\n readonly rebootPending?: boolean;\n /** The number of critical or security patches that have been detected as available and not yet installed. */\n readonly criticalAndSecurityPatchCount?: number;\n /** The number of all available patches excluding critical and security. */\n readonly otherPatchCount?: number;\n /** The UTC timestamp when the operation began. */\n readonly startDateTime?: Date;\n /** The list of patches that have been detected as available for installation. */\n readonly availablePatches?: VirtualMachineSoftwarePatchProperties[];\n /** The errors that were encountered during execution of the operation. The details array contains the list of them. */\n readonly error?: ApiError;\n}\n\nexport function virtualMachineAssessPatchesResultDeserializer(\n item: any,\n): VirtualMachineAssessPatchesResult {\n return {\n status: item[\"status\"],\n assessmentActivityId: item[\"assessmentActivityId\"],\n rebootPending: item[\"rebootPending\"],\n criticalAndSecurityPatchCount: item[\"criticalAndSecurityPatchCount\"],\n otherPatchCount: item[\"otherPatchCount\"],\n startDateTime: !item[\"startDateTime\"] ? item[\"startDateTime\"] : new Date(item[\"startDateTime\"]),\n availablePatches: !item[\"availablePatches\"]\n ? item[\"availablePatches\"]\n : virtualMachineSoftwarePatchPropertiesArrayDeserializer(item[\"availablePatches\"]),\n error: !item[\"error\"] ? item[\"error\"] : apiErrorDeserializer(item[\"error\"]),\n };\n}\n\nexport function virtualMachineSoftwarePatchPropertiesArrayDeserializer(\n result: Array<VirtualMachineSoftwarePatchProperties>,\n): any[] {\n return result.map((item) => {\n return virtualMachineSoftwarePatchPropertiesDeserializer(item);\n });\n}\n\n/** Describes the properties of a Virtual Machine software patch. */\nexport interface VirtualMachineSoftwarePatchProperties {\n /** A unique identifier for the patch. */\n readonly patchId?: string;\n /** The friendly name of the patch. */\n readonly name?: string;\n /** The version number of the patch. This property applies only to Linux patches. */\n readonly version?: string;\n /** The KBID of the patch. Only applies to Windows patches. */\n readonly kbId?: string;\n /** The classification(s) of the patch as provided by the patch publisher. */\n readonly classifications?: string[];\n /** Describes the reboot requirements of the patch. */\n readonly rebootBehavior?: VMGuestPatchRebootBehavior;\n /** The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. */\n readonly activityId?: string;\n /** The UTC timestamp when the repository published this patch. */\n readonly publishedDate?: Date;\n /** The UTC timestamp of the last update to this patch record. */\n readonly lastModifiedDateTime?: Date;\n /** Describes the availability of a given patch. */\n readonly assessmentState?: PatchAssessmentState;\n}\n\nexport function virtualMachineSoftwarePatchPropertiesDeserializer(\n item: any,\n): VirtualMachineSoftwarePatchProperties {\n return {\n patchId: item[\"patchId\"],\n name: item[\"name\"],\n version: item[\"version\"],\n kbId: item[\"kbId\"],\n classifications: !item[\"classifications\"]\n ? item[\"classifications\"]\n : item[\"classifications\"].map((p: any) => {\n return p;\n }),\n rebootBehavior: item[\"rebootBehavior\"],\n activityId: item[\"activityId\"],\n publishedDate: !item[\"publishedDate\"] ? item[\"publishedDate\"] : new Date(item[\"publishedDate\"]),\n lastModifiedDateTime: !item[\"lastModifiedDateTime\"]\n ? item[\"lastModifiedDateTime\"]\n : new Date(item[\"lastModifiedDateTime\"]),\n assessmentState: item[\"assessmentState\"],\n };\n}\n\n/** Describes the reboot requirements of the patch. */\nexport enum KnownVMGuestPatchRebootBehavior {\n /** Unknown */\n Unknown = \"Unknown\",\n /** NeverReboots */\n NeverReboots = \"NeverReboots\",\n /** AlwaysRequiresReboot */\n AlwaysRequiresReboot = \"AlwaysRequiresReboot\",\n /** CanRequestReboot */\n CanRequestReboot = \"CanRequestReboot\",\n}\n\n/**\n * Describes the reboot requirements of the patch. \\\n * {@link KnownVMGuestPatchRebootBehavior} can be used interchangeably with VMGuestPatchRebootBehavior,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **NeverReboots** \\\n * **AlwaysRequiresReboot** \\\n * **CanRequestReboot**\n */\nexport type VMGuestPatchRebootBehavior = string;\n\n/** Describes the availability of a given patch. */\nexport enum KnownPatchAssessmentState {\n /** Unknown */\n Unknown = \"Unknown\",\n /** Available */\n Available = \"Available\",\n}\n\n/**\n * Describes the availability of a given patch. \\\n * {@link KnownPatchAssessmentState} can be used interchangeably with PatchAssessmentState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **Available**\n */\nexport type PatchAssessmentState = string;\n\n/** Specifies the input for attaching and detaching a list of managed data disks. */\nexport interface AttachDetachDataDisksRequest {\n /** The list of managed data disks to be attached. */\n dataDisksToAttach?: DataDisksToAttach[];\n /** The list of managed data disks to be detached. */\n dataDisksToDetach?: DataDisksToDetach[];\n}\n\nexport function attachDetachDataDisksRequestSerializer(item: AttachDetachDataDisksRequest): any {\n return {\n dataDisksToAttach: !item[\"dataDisksToAttach\"]\n ? item[\"dataDisksToAttach\"]\n : dataDisksToAttachArraySerializer(item[\"dataDisksToAttach\"]),\n dataDisksToDetach: !item[\"dataDisksToDetach\"]\n ? item[\"dataDisksToDetach\"]\n : dataDisksToDetachArraySerializer(item[\"dataDisksToDetach\"]),\n };\n}\n\nexport function dataDisksToAttachArraySerializer(result: Array<DataDisksToAttach>): any[] {\n return result.map((item) => {\n return dataDisksToAttachSerializer(item);\n });\n}\n\n/** Describes the data disk to be attached. */\nexport interface DataDisksToAttach {\n /** ID of the managed data disk. */\n diskId: string;\n /** The logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. If not specified, lun would be auto assigned. */\n lun?: number;\n /** Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** */\n caching?: CachingTypes;\n /** Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. */\n deleteOption?: DiskDeleteOptionTypes;\n /** Specifies the customer managed disk encryption set resource id for the managed disk. */\n diskEncryptionSet?: DiskEncryptionSetParameters;\n /** Specifies whether writeAccelerator should be enabled or disabled on the disk. */\n writeAcceleratorEnabled?: boolean;\n}\n\nexport function dataDisksToAttachSerializer(item: DataDisksToAttach): any {\n return {\n diskId: item[\"diskId\"],\n lun: item[\"lun\"],\n caching: item[\"caching\"],\n deleteOption: item[\"deleteOption\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n };\n}\n\nexport function dataDisksToDetachArraySerializer(result: Array<DataDisksToDetach>): any[] {\n return result.map((item) => {\n return dataDisksToDetachSerializer(item);\n });\n}\n\n/** Describes the data disk to be detached. */\nexport interface DataDisksToDetach {\n /** ID of the managed data disk. */\n diskId: string;\n /** Supported options available for Detach of a disk from a VM. Refer to DetachOption object reference for more details. */\n detachOption?: DiskDetachOptionTypes;\n}\n\nexport function dataDisksToDetachSerializer(item: DataDisksToDetach): any {\n return { diskId: item[\"diskId\"], detachOption: item[\"detachOption\"] };\n}\n\n/** Capture Virtual Machine parameters. */\nexport interface VirtualMachineCaptureParameters {\n /** The captured virtual hard disk's name prefix. */\n vhdPrefix: string;\n /** The destination container name. */\n destinationContainerName: string;\n /** Specifies whether to overwrite the destination virtual hard disk, in case of conflict. */\n overwriteVhds: boolean;\n}\n\nexport function virtualMachineCaptureParametersSerializer(\n item: VirtualMachineCaptureParameters,\n): any {\n return {\n vhdPrefix: item[\"vhdPrefix\"],\n destinationContainerName: item[\"destinationContainerName\"],\n overwriteVhds: item[\"overwriteVhds\"],\n };\n}\n\n/** Output of virtual machine capture operation. */\nexport interface VirtualMachineCaptureResult extends SubResource {\n /** the schema of the captured virtual machine */\n readonly schema?: string;\n /** the version of the content */\n readonly contentVersion?: string;\n /** parameters of the captured virtual machine */\n readonly parameters?: any;\n /** a list of resource items of the captured virtual machine */\n readonly resources?: any[];\n}\n\nexport function virtualMachineCaptureResultDeserializer(item: any): VirtualMachineCaptureResult {\n return {\n id: item[\"id\"],\n schema: item[\"$schema\"],\n contentVersion: item[\"contentVersion\"],\n parameters: item[\"parameters\"],\n resources: !item[\"resources\"]\n ? item[\"resources\"]\n : item[\"resources\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Input for InstallPatches as directly received by the API */\nexport interface VirtualMachineInstallPatchesParameters {\n /** Specifies the maximum amount of time that the operation will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours) */\n maximumDuration?: string;\n /** Defines when it is acceptable to reboot a VM during a software update operation. */\n rebootSetting: VMGuestPatchRebootSetting;\n /** Input for InstallPatches on a Windows VM, as directly received by the API */\n windowsParameters?: WindowsParameters;\n /** Input for InstallPatches on a Linux VM, as directly received by the API */\n linuxParameters?: LinuxParameters;\n}\n\nexport function virtualMachineInstallPatchesParametersSerializer(\n item: VirtualMachineInstallPatchesParameters,\n): any {\n return {\n maximumDuration: item[\"maximumDuration\"],\n rebootSetting: item[\"rebootSetting\"],\n windowsParameters: !item[\"windowsParameters\"]\n ? item[\"windowsParameters\"]\n : windowsParametersSerializer(item[\"windowsParameters\"]),\n linuxParameters: !item[\"linuxParameters\"]\n ? item[\"linuxParameters\"]\n : linuxParametersSerializer(item[\"linuxParameters\"]),\n };\n}\n\n/** Defines when it is acceptable to reboot a VM during a software update operation. */\nexport enum KnownVMGuestPatchRebootSetting {\n /** IfRequired */\n IfRequired = \"IfRequired\",\n /** Never */\n Never = \"Never\",\n /** Always */\n Always = \"Always\",\n}\n\n/**\n * Defines when it is acceptable to reboot a VM during a software update operation. \\\n * {@link KnownVMGuestPatchRebootSetting} can be used interchangeably with VMGuestPatchRebootSetting,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **IfRequired** \\\n * **Never** \\\n * **Always**\n */\nexport type VMGuestPatchRebootSetting = string;\n\n/** Input for InstallPatches on a Windows VM, as directly received by the API */\nexport interface WindowsParameters {\n /** The update classifications to select when installing patches for Windows. */\n classificationsToInclude?: VMGuestPatchClassificationWindows[];\n /** Kbs to include in the patch operation */\n kbNumbersToInclude?: string[];\n /** Kbs to exclude in the patch operation */\n kbNumbersToExclude?: string[];\n /** Filters out Kbs that don't have an InstallationRebootBehavior of 'NeverReboots' when this is set to true. */\n excludeKbsRequiringReboot?: boolean;\n /** This is used to install patches that were published on or before this given max published date. */\n maxPatchPublishDate?: Date;\n /** This is used to include patches that match the given patch name masks. Alphanumeric strings and wildcard expressions consisting of * and ? are only supported as input values in the list. Null, empty and only whitespaces strings as inputs values are not supported. */\n patchNameMasksToInclude?: string[];\n /** This is used to exclude patches that match the given patch name masks. Alphanumeric strings and wildcard expressions consisting of * and ? are only supported as input values in the list. Null, empty and only whitespaces strings as inputs values are not supported. */\n patchNameMasksToExclude?: string[];\n}\n\nexport function windowsParametersSerializer(item: WindowsParameters): any {\n return {\n classificationsToInclude: !item[\"classificationsToInclude\"]\n ? item[\"classificationsToInclude\"]\n : item[\"classificationsToInclude\"].map((p: any) => {\n return p;\n }),\n kbNumbersToInclude: !item[\"kbNumbersToInclude\"]\n ? item[\"kbNumbersToInclude\"]\n : item[\"kbNumbersToInclude\"].map((p: any) => {\n return p;\n }),\n kbNumbersToExclude: !item[\"kbNumbersToExclude\"]\n ? item[\"kbNumbersToExclude\"]\n : item[\"kbNumbersToExclude\"].map((p: any) => {\n return p;\n }),\n excludeKbsRequiringReboot: item[\"excludeKbsRequiringReboot\"],\n maxPatchPublishDate: !item[\"maxPatchPublishDate\"]\n ? item[\"maxPatchPublishDate\"]\n : item[\"maxPatchPublishDate\"].toISOString(),\n patchNameMasksToInclude: !item[\"patchNameMasksToInclude\"]\n ? item[\"patchNameMasksToInclude\"]\n : item[\"patchNameMasksToInclude\"].map((p: any) => {\n return p;\n }),\n patchNameMasksToExclude: !item[\"patchNameMasksToExclude\"]\n ? item[\"patchNameMasksToExclude\"]\n : item[\"patchNameMasksToExclude\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Known values of {@link VMGuestPatchClassificationWindows} that the service accepts. */\nexport enum KnownVMGuestPatchClassificationWindows {\n /** Critical */\n Critical = \"Critical\",\n /** Security */\n Security = \"Security\",\n /** UpdateRollUp */\n UpdateRollUp = \"UpdateRollUp\",\n /** FeaturePack */\n FeaturePack = \"FeaturePack\",\n /** ServicePack */\n ServicePack = \"ServicePack\",\n /** Definition */\n Definition = \"Definition\",\n /** Tools */\n Tools = \"Tools\",\n /** Updates */\n Updates = \"Updates\",\n}\n\n/** Type of VMGuestPatchClassificationWindows */\nexport type VMGuestPatchClassificationWindows = string;\n\n/** Input for InstallPatches on a Linux VM, as directly received by the API */\nexport interface LinuxParameters {\n /** The update classifications to select when installing patches for Linux. */\n classificationsToInclude?: VMGuestPatchClassificationLinux[];\n /** packages to include in the patch operation. Format: packageName_packageVersion */\n packageNameMasksToInclude?: string[];\n /** packages to exclude in the patch operation. Format: packageName_packageVersion */\n packageNameMasksToExclude?: string[];\n /** This is used as a maintenance run identifier for Auto VM Guest Patching in Linux. */\n maintenanceRunId?: string;\n}\n\nexport function linuxParametersSerializer(item: LinuxParameters): any {\n return {\n classificationsToInclude: !item[\"classificationsToInclude\"]\n ? item[\"classificationsToInclude\"]\n : item[\"classificationsToInclude\"].map((p: any) => {\n return p;\n }),\n packageNameMasksToInclude: !item[\"packageNameMasksToInclude\"]\n ? item[\"packageNameMasksToInclude\"]\n : item[\"packageNameMasksToInclude\"].map((p: any) => {\n return p;\n }),\n packageNameMasksToExclude: !item[\"packageNameMasksToExclude\"]\n ? item[\"packageNameMasksToExclude\"]\n : item[\"packageNameMasksToExclude\"].map((p: any) => {\n return p;\n }),\n maintenanceRunId: item[\"maintenanceRunId\"],\n };\n}\n\n/** Known values of {@link VMGuestPatchClassificationLinux} that the service accepts. */\nexport enum KnownVMGuestPatchClassificationLinux {\n /** Critical */\n Critical = \"Critical\",\n /** Security */\n Security = \"Security\",\n /** Other */\n Other = \"Other\",\n}\n\n/** Type of VMGuestPatchClassificationLinux */\nexport type VMGuestPatchClassificationLinux = string;\n\n/** The result summary of an installation operation. */\nexport interface VirtualMachineInstallPatchesResult {\n /** The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", \"Unknown\" or \"CompletedWithWarnings.\" */\n readonly status?: PatchOperationStatus;\n /** The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. */\n readonly installationActivityId?: string;\n /** The reboot state of the VM following completion of the operation. */\n readonly rebootStatus?: VMGuestPatchRebootStatus;\n /** Whether the operation ran out of time before it completed all its intended actions. */\n readonly maintenanceWindowExceeded?: boolean;\n /** The number of patches that were not installed due to the user blocking their installation. */\n readonly excludedPatchCount?: number;\n /** The number of patches that were detected as available for install, but did not meet the operation's criteria. */\n readonly notSelectedPatchCount?: number;\n /** The number of patches that were identified as meeting the installation criteria, but were not able to be installed. Typically this happens when maintenanceWindowExceeded == true. */\n readonly pendingPatchCount?: number;\n /** The number of patches successfully installed. */\n readonly installedPatchCount?: number;\n /** The number of patches that could not be installed due to some issue. See errors for details. */\n readonly failedPatchCount?: number;\n /** The patches that were installed during the operation. */\n readonly patches?: PatchInstallationDetail[];\n /** The UTC timestamp when the operation began. */\n readonly startDateTime?: Date;\n /** The errors that were encountered during execution of the operation. The details array contains the list of them. */\n readonly error?: ApiError;\n}\n\nexport function virtualMachineInstallPatchesResultDeserializer(\n item: any,\n): VirtualMachineInstallPatchesResult {\n return {\n status: item[\"status\"],\n installationActivityId: item[\"installationActivityId\"],\n rebootStatus: item[\"rebootStatus\"],\n maintenanceWindowExceeded: item[\"maintenanceWindowExceeded\"],\n excludedPatchCount: item[\"excludedPatchCount\"],\n notSelectedPatchCount: item[\"notSelectedPatchCount\"],\n pendingPatchCount: item[\"pendingPatchCount\"],\n installedPatchCount: item[\"installedPatchCount\"],\n failedPatchCount: item[\"failedPatchCount\"],\n patches: !item[\"patches\"]\n ? item[\"patches\"]\n : patchInstallationDetailArrayDeserializer(item[\"patches\"]),\n startDateTime: !item[\"startDateTime\"] ? item[\"startDateTime\"] : new Date(item[\"startDateTime\"]),\n error: !item[\"error\"] ? item[\"error\"] : apiErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** The reboot state of the VM following completion of the operation. */\nexport enum KnownVMGuestPatchRebootStatus {\n /** Unknown */\n Unknown = \"Unknown\",\n /** NotNeeded */\n NotNeeded = \"NotNeeded\",\n /** Required */\n Required = \"Required\",\n /** Started */\n Started = \"Started\",\n /** Failed */\n Failed = \"Failed\",\n /** Completed */\n Completed = \"Completed\",\n}\n\n/**\n * The reboot state of the VM following completion of the operation. \\\n * {@link KnownVMGuestPatchRebootStatus} can be used interchangeably with VMGuestPatchRebootStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **NotNeeded** \\\n * **Required** \\\n * **Started** \\\n * **Failed** \\\n * **Completed**\n */\nexport type VMGuestPatchRebootStatus = string;\n\nexport function patchInstallationDetailArrayDeserializer(\n result: Array<PatchInstallationDetail>,\n): any[] {\n return result.map((item) => {\n return patchInstallationDetailDeserializer(item);\n });\n}\n\n/** Information about a specific patch that was encountered during an installation action. */\nexport interface PatchInstallationDetail {\n /** A unique identifier for the patch. */\n readonly patchId?: string;\n /** The friendly name of the patch. */\n readonly name?: string;\n /** The version string of the package. It may conform to Semantic Versioning. Only applies to Linux. */\n readonly version?: string;\n /** The KBID of the patch. Only applies to Windows patches. */\n readonly kbId?: string;\n /** The classification(s) of the patch as provided by the patch publisher. */\n readonly classifications?: string[];\n /** The state of the patch after the installation operation completed. */\n readonly installationState?: PatchInstallationState;\n}\n\nexport function patchInstallationDetailDeserializer(item: any): PatchInstallationDetail {\n return {\n patchId: item[\"patchId\"],\n name: item[\"name\"],\n version: item[\"version\"],\n kbId: item[\"kbId\"],\n classifications: !item[\"classifications\"]\n ? item[\"classifications\"]\n : item[\"classifications\"].map((p: any) => {\n return p;\n }),\n installationState: item[\"installationState\"],\n };\n}\n\n/** The state of the patch after the installation operation completed. */\nexport enum KnownPatchInstallationState {\n /** Unknown */\n Unknown = \"Unknown\",\n /** Installed */\n Installed = \"Installed\",\n /** Failed */\n Failed = \"Failed\",\n /** Excluded */\n Excluded = \"Excluded\",\n /** NotSelected */\n NotSelected = \"NotSelected\",\n /** Pending */\n Pending = \"Pending\",\n}\n\n/**\n * The state of the patch after the installation operation completed. \\\n * {@link KnownPatchInstallationState} can be used interchangeably with PatchInstallationState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **Installed** \\\n * **Failed** \\\n * **Excluded** \\\n * **NotSelected** \\\n * **Pending**\n */\nexport type PatchInstallationState = string;\n\n/** The SAS URIs of the console screenshot and serial log blobs. */\nexport interface RetrieveBootDiagnosticsDataResult {\n /** The console screenshot blob URI */\n readonly consoleScreenshotBlobUri?: string;\n /** The serial console log blob URI. */\n readonly serialConsoleLogBlobUri?: string;\n}\n\nexport function retrieveBootDiagnosticsDataResultDeserializer(\n item: any,\n): RetrieveBootDiagnosticsDataResult {\n return {\n consoleScreenshotBlobUri: item[\"consoleScreenshotBlobUri\"],\n serialConsoleLogBlobUri: item[\"serialConsoleLogBlobUri\"],\n };\n}\n\n/** The List Virtual Machine operation response. */\nexport interface _VirtualMachineSizeListResult {\n /** The list of virtual machine sizes. */\n value?: VirtualMachineSize[];\n /** The link to the next page of items. */\n nextLink?: string;\n}\n\nexport function _virtualMachineSizeListResultDeserializer(\n item: any,\n): _VirtualMachineSizeListResult {\n return {\n value: !item[\"value\"] ? item[\"value\"] : virtualMachineSizeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function virtualMachineSizeArrayDeserializer(result: Array<VirtualMachineSize>): any[] {\n return result.map((item) => {\n return virtualMachineSizeDeserializer(item);\n });\n}\n\n/** Describes the properties of a VM size. */\nexport interface VirtualMachineSize {\n /** The name of the virtual machine size. */\n name?: string;\n /** The number of cores supported by the virtual machine size. For Constrained vCPU capable VM sizes, this number represents the total vCPUs of quota that the VM uses. For accurate vCPU count, please refer to https://docs.microsoft.com/azure/virtual-machines/constrained-vcpu or https://docs.microsoft.com/rest/api/compute/resourceskus/list */\n numberOfCores?: number;\n /** The OS disk size, in MB, allowed by the virtual machine size. */\n osDiskSizeInMB?: number;\n /** The resource disk size, in MB, allowed by the virtual machine size. */\n resourceDiskSizeInMB?: number;\n /** The amount of memory, in MB, supported by the virtual machine size. */\n memoryInMB?: number;\n /** The maximum number of data disks that can be attached to the virtual machine size. */\n maxDataDiskCount?: number;\n}\n\nexport function virtualMachineSizeDeserializer(item: any): VirtualMachineSize {\n return {\n name: item[\"name\"],\n numberOfCores: item[\"numberOfCores\"],\n osDiskSizeInMB: item[\"osDiskSizeInMB\"],\n resourceDiskSizeInMB: item[\"resourceDiskSizeInMB\"],\n memoryInMB: item[\"memoryInMB\"],\n maxDataDiskCount: item[\"maxDataDiskCount\"],\n };\n}\n\n/** Capture Virtual Machine parameters. */\nexport interface RunCommandInput {\n /** Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands. */\n commandId: string;\n /** Optional. The script to be executed. When this value is given, the given script will override the default script of the command. */\n script?: string[];\n /** The run command parameters. */\n parameters?: RunCommandInputParameter[];\n}\n\nexport function runCommandInputSerializer(item: RunCommandInput): any {\n return {\n commandId: item[\"commandId\"],\n script: !item[\"script\"]\n ? item[\"script\"]\n : item[\"script\"].map((p: any) => {\n return p;\n }),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandInputParameterArraySerializer(item[\"parameters\"]),\n };\n}\n\nexport function runCommandInputParameterArraySerializer(\n result: Array<RunCommandInputParameter>,\n): any[] {\n return result.map((item) => {\n return runCommandInputParameterSerializer(item);\n });\n}\n\nexport function runCommandInputParameterArrayDeserializer(\n result: Array<RunCommandInputParameter>,\n): any[] {\n return result.map((item) => {\n return runCommandInputParameterDeserializer(item);\n });\n}\n\n/** Describes the properties of a run command parameter. */\nexport interface RunCommandInputParameter {\n /** The run command parameter name. */\n name: string;\n /** The run command parameter value. */\n value: string;\n}\n\nexport function runCommandInputParameterSerializer(item: RunCommandInputParameter): any {\n return { name: item[\"name\"], value: item[\"value\"] };\n}\n\nexport function runCommandInputParameterDeserializer(item: any): RunCommandInputParameter {\n return {\n name: item[\"name\"],\n value: item[\"value\"],\n };\n}\n\n/** model interface RunCommandResult */\nexport interface RunCommandResult {\n /** Run command operation response. */\n value?: InstanceViewStatus[];\n}\n\nexport function runCommandResultDeserializer(item: any): RunCommandResult {\n return {\n value: !item[\"value\"] ? item[\"value\"] : instanceViewStatusArrayDeserializer(item[\"value\"]),\n };\n}\n\n/** The input of virtual machine migration from Availability Set to Flexible Virtual Machine Scale Set. */\nexport interface MigrateVMToVirtualMachineScaleSetInput {\n /** The target zone of VM migration to Flexible Virtual Machine Scale Set. */\n targetZone?: string;\n /** The target compute fault domain of VM migration to Flexible Virtual Machine Scale Set. */\n targetFaultDomain?: number;\n /** The target Virtual Machine size of VM migration to Flexible Virtual Machine Scale Set. */\n targetVMSize?: string;\n}\n\nexport function migrateVMToVirtualMachineScaleSetInputSerializer(\n item: MigrateVMToVirtualMachineScaleSetInput,\n): any {\n return {\n targetZone: item[\"targetZone\"],\n targetFaultDomain: item[\"targetFaultDomain\"],\n targetVMSize: item[\"targetVMSize\"],\n };\n}\n\n/** Describes a Virtual Machine Extension. */\nexport interface VirtualMachineExtensionUpdate extends UpdateResource {\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */\n protectedSettings?: any;\n /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */\n suppressFailures?: boolean;\n /** The extensions protected settings that are passed by reference, and consumed from key vault */\n protectedSettingsFromKeyVault?: KeyVaultSecretReference;\n}\n\nexport function virtualMachineExtensionUpdateSerializer(item: VirtualMachineExtensionUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"enableAutomaticUpgrade\",\n \"settings\",\n \"protectedSettings\",\n \"suppressFailures\",\n \"protectedSettingsFromKeyVault\",\n ])\n ? undefined\n : _virtualMachineExtensionUpdatePropertiesSerializer(item),\n };\n}\n\n/** The List Extension operation response */\nexport interface VirtualMachineExtensionsListResult {\n /** The list of extensions */\n value?: VirtualMachineExtension[];\n}\n\nexport function virtualMachineExtensionsListResultDeserializer(\n item: any,\n): VirtualMachineExtensionsListResult {\n return {\n value: !item[\"value\"] ? item[\"value\"] : virtualMachineExtensionArrayDeserializer(item[\"value\"]),\n };\n}\n\n/** Describes a Virtual Machine Extension Image. */\nexport interface VirtualMachineExtensionImage extends TrackedResource {\n /** The operating system this extension supports. */\n operatingSystem?: string;\n /** The type of role (IaaS or PaaS) this extension supports. */\n computeRole?: string;\n /** The schema defined by publisher, where extension consumers should provide settings in a matching schema. */\n handlerSchema?: string;\n /** Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS. */\n vmScaleSetEnabled?: boolean;\n /** Whether the handler can support multiple extensions. */\n supportsMultipleExtensions?: boolean;\n}\n\nexport function virtualMachineExtensionImageDeserializer(item: any): VirtualMachineExtensionImage {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineExtensionImagePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Describes the properties of a Virtual Machine Extension Image. */\nexport interface VirtualMachineExtensionImageProperties {\n /** The operating system this extension supports. */\n operatingSystem: string;\n /** The type of role (IaaS or PaaS) this extension supports. */\n computeRole: string;\n /** The schema defined by publisher, where extension consumers should provide settings in a matching schema. */\n handlerSchema: string;\n /** Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS. */\n vmScaleSetEnabled?: boolean;\n /** Whether the handler can support multiple extensions. */\n supportsMultipleExtensions?: boolean;\n}\n\nexport function virtualMachineExtensionImagePropertiesDeserializer(\n item: any,\n): VirtualMachineExtensionImageProperties {\n return {\n operatingSystem: item[\"operatingSystem\"],\n computeRole: item[\"computeRole\"],\n handlerSchema: item[\"handlerSchema\"],\n vmScaleSetEnabled: item[\"vmScaleSetEnabled\"],\n supportsMultipleExtensions: item[\"supportsMultipleExtensions\"],\n };\n}\n\n/** Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. */\nexport interface AvailabilitySet extends TrackedResource {\n /** Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. */\n sku?: Sku;\n /** Update Domain count. */\n platformUpdateDomainCount?: number;\n /** Fault Domain count. */\n platformFaultDomainCount?: number;\n /** A list of references to all virtual machines in the availability set. */\n virtualMachines?: SubResource[];\n /** Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** The resource status information. */\n readonly statuses?: InstanceViewStatus[];\n /** Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the availability set. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Describes the migration properties on the Availability Set. */\n readonly virtualMachineScaleSetMigrationInfo?: VirtualMachineScaleSetMigrationInfo;\n}\n\nexport function availabilitySetSerializer(item: AvailabilitySet): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"platformUpdateDomainCount\",\n \"platformFaultDomainCount\",\n \"virtualMachines\",\n \"proximityPlacementGroup\",\n \"scheduledEventsPolicy\",\n ])\n ? undefined\n : _availabilitySetPropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n };\n}\n\nexport function availabilitySetDeserializer(item: any): AvailabilitySet {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _availabilitySetPropertiesDeserializer(item[\"properties\"])),\n sku: !item[\"sku\"] ? item[\"sku\"] : skuDeserializer(item[\"sku\"]),\n };\n}\n\n/** The instance view of a resource. */\nexport interface AvailabilitySetProperties {\n /** Update Domain count. */\n platformUpdateDomainCount?: number;\n /** Fault Domain count. */\n platformFaultDomainCount?: number;\n /** A list of references to all virtual machines in the availability set. */\n virtualMachines?: SubResource[];\n /** Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** The resource status information. */\n readonly statuses?: InstanceViewStatus[];\n /** Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the availability set. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Describes the migration properties on the Availability Set. */\n readonly virtualMachineScaleSetMigrationInfo?: VirtualMachineScaleSetMigrationInfo;\n}\n\nexport function availabilitySetPropertiesSerializer(item: AvailabilitySetProperties): any {\n return {\n platformUpdateDomainCount: item[\"platformUpdateDomainCount\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceArraySerializer(item[\"virtualMachines\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n };\n}\n\nexport function availabilitySetPropertiesDeserializer(item: any): AvailabilitySetProperties {\n return {\n platformUpdateDomainCount: item[\"platformUpdateDomainCount\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceArrayDeserializer(item[\"virtualMachines\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n virtualMachineScaleSetMigrationInfo: !item[\"virtualMachineScaleSetMigrationInfo\"]\n ? item[\"virtualMachineScaleSetMigrationInfo\"]\n : virtualMachineScaleSetMigrationInfoDeserializer(\n item[\"virtualMachineScaleSetMigrationInfo\"],\n ),\n };\n}\n\n/** Describes the Availability Set properties related to migration to Flexible Virtual Machine Scale Set. */\nexport interface VirtualMachineScaleSetMigrationInfo {\n /** Indicates the target Virtual Machine ScaleSet properties upon triggering a seamless migration without downtime of the VMs via the ConvertToVirtualMachineScaleSet API. */\n readonly defaultVirtualMachineScaleSetInfo?: DefaultVirtualMachineScaleSetInfo;\n /** Specifies the Virtual Machine Scale Set that the Availability Set is migrated to. */\n readonly migrateToVirtualMachineScaleSet?: SubResource;\n}\n\nexport function virtualMachineScaleSetMigrationInfoDeserializer(\n item: any,\n): VirtualMachineScaleSetMigrationInfo {\n return {\n defaultVirtualMachineScaleSetInfo: !item[\"defaultVirtualMachineScaleSetInfo\"]\n ? item[\"defaultVirtualMachineScaleSetInfo\"]\n : defaultVirtualMachineScaleSetInfoDeserializer(item[\"defaultVirtualMachineScaleSetInfo\"]),\n migrateToVirtualMachineScaleSet: !item[\"migrateToVirtualMachineScaleSet\"]\n ? item[\"migrateToVirtualMachineScaleSet\"]\n : subResourceDeserializer(item[\"migrateToVirtualMachineScaleSet\"]),\n };\n}\n\n/** Indicates the target Virtual Machine ScaleSet properties upon triggering a seamless migration without downtime of the VMs via the ConvertToVirtualMachineScaleSet API. */\nexport interface DefaultVirtualMachineScaleSetInfo {\n /** Indicates if the the maximum capacity of the default migrated Virtual Machine Scale Set after its migration will be constrained to a limited number of VMs. */\n readonly constrainedMaximumCapacity?: boolean;\n /** The default Virtual Machine ScaleSet Uri that the Availability Set will be moved to upon triggering a seamless migration via the ConvertToVirtualMachineScaleSet API. */\n readonly defaultVirtualMachineScaleSet?: SubResource;\n}\n\nexport function defaultVirtualMachineScaleSetInfoDeserializer(\n item: any,\n): DefaultVirtualMachineScaleSetInfo {\n return {\n constrainedMaximumCapacity: item[\"constrainedMaximumCapacity\"],\n defaultVirtualMachineScaleSet: !item[\"defaultVirtualMachineScaleSet\"]\n ? item[\"defaultVirtualMachineScaleSet\"]\n : subResourceDeserializer(item[\"defaultVirtualMachineScaleSet\"]),\n };\n}\n\n/** Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated. */\nexport interface AvailabilitySetUpdate extends UpdateResource {\n /** Sku of the availability set */\n sku?: Sku;\n /** Update Domain count. */\n platformUpdateDomainCount?: number;\n /** Fault Domain count. */\n platformFaultDomainCount?: number;\n /** A list of references to all virtual machines in the availability set. */\n virtualMachines?: SubResource[];\n /** Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. */\n proximityPlacementGroup?: SubResource;\n /** The resource status information. */\n readonly statuses?: InstanceViewStatus[];\n /** Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the availability set. */\n scheduledEventsPolicy?: ScheduledEventsPolicy;\n /** Describes the migration properties on the Availability Set. */\n readonly virtualMachineScaleSetMigrationInfo?: VirtualMachineScaleSetMigrationInfo;\n}\n\nexport function availabilitySetUpdateSerializer(item: AvailabilitySetUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"platformUpdateDomainCount\",\n \"platformFaultDomainCount\",\n \"virtualMachines\",\n \"proximityPlacementGroup\",\n \"scheduledEventsPolicy\",\n ])\n ? undefined\n : _availabilitySetUpdatePropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n };\n}\n\n/** The List Availability Set operation response. */\nexport interface _AvailabilitySetListResult {\n /** The list of availability sets. */\n value: AvailabilitySet[];\n /** The URI to fetch the next page of AvailabilitySets. Call ListNext() with this URI to fetch the next page of AvailabilitySets. */\n nextLink?: string;\n}\n\nexport function _availabilitySetListResultDeserializer(item: any): _AvailabilitySetListResult {\n return {\n value: availabilitySetArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function availabilitySetArraySerializer(result: Array<AvailabilitySet>): any[] {\n return result.map((item) => {\n return availabilitySetSerializer(item);\n });\n}\n\nexport function availabilitySetArrayDeserializer(result: Array<AvailabilitySet>): any[] {\n return result.map((item) => {\n return availabilitySetDeserializer(item);\n });\n}\n\n/** Describes the Virtual Machine Scale Set to migrate from Availability Set. */\nexport interface MigrateToVirtualMachineScaleSetInput {\n /** Specifies information about the Virtual Machine Scale Set that the Availability Set should be migrated to. Minimum api‐version: 2024‐11‐01. */\n virtualMachineScaleSetFlexible: SubResource;\n}\n\nexport function migrateToVirtualMachineScaleSetInputSerializer(\n item: MigrateToVirtualMachineScaleSetInput,\n): any {\n return {\n virtualMachineScaleSetFlexible: subResourceSerializer(item[\"virtualMachineScaleSetFlexible\"]),\n };\n}\n\n/** Describes the Virtual Machine Scale Set to convert from Availability Set. */\nexport interface ConvertToVirtualMachineScaleSetInput {\n /** Specifies information about the Virtual Machine Scale Set that the Availability Set should be converted to. */\n virtualMachineScaleSetName?: string;\n}\n\nexport function convertToVirtualMachineScaleSetInputSerializer(\n item: ConvertToVirtualMachineScaleSetInput,\n): any {\n return { virtualMachineScaleSetName: item[\"virtualMachineScaleSetName\"] };\n}\n\n/** Specifies information about the proximity placement group. */\nexport interface ProximityPlacementGroup extends TrackedResource {\n /** The availability zones. */\n zones?: string[];\n /** Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. */\n proximityPlacementGroupType?: ProximityPlacementGroupType;\n /** A list of references to all virtual machines in the proximity placement group. */\n readonly virtualMachines?: SubResourceWithColocationStatus[];\n /** A list of references to all virtual machine scale sets in the proximity placement group. */\n readonly virtualMachineScaleSets?: SubResourceWithColocationStatus[];\n /** A list of references to all availability sets in the proximity placement group. */\n readonly availabilitySets?: SubResourceWithColocationStatus[];\n /** Describes colocation status of the Proximity Placement Group. */\n colocationStatus?: InstanceViewStatus;\n /** Specifies the user intent of the proximity placement group. */\n intent?: ProximityPlacementGroupPropertiesIntent;\n}\n\nexport function proximityPlacementGroupSerializer(item: ProximityPlacementGroup): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"proximityPlacementGroupType\",\n \"colocationStatus\",\n \"intent\",\n ])\n ? undefined\n : _proximityPlacementGroupPropertiesSerializer(item),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function proximityPlacementGroupDeserializer(item: any): ProximityPlacementGroup {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _proximityPlacementGroupPropertiesDeserializer(item[\"properties\"])),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Describes the properties of a Proximity Placement Group. */\nexport interface ProximityPlacementGroupProperties {\n /** Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. */\n proximityPlacementGroupType?: ProximityPlacementGroupType;\n /** A list of references to all virtual machines in the proximity placement group. */\n readonly virtualMachines?: SubResourceWithColocationStatus[];\n /** A list of references to all virtual machine scale sets in the proximity placement group. */\n readonly virtualMachineScaleSets?: SubResourceWithColocationStatus[];\n /** A list of references to all availability sets in the proximity placement group. */\n readonly availabilitySets?: SubResourceWithColocationStatus[];\n /** Describes colocation status of the Proximity Placement Group. */\n colocationStatus?: InstanceViewStatus;\n /** Specifies the user intent of the proximity placement group. */\n intent?: ProximityPlacementGroupPropertiesIntent;\n}\n\nexport function proximityPlacementGroupPropertiesSerializer(\n item: ProximityPlacementGroupProperties,\n): any {\n return {\n proximityPlacementGroupType: item[\"proximityPlacementGroupType\"],\n colocationStatus: !item[\"colocationStatus\"]\n ? item[\"colocationStatus\"]\n : instanceViewStatusSerializer(item[\"colocationStatus\"]),\n intent: !item[\"intent\"]\n ? item[\"intent\"]\n : proximityPlacementGroupPropertiesIntentSerializer(item[\"intent\"]),\n };\n}\n\nexport function proximityPlacementGroupPropertiesDeserializer(\n item: any,\n): ProximityPlacementGroupProperties {\n return {\n proximityPlacementGroupType: item[\"proximityPlacementGroupType\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceWithColocationStatusArrayDeserializer(item[\"virtualMachines\"]),\n virtualMachineScaleSets: !item[\"virtualMachineScaleSets\"]\n ? item[\"virtualMachineScaleSets\"]\n : subResourceWithColocationStatusArrayDeserializer(item[\"virtualMachineScaleSets\"]),\n availabilitySets: !item[\"availabilitySets\"]\n ? item[\"availabilitySets\"]\n : subResourceWithColocationStatusArrayDeserializer(item[\"availabilitySets\"]),\n colocationStatus: !item[\"colocationStatus\"]\n ? item[\"colocationStatus\"]\n : instanceViewStatusDeserializer(item[\"colocationStatus\"]),\n intent: !item[\"intent\"]\n ? item[\"intent\"]\n : proximityPlacementGroupPropertiesIntentDeserializer(item[\"intent\"]),\n };\n}\n\n/** Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. */\nexport enum KnownProximityPlacementGroupType {\n /** Standard */\n Standard = \"Standard\",\n /** Ultra */\n Ultra = \"Ultra\",\n}\n\n/**\n * Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. \\\n * {@link KnownProximityPlacementGroupType} can be used interchangeably with ProximityPlacementGroupType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard** \\\n * **Ultra**\n */\nexport type ProximityPlacementGroupType = string;\n\nexport function subResourceWithColocationStatusArrayDeserializer(\n result: Array<SubResourceWithColocationStatus>,\n): any[] {\n return result.map((item) => {\n return subResourceWithColocationStatusDeserializer(item);\n });\n}\n\n/** model interface SubResourceWithColocationStatus */\nexport interface SubResourceWithColocationStatus extends SubResource {\n /** Describes colocation status of a resource in the Proximity Placement Group. */\n colocationStatus?: InstanceViewStatus;\n}\n\nexport function subResourceWithColocationStatusDeserializer(\n item: any,\n): SubResourceWithColocationStatus {\n return {\n id: item[\"id\"],\n colocationStatus: !item[\"colocationStatus\"]\n ? item[\"colocationStatus\"]\n : instanceViewStatusDeserializer(item[\"colocationStatus\"]),\n };\n}\n\n/** Specifies the user intent of the proximity placement group. */\nexport interface ProximityPlacementGroupPropertiesIntent {\n /** Specifies possible sizes of virtual machines that can be created in the proximity placement group. */\n vmSizes?: string[];\n}\n\nexport function proximityPlacementGroupPropertiesIntentSerializer(\n item: ProximityPlacementGroupPropertiesIntent,\n): any {\n return {\n vmSizes: !item[\"vmSizes\"]\n ? item[\"vmSizes\"]\n : item[\"vmSizes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function proximityPlacementGroupPropertiesIntentDeserializer(\n item: any,\n): ProximityPlacementGroupPropertiesIntent {\n return {\n vmSizes: !item[\"vmSizes\"]\n ? item[\"vmSizes\"]\n : item[\"vmSizes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Specifies information about the proximity placement group. */\nexport interface ProximityPlacementGroupUpdate extends UpdateResource {}\n\nexport function proximityPlacementGroupUpdateSerializer(item: ProximityPlacementGroupUpdate): any {\n return { tags: item[\"tags\"] };\n}\n\n/** The List Proximity Placement Group operation response. */\nexport interface _ProximityPlacementGroupListResult {\n /** The list of proximity placement groups. */\n value: ProximityPlacementGroup[];\n /** The URI to fetch the next page of proximity placement groups. */\n nextLink?: string;\n}\n\nexport function _proximityPlacementGroupListResultDeserializer(\n item: any,\n): _ProximityPlacementGroupListResult {\n return {\n value: proximityPlacementGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function proximityPlacementGroupArraySerializer(\n result: Array<ProximityPlacementGroup>,\n): any[] {\n return result.map((item) => {\n return proximityPlacementGroupSerializer(item);\n });\n}\n\nexport function proximityPlacementGroupArrayDeserializer(\n result: Array<ProximityPlacementGroup>,\n): any[] {\n return result.map((item) => {\n return proximityPlacementGroupDeserializer(item);\n });\n}\n\n/** Specifies information about the dedicated host group that the dedicated hosts should be assigned to. Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. */\nexport interface DedicatedHostGroup extends TrackedResource {\n /** The availability zones. */\n zones?: string[];\n /** Number of fault domains that the host group can span. */\n platformFaultDomainCount?: number;\n /** A list of references to all dedicated hosts in the dedicated host group. */\n readonly hosts?: SubResourceReadOnly[];\n /** The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. */\n readonly instanceView?: DedicatedHostGroupInstanceView;\n /** Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. */\n supportAutomaticPlacement?: boolean;\n /** Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. */\n additionalCapabilities?: DedicatedHostGroupPropertiesAdditionalCapabilities;\n}\n\nexport function dedicatedHostGroupSerializer(item: DedicatedHostGroup): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"platformFaultDomainCount\",\n \"supportAutomaticPlacement\",\n \"additionalCapabilities\",\n ])\n ? undefined\n : _dedicatedHostGroupPropertiesSerializer(item),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function dedicatedHostGroupDeserializer(item: any): DedicatedHostGroup {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _dedicatedHostGroupPropertiesDeserializer(item[\"properties\"])),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Dedicated Host Group Properties. */\nexport interface DedicatedHostGroupProperties {\n /** Number of fault domains that the host group can span. */\n platformFaultDomainCount: number;\n /** A list of references to all dedicated hosts in the dedicated host group. */\n readonly hosts?: SubResourceReadOnly[];\n /** The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. */\n readonly instanceView?: DedicatedHostGroupInstanceView;\n /** Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. */\n supportAutomaticPlacement?: boolean;\n /** Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. */\n additionalCapabilities?: DedicatedHostGroupPropertiesAdditionalCapabilities;\n}\n\nexport function dedicatedHostGroupPropertiesSerializer(item: DedicatedHostGroupProperties): any {\n return {\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n supportAutomaticPlacement: item[\"supportAutomaticPlacement\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : dedicatedHostGroupPropertiesAdditionalCapabilitiesSerializer(\n item[\"additionalCapabilities\"],\n ),\n };\n}\n\nexport function dedicatedHostGroupPropertiesDeserializer(item: any): DedicatedHostGroupProperties {\n return {\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n hosts: !item[\"hosts\"] ? item[\"hosts\"] : subResourceReadOnlyArrayDeserializer(item[\"hosts\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : dedicatedHostGroupInstanceViewDeserializer(item[\"instanceView\"]),\n supportAutomaticPlacement: item[\"supportAutomaticPlacement\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : dedicatedHostGroupPropertiesAdditionalCapabilitiesDeserializer(\n item[\"additionalCapabilities\"],\n ),\n };\n}\n\n/** model interface DedicatedHostGroupInstanceView */\nexport interface DedicatedHostGroupInstanceView {\n /** List of instance view of the dedicated hosts under the dedicated host group. */\n hosts?: DedicatedHostInstanceViewWithName[];\n}\n\nexport function dedicatedHostGroupInstanceViewDeserializer(\n item: any,\n): DedicatedHostGroupInstanceView {\n return {\n hosts: !item[\"hosts\"]\n ? item[\"hosts\"]\n : dedicatedHostInstanceViewWithNameArrayDeserializer(item[\"hosts\"]),\n };\n}\n\nexport function dedicatedHostInstanceViewWithNameArrayDeserializer(\n result: Array<DedicatedHostInstanceViewWithName>,\n): any[] {\n return result.map((item) => {\n return dedicatedHostInstanceViewWithNameDeserializer(item);\n });\n}\n\n/** The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group. */\nexport interface DedicatedHostInstanceViewWithName extends DedicatedHostInstanceView {\n /** The name of the dedicated host. */\n readonly name?: string;\n}\n\nexport function dedicatedHostInstanceViewWithNameDeserializer(\n item: any,\n): DedicatedHostInstanceViewWithName {\n return {\n assetId: item[\"assetId\"],\n availableCapacity: !item[\"availableCapacity\"]\n ? item[\"availableCapacity\"]\n : dedicatedHostAvailableCapacityDeserializer(item[\"availableCapacity\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n name: item[\"name\"],\n };\n}\n\n/** Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. */\nexport interface DedicatedHostGroupPropertiesAdditionalCapabilities {\n /** The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. */\n ultraSSDEnabled?: boolean;\n}\n\nexport function dedicatedHostGroupPropertiesAdditionalCapabilitiesSerializer(\n item: DedicatedHostGroupPropertiesAdditionalCapabilities,\n): any {\n return { ultraSSDEnabled: item[\"ultraSSDEnabled\"] };\n}\n\nexport function dedicatedHostGroupPropertiesAdditionalCapabilitiesDeserializer(\n item: any,\n): DedicatedHostGroupPropertiesAdditionalCapabilities {\n return {\n ultraSSDEnabled: item[\"ultraSSDEnabled\"],\n };\n}\n\n/** The instance view of a dedicated host. */\nexport interface DedicatedHostInstanceView {\n /** Specifies the unique id of the dedicated physical machine on which the dedicated host resides. */\n readonly assetId?: string;\n /** Unutilized capacity of the dedicated host. */\n availableCapacity?: DedicatedHostAvailableCapacity;\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n}\n\nexport function dedicatedHostInstanceViewDeserializer(item: any): DedicatedHostInstanceView {\n return {\n assetId: item[\"assetId\"],\n availableCapacity: !item[\"availableCapacity\"]\n ? item[\"availableCapacity\"]\n : dedicatedHostAvailableCapacityDeserializer(item[\"availableCapacity\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n };\n}\n\n/** Dedicated host unutilized capacity. */\nexport interface DedicatedHostAvailableCapacity {\n /** The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host. */\n allocatableVMs?: DedicatedHostAllocatableVM[];\n}\n\nexport function dedicatedHostAvailableCapacityDeserializer(\n item: any,\n): DedicatedHostAvailableCapacity {\n return {\n allocatableVMs: !item[\"allocatableVMs\"]\n ? item[\"allocatableVMs\"]\n : dedicatedHostAllocatableVMArrayDeserializer(item[\"allocatableVMs\"]),\n };\n}\n\nexport function dedicatedHostAllocatableVMArrayDeserializer(\n result: Array<DedicatedHostAllocatableVM>,\n): any[] {\n return result.map((item) => {\n return dedicatedHostAllocatableVMDeserializer(item);\n });\n}\n\n/** Represents the dedicated host unutilized capacity in terms of a specific VM size. */\nexport interface DedicatedHostAllocatableVM {\n /** VM size in terms of which the unutilized capacity is represented. */\n vmSize?: string;\n /** Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity. */\n count?: number;\n}\n\nexport function dedicatedHostAllocatableVMDeserializer(item: any): DedicatedHostAllocatableVM {\n return {\n vmSize: item[\"vmSize\"],\n count: item[\"count\"],\n };\n}\n\n/** Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated. */\nexport interface DedicatedHostGroupUpdate extends UpdateResource {\n /** Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. */\n zones?: string[];\n /** Number of fault domains that the host group can span. */\n platformFaultDomainCount?: number;\n /** A list of references to all dedicated hosts in the dedicated host group. */\n readonly hosts?: SubResourceReadOnly[];\n /** The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. */\n readonly instanceView?: DedicatedHostGroupInstanceView;\n /** Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. */\n supportAutomaticPlacement?: boolean;\n /** Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. */\n additionalCapabilities?: DedicatedHostGroupPropertiesAdditionalCapabilities;\n}\n\nexport function dedicatedHostGroupUpdateSerializer(item: DedicatedHostGroupUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"platformFaultDomainCount\",\n \"supportAutomaticPlacement\",\n \"additionalCapabilities\",\n ])\n ? undefined\n : _dedicatedHostGroupUpdatePropertiesSerializer(item),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The List Dedicated Host Group with resource group response. */\nexport interface _DedicatedHostGroupListResult {\n /** The list of dedicated host groups. */\n value: DedicatedHostGroup[];\n /** The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with this URI to fetch the next page of Dedicated Host Groups. */\n nextLink?: string;\n}\n\nexport function _dedicatedHostGroupListResultDeserializer(\n item: any,\n): _DedicatedHostGroupListResult {\n return {\n value: dedicatedHostGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function dedicatedHostGroupArraySerializer(result: Array<DedicatedHostGroup>): any[] {\n return result.map((item) => {\n return dedicatedHostGroupSerializer(item);\n });\n}\n\nexport function dedicatedHostGroupArrayDeserializer(result: Array<DedicatedHostGroup>): any[] {\n return result.map((item) => {\n return dedicatedHostGroupDeserializer(item);\n });\n}\n\n/** Specifies information about the Dedicated host. */\nexport interface DedicatedHost extends TrackedResource {\n /** SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. */\n sku: Sku;\n /** Fault domain of the dedicated host within a dedicated host group. */\n platformFaultDomain?: number;\n /** Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. */\n autoReplaceOnFailure?: boolean;\n /** A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. */\n readonly hostId?: string;\n /** A list of references to all virtual machines in the Dedicated Host. */\n readonly virtualMachines?: SubResourceReadOnly[];\n /** Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** */\n licenseType?: DedicatedHostLicenseTypes;\n /** The date when the host was first provisioned. */\n readonly provisioningTime?: Date;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The dedicated host instance view. */\n readonly instanceView?: DedicatedHostInstanceView;\n /** Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n}\n\nexport function dedicatedHostSerializer(item: DedicatedHost): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"platformFaultDomain\",\n \"autoReplaceOnFailure\",\n \"licenseType\",\n ])\n ? undefined\n : _dedicatedHostPropertiesSerializer(item),\n sku: skuSerializer(item[\"sku\"]),\n };\n}\n\nexport function dedicatedHostDeserializer(item: any): DedicatedHost {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _dedicatedHostPropertiesDeserializer(item[\"properties\"])),\n sku: skuDeserializer(item[\"sku\"]),\n };\n}\n\n/** Properties of the dedicated host. */\nexport interface DedicatedHostProperties {\n /** Fault domain of the dedicated host within a dedicated host group. */\n platformFaultDomain?: number;\n /** Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. */\n autoReplaceOnFailure?: boolean;\n /** A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. */\n readonly hostId?: string;\n /** A list of references to all virtual machines in the Dedicated Host. */\n readonly virtualMachines?: SubResourceReadOnly[];\n /** Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** */\n licenseType?: DedicatedHostLicenseTypes;\n /** The date when the host was first provisioned. */\n readonly provisioningTime?: Date;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The dedicated host instance view. */\n readonly instanceView?: DedicatedHostInstanceView;\n /** Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n}\n\nexport function dedicatedHostPropertiesSerializer(item: DedicatedHostProperties): any {\n return {\n platformFaultDomain: item[\"platformFaultDomain\"],\n autoReplaceOnFailure: item[\"autoReplaceOnFailure\"],\n licenseType: item[\"licenseType\"],\n };\n}\n\nexport function dedicatedHostPropertiesDeserializer(item: any): DedicatedHostProperties {\n return {\n platformFaultDomain: item[\"platformFaultDomain\"],\n autoReplaceOnFailure: item[\"autoReplaceOnFailure\"],\n hostId: item[\"hostId\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachines\"]),\n licenseType: item[\"licenseType\"],\n provisioningTime: !item[\"provisioningTime\"]\n ? item[\"provisioningTime\"]\n : new Date(item[\"provisioningTime\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : dedicatedHostInstanceViewDeserializer(item[\"instanceView\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n };\n}\n\n/** Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** */\nexport type DedicatedHostLicenseTypes =\n | \"None\"\n | \"Windows_Server_Hybrid\"\n | \"Windows_Server_Perpetual\";\n\n/** Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated. */\nexport interface DedicatedHostUpdate extends UpdateResource {\n /** [List all available dedicated host sizes for resizing] (https://docs.microsoft.com/rest/api/compute/dedicated-hosts/listavailablesizes). Resizing can be only used to scale up DedicatedHost. Only name is required to be set. */\n sku?: Sku;\n /** Fault domain of the dedicated host within a dedicated host group. */\n platformFaultDomain?: number;\n /** Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. */\n autoReplaceOnFailure?: boolean;\n /** A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. */\n readonly hostId?: string;\n /** A list of references to all virtual machines in the Dedicated Host. */\n readonly virtualMachines?: SubResourceReadOnly[];\n /** Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** */\n licenseType?: DedicatedHostLicenseTypes;\n /** The date when the host was first provisioned. */\n readonly provisioningTime?: Date;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The dedicated host instance view. */\n readonly instanceView?: DedicatedHostInstanceView;\n /** Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n}\n\nexport function dedicatedHostUpdateSerializer(item: DedicatedHostUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"platformFaultDomain\",\n \"autoReplaceOnFailure\",\n \"licenseType\",\n ])\n ? undefined\n : _dedicatedHostUpdatePropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n };\n}\n\n/** The list dedicated host operation response. */\nexport interface _DedicatedHostListResult {\n /** The list of dedicated hosts. */\n value: DedicatedHost[];\n /** The URI to fetch the next page of dedicated hosts. Call ListNext() with this URI to fetch the next page of dedicated hosts. */\n nextLink?: string;\n}\n\nexport function _dedicatedHostListResultDeserializer(item: any): _DedicatedHostListResult {\n return {\n value: dedicatedHostArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function dedicatedHostArraySerializer(result: Array<DedicatedHost>): any[] {\n return result.map((item) => {\n return dedicatedHostSerializer(item);\n });\n}\n\nexport function dedicatedHostArrayDeserializer(result: Array<DedicatedHost>): any[] {\n return result.map((item) => {\n return dedicatedHostDeserializer(item);\n });\n}\n\n/** The List Dedicated Host sizes operation response. */\nexport interface _DedicatedHostSizeListResult {\n /** The list of dedicated host sizes. */\n value?: string[];\n /** The link to the next page of items. */\n nextLink?: string;\n}\n\nexport function _dedicatedHostSizeListResultDeserializer(item: any): _DedicatedHostSizeListResult {\n return {\n value: !item[\"value\"]\n ? item[\"value\"]\n : item[\"value\"].map((p: any) => {\n return p;\n }),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. */\nexport interface Image extends TrackedResource {\n /** The extended location of the Image. */\n extendedLocation?: ExtendedLocation;\n /** The source virtual machine from which Image is created. */\n sourceVirtualMachine?: SubResource;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: ImageStorageProfile;\n /** The provisioning state. */\n readonly provisioningState?: string;\n /** Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. */\n hyperVGeneration?: HyperVGenerationTypes;\n}\n\nexport function imageSerializer(item: Image): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"sourceVirtualMachine\",\n \"storageProfile\",\n \"hyperVGeneration\",\n ])\n ? undefined\n : _imagePropertiesSerializer(item),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationSerializer(item[\"extendedLocation\"]),\n };\n}\n\nexport function imageDeserializer(item: any): Image {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _imagePropertiesDeserializer(item[\"properties\"])),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationDeserializer(item[\"extendedLocation\"]),\n };\n}\n\n/** Describes the properties of an Image. */\nexport interface ImageProperties {\n /** The source virtual machine from which Image is created. */\n sourceVirtualMachine?: SubResource;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: ImageStorageProfile;\n /** The provisioning state. */\n readonly provisioningState?: string;\n /** Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. */\n hyperVGeneration?: HyperVGenerationTypes;\n}\n\nexport function imagePropertiesSerializer(item: ImageProperties): any {\n return {\n sourceVirtualMachine: !item[\"sourceVirtualMachine\"]\n ? item[\"sourceVirtualMachine\"]\n : subResourceSerializer(item[\"sourceVirtualMachine\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : imageStorageProfileSerializer(item[\"storageProfile\"]),\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\nexport function imagePropertiesDeserializer(item: any): ImageProperties {\n return {\n sourceVirtualMachine: !item[\"sourceVirtualMachine\"]\n ? item[\"sourceVirtualMachine\"]\n : subResourceDeserializer(item[\"sourceVirtualMachine\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : imageStorageProfileDeserializer(item[\"storageProfile\"]),\n provisioningState: item[\"provisioningState\"],\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\n/** Describes a storage profile. */\nexport interface ImageStorageProfile {\n /** Specifies information about the operating system disk used by the virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */\n osDisk?: ImageOSDisk;\n /** Specifies the parameters that are used to add a data disk to a virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */\n dataDisks?: ImageDataDisk[];\n /** Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). */\n zoneResilient?: boolean;\n}\n\nexport function imageStorageProfileSerializer(item: ImageStorageProfile): any {\n return {\n osDisk: !item[\"osDisk\"] ? item[\"osDisk\"] : imageOSDiskSerializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : imageDataDiskArraySerializer(item[\"dataDisks\"]),\n zoneResilient: item[\"zoneResilient\"],\n };\n}\n\nexport function imageStorageProfileDeserializer(item: any): ImageStorageProfile {\n return {\n osDisk: !item[\"osDisk\"] ? item[\"osDisk\"] : imageOSDiskDeserializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : imageDataDiskArrayDeserializer(item[\"dataDisks\"]),\n zoneResilient: item[\"zoneResilient\"],\n };\n}\n\n/** Describes an Operating System disk. */\nexport interface ImageOSDisk extends ImageDisk {\n /** This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** */\n osType: OperatingSystemTypes;\n /** The OS State. For managed images, use Generalized. */\n osState: OperatingSystemStateTypes;\n}\n\nexport function imageOSDiskSerializer(item: ImageOSDisk): any {\n return {\n snapshot: !item[\"snapshot\"] ? item[\"snapshot\"] : subResourceSerializer(item[\"snapshot\"]),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : subResourceSerializer(item[\"managedDisk\"]),\n blobUri: item[\"blobUri\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n osType: item[\"osType\"],\n osState: item[\"osState\"],\n };\n}\n\nexport function imageOSDiskDeserializer(item: any): ImageOSDisk {\n return {\n snapshot: !item[\"snapshot\"] ? item[\"snapshot\"] : subResourceDeserializer(item[\"snapshot\"]),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : subResourceDeserializer(item[\"managedDisk\"]),\n blobUri: item[\"blobUri\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersDeserializer(item[\"diskEncryptionSet\"]),\n osType: item[\"osType\"],\n osState: item[\"osState\"],\n };\n}\n\nexport function imageDataDiskArraySerializer(result: Array<ImageDataDisk>): any[] {\n return result.map((item) => {\n return imageDataDiskSerializer(item);\n });\n}\n\nexport function imageDataDiskArrayDeserializer(result: Array<ImageDataDisk>): any[] {\n return result.map((item) => {\n return imageDataDiskDeserializer(item);\n });\n}\n\n/** Describes a data disk. */\nexport interface ImageDataDisk extends ImageDisk {\n /** Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. */\n lun: number;\n}\n\nexport function imageDataDiskSerializer(item: ImageDataDisk): any {\n return {\n snapshot: !item[\"snapshot\"] ? item[\"snapshot\"] : subResourceSerializer(item[\"snapshot\"]),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : subResourceSerializer(item[\"managedDisk\"]),\n blobUri: item[\"blobUri\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n lun: item[\"lun\"],\n };\n}\n\nexport function imageDataDiskDeserializer(item: any): ImageDataDisk {\n return {\n snapshot: !item[\"snapshot\"] ? item[\"snapshot\"] : subResourceDeserializer(item[\"snapshot\"]),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : subResourceDeserializer(item[\"managedDisk\"]),\n blobUri: item[\"blobUri\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersDeserializer(item[\"diskEncryptionSet\"]),\n lun: item[\"lun\"],\n };\n}\n\n/** Specifies the HyperVGeneration Type */\nexport enum KnownHyperVGenerationTypes {\n /** V1 */\n V1 = \"V1\",\n /** V2 */\n V2 = \"V2\",\n}\n\n/**\n * Specifies the HyperVGeneration Type \\\n * {@link KnownHyperVGenerationTypes} can be used interchangeably with HyperVGenerationTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **V1** \\\n * **V2**\n */\nexport type HyperVGenerationTypes = string;\n\n/** Describes a image disk. */\nexport interface ImageDisk {\n /** The snapshot. */\n snapshot?: SubResource;\n /** The managedDisk. */\n managedDisk?: SubResource;\n /** The Virtual Hard Disk. */\n blobUri?: string;\n /** Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** */\n caching?: CachingTypes;\n /** Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. */\n diskSizeGB?: number;\n /** Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. */\n storageAccountType?: StorageAccountTypes;\n /** Specifies the customer managed disk encryption set resource id for the managed image disk. */\n diskEncryptionSet?: DiskEncryptionSetParameters;\n}\n\nexport function imageDiskSerializer(item: ImageDisk): any {\n return {\n snapshot: !item[\"snapshot\"] ? item[\"snapshot\"] : subResourceSerializer(item[\"snapshot\"]),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : subResourceSerializer(item[\"managedDisk\"]),\n blobUri: item[\"blobUri\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n };\n}\n\nexport function imageDiskDeserializer(item: any): ImageDisk {\n return {\n snapshot: !item[\"snapshot\"] ? item[\"snapshot\"] : subResourceDeserializer(item[\"snapshot\"]),\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : subResourceDeserializer(item[\"managedDisk\"]),\n blobUri: item[\"blobUri\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n storageAccountType: item[\"storageAccountType\"],\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersDeserializer(item[\"diskEncryptionSet\"]),\n };\n}\n\n/** The source user image virtual hard disk. Only tags may be updated. */\nexport interface ImageUpdate extends UpdateResource {\n /** The source virtual machine from which Image is created. */\n sourceVirtualMachine?: SubResource;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: ImageStorageProfile;\n /** The provisioning state. */\n readonly provisioningState?: string;\n /** Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. */\n hyperVGeneration?: HyperVGenerationTypes;\n}\n\nexport function imageUpdateSerializer(item: ImageUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"sourceVirtualMachine\",\n \"storageProfile\",\n \"hyperVGeneration\",\n ])\n ? undefined\n : _imageUpdatePropertiesSerializer(item),\n };\n}\n\n/** The List Image operation response. */\nexport interface _ImageListResult {\n /** The list of Images */\n value: Image[];\n /** The uri to fetch the next page of Images. Call ListNext() with this to fetch the next page of Images. */\n nextLink?: string;\n}\n\nexport function _imageListResultDeserializer(item: any): _ImageListResult {\n return {\n value: imageArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function imageArraySerializer(result: Array<Image>): any[] {\n return result.map((item) => {\n return imageSerializer(item);\n });\n}\n\nexport function imageArrayDeserializer(result: Array<Image>): any[] {\n return result.map((item) => {\n return imageDeserializer(item);\n });\n}\n\n/** Create or update Restore Point collection parameters. */\nexport interface RestorePointCollection extends TrackedResource {\n /** The properties of the source resource that this restore point collection is created from. */\n source?: RestorePointCollectionSourceProperties;\n /** The provisioning state of the restore point collection. */\n readonly provisioningState?: string;\n /** The unique id of the restore point collection. */\n readonly restorePointCollectionId?: string;\n /** A list containing all restore points created under this restore point collection. */\n readonly restorePoints?: RestorePoint[];\n /** This property determines whether instant access snapshot is enabled for restore points created under this restore point collection for Premium SSD v2 or Ultra disk. Instant access snapshot for Premium SSD v2 or Ultra disk is instantaneously available for restoring disk with fast restore performance. */\n instantAccess?: boolean;\n}\n\nexport function restorePointCollectionSerializer(item: RestorePointCollection): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\"source\", \"instantAccess\"])\n ? undefined\n : _restorePointCollectionPropertiesSerializer(item),\n };\n}\n\nexport function restorePointCollectionDeserializer(item: any): RestorePointCollection {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _restorePointCollectionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The restore point collection properties. */\nexport interface RestorePointCollectionProperties {\n /** The properties of the source resource that this restore point collection is created from. */\n source?: RestorePointCollectionSourceProperties;\n /** The provisioning state of the restore point collection. */\n readonly provisioningState?: string;\n /** The unique id of the restore point collection. */\n readonly restorePointCollectionId?: string;\n /** A list containing all restore points created under this restore point collection. */\n readonly restorePoints?: RestorePoint[];\n /** This property determines whether instant access snapshot is enabled for restore points created under this restore point collection for Premium SSD v2 or Ultra disk. Instant access snapshot for Premium SSD v2 or Ultra disk is instantaneously available for restoring disk with fast restore performance. */\n instantAccess?: boolean;\n}\n\nexport function restorePointCollectionPropertiesSerializer(\n item: RestorePointCollectionProperties,\n): any {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : restorePointCollectionSourcePropertiesSerializer(item[\"source\"]),\n instantAccess: item[\"instantAccess\"],\n };\n}\n\nexport function restorePointCollectionPropertiesDeserializer(\n item: any,\n): RestorePointCollectionProperties {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : restorePointCollectionSourcePropertiesDeserializer(item[\"source\"]),\n provisioningState: item[\"provisioningState\"],\n restorePointCollectionId: item[\"restorePointCollectionId\"],\n restorePoints: !item[\"restorePoints\"]\n ? item[\"restorePoints\"]\n : restorePointArrayDeserializer(item[\"restorePoints\"]),\n instantAccess: item[\"instantAccess\"],\n };\n}\n\n/** The properties of the source resource that this restore point collection is created from. */\nexport interface RestorePointCollectionSourceProperties {\n /** Location of the source resource used to create this restore point collection. */\n readonly location?: string;\n /** Resource Id of the source resource used to create this restore point collection */\n id?: string;\n}\n\nexport function restorePointCollectionSourcePropertiesSerializer(\n item: RestorePointCollectionSourceProperties,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function restorePointCollectionSourcePropertiesDeserializer(\n item: any,\n): RestorePointCollectionSourceProperties {\n return {\n location: item[\"location\"],\n id: item[\"id\"],\n };\n}\n\nexport function restorePointArraySerializer(result: Array<RestorePoint>): any[] {\n return result.map((item) => {\n return restorePointSerializer(item);\n });\n}\n\nexport function restorePointArrayDeserializer(result: Array<RestorePoint>): any[] {\n return result.map((item) => {\n return restorePointDeserializer(item);\n });\n}\n\n/** Restore Point details. */\nexport interface RestorePoint extends ProxyResource {\n /** List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. */\n excludeDisks?: ApiEntityReference[];\n /** Gets the details of the VM captured at the time of the restore point creation. */\n sourceMetadata?: RestorePointSourceMetadata;\n /** Gets the provisioning state of the restore point. */\n readonly provisioningState?: string;\n /** ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. */\n consistencyMode?: ConsistencyModeTypes;\n /** Gets the creation time of the restore point. */\n timeCreated?: Date;\n /** Resource Id of the source restore point from which a copy needs to be created. */\n sourceRestorePoint?: ApiEntityReference;\n /** The restore point instance view. */\n readonly instanceView?: RestorePointInstanceView;\n /** This property determines the time in minutes the snapshot is retained as instant access for restoring Premium SSD v2 or Ultra disk with fast restore performance in this restore point. */\n instantAccessDurationMinutes?: number;\n}\n\nexport function restorePointSerializer(item: RestorePoint): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"excludeDisks\",\n \"sourceMetadata\",\n \"consistencyMode\",\n \"timeCreated\",\n \"sourceRestorePoint\",\n \"instantAccessDurationMinutes\",\n ])\n ? undefined\n : _restorePointPropertiesSerializer(item),\n };\n}\n\nexport function restorePointDeserializer(item: any): RestorePoint {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _restorePointPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The restore point properties. */\nexport interface RestorePointProperties {\n /** List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. */\n excludeDisks?: ApiEntityReference[];\n /** Gets the details of the VM captured at the time of the restore point creation. */\n sourceMetadata?: RestorePointSourceMetadata;\n /** Gets the provisioning state of the restore point. */\n readonly provisioningState?: string;\n /** ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. */\n consistencyMode?: ConsistencyModeTypes;\n /** Gets the creation time of the restore point. */\n timeCreated?: Date;\n /** Resource Id of the source restore point from which a copy needs to be created. */\n sourceRestorePoint?: ApiEntityReference;\n /** The restore point instance view. */\n readonly instanceView?: RestorePointInstanceView;\n /** This property determines the time in minutes the snapshot is retained as instant access for restoring Premium SSD v2 or Ultra disk with fast restore performance in this restore point. */\n instantAccessDurationMinutes?: number;\n}\n\nexport function restorePointPropertiesSerializer(item: RestorePointProperties): any {\n return {\n excludeDisks: !item[\"excludeDisks\"]\n ? item[\"excludeDisks\"]\n : apiEntityReferenceArraySerializer(item[\"excludeDisks\"]),\n sourceMetadata: !item[\"sourceMetadata\"]\n ? item[\"sourceMetadata\"]\n : restorePointSourceMetadataSerializer(item[\"sourceMetadata\"]),\n consistencyMode: item[\"consistencyMode\"],\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : item[\"timeCreated\"].toISOString(),\n sourceRestorePoint: !item[\"sourceRestorePoint\"]\n ? item[\"sourceRestorePoint\"]\n : apiEntityReferenceSerializer(item[\"sourceRestorePoint\"]),\n instantAccessDurationMinutes: item[\"instantAccessDurationMinutes\"],\n };\n}\n\nexport function restorePointPropertiesDeserializer(item: any): RestorePointProperties {\n return {\n excludeDisks: !item[\"excludeDisks\"]\n ? item[\"excludeDisks\"]\n : apiEntityReferenceArrayDeserializer(item[\"excludeDisks\"]),\n sourceMetadata: !item[\"sourceMetadata\"]\n ? item[\"sourceMetadata\"]\n : restorePointSourceMetadataDeserializer(item[\"sourceMetadata\"]),\n provisioningState: item[\"provisioningState\"],\n consistencyMode: item[\"consistencyMode\"],\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n sourceRestorePoint: !item[\"sourceRestorePoint\"]\n ? item[\"sourceRestorePoint\"]\n : apiEntityReferenceDeserializer(item[\"sourceRestorePoint\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : restorePointInstanceViewDeserializer(item[\"instanceView\"]),\n instantAccessDurationMinutes: item[\"instantAccessDurationMinutes\"],\n };\n}\n\nexport function apiEntityReferenceArraySerializer(result: Array<ApiEntityReference>): any[] {\n return result.map((item) => {\n return apiEntityReferenceSerializer(item);\n });\n}\n\nexport function apiEntityReferenceArrayDeserializer(result: Array<ApiEntityReference>): any[] {\n return result.map((item) => {\n return apiEntityReferenceDeserializer(item);\n });\n}\n\n/** Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. */\nexport interface RestorePointSourceMetadata {\n /** Gets the hardware profile. */\n readonly hardwareProfile?: HardwareProfile;\n /** Gets the storage profile. */\n storageProfile?: RestorePointSourceVMStorageProfile;\n /** Gets the OS profile. */\n readonly osProfile?: OSProfile;\n /** Gets the diagnostics profile. */\n readonly diagnosticsProfile?: DiagnosticsProfile;\n /** Gets the license type, which is for bring your own license scenario. */\n readonly licenseType?: string;\n /** Gets the virtual machine unique id. */\n readonly vmId?: string;\n /** Gets the security profile. */\n readonly securityProfile?: SecurityProfile;\n /** Location of the VM from which the restore point was created. */\n readonly location?: string;\n /** UserData associated with the source VM for which restore point is captured, which is a base-64 encoded value. */\n readonly userData?: string;\n /** HyperVGeneration of the source VM for which restore point is captured. */\n readonly hyperVGeneration?: HyperVGenerationTypes;\n}\n\nexport function restorePointSourceMetadataSerializer(item: RestorePointSourceMetadata): any {\n return {\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : restorePointSourceVMStorageProfileSerializer(item[\"storageProfile\"]),\n };\n}\n\nexport function restorePointSourceMetadataDeserializer(item: any): RestorePointSourceMetadata {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileDeserializer(item[\"hardwareProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : restorePointSourceVMStorageProfileDeserializer(item[\"storageProfile\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileDeserializer(item[\"osProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileDeserializer(item[\"diagnosticsProfile\"]),\n licenseType: item[\"licenseType\"],\n vmId: item[\"vmId\"],\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileDeserializer(item[\"securityProfile\"]),\n location: item[\"location\"],\n userData: item[\"userData\"],\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\n/** Describes the storage profile. */\nexport interface RestorePointSourceVMStorageProfile {\n /** Gets the OS disk of the VM captured at the time of the restore point creation. */\n osDisk?: RestorePointSourceVmosDisk;\n /** Gets the data disks of the VM captured at the time of the restore point creation. */\n dataDisks?: RestorePointSourceVMDataDisk[];\n /** Gets the disk controller type of the VM captured at the time of the restore point creation. */\n readonly diskControllerType?: DiskControllerTypes;\n}\n\nexport function restorePointSourceVMStorageProfileSerializer(\n item: RestorePointSourceVMStorageProfile,\n): any {\n return {\n osDisk: !item[\"osDisk\"] ? item[\"osDisk\"] : restorePointSourceVmosDiskSerializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : restorePointSourceVMDataDiskArraySerializer(item[\"dataDisks\"]),\n };\n}\n\nexport function restorePointSourceVMStorageProfileDeserializer(\n item: any,\n): RestorePointSourceVMStorageProfile {\n return {\n osDisk: !item[\"osDisk\"]\n ? item[\"osDisk\"]\n : restorePointSourceVmosDiskDeserializer(item[\"osDisk\"]),\n dataDisks: !item[\"dataDisks\"]\n ? item[\"dataDisks\"]\n : restorePointSourceVMDataDiskArrayDeserializer(item[\"dataDisks\"]),\n diskControllerType: item[\"diskControllerType\"],\n };\n}\n\n/** Describes an Operating System disk. */\nexport interface RestorePointSourceVmosDisk {\n /** Gets the Operating System type. */\n readonly osType?: OperatingSystemType;\n /** Gets the disk encryption settings. */\n readonly encryptionSettings?: DiskEncryptionSettings;\n /** Gets the disk name. */\n readonly name?: string;\n /** Gets the caching type. */\n readonly caching?: CachingTypes;\n /** Gets the disk size in GB. */\n readonly diskSizeGB?: number;\n /** Gets the managed disk details */\n managedDisk?: ManagedDiskParameters;\n /** Contains Disk Restore Point properties. */\n diskRestorePoint?: DiskRestorePointAttributes;\n /** Shows true if the disk is write-accelerator enabled. */\n readonly writeAcceleratorEnabled?: boolean;\n}\n\nexport function restorePointSourceVmosDiskSerializer(item: RestorePointSourceVmosDisk): any {\n return {\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersSerializer(item[\"managedDisk\"]),\n diskRestorePoint: !item[\"diskRestorePoint\"]\n ? item[\"diskRestorePoint\"]\n : diskRestorePointAttributesSerializer(item[\"diskRestorePoint\"]),\n };\n}\n\nexport function restorePointSourceVmosDiskDeserializer(item: any): RestorePointSourceVmosDisk {\n return {\n osType: item[\"osType\"],\n encryptionSettings: !item[\"encryptionSettings\"]\n ? item[\"encryptionSettings\"]\n : diskEncryptionSettingsDeserializer(item[\"encryptionSettings\"]),\n name: item[\"name\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersDeserializer(item[\"managedDisk\"]),\n diskRestorePoint: !item[\"diskRestorePoint\"]\n ? item[\"diskRestorePoint\"]\n : diskRestorePointAttributesDeserializer(item[\"diskRestorePoint\"]),\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n };\n}\n\n/** Gets the Operating System type. */\nexport enum KnownOperatingSystemType {\n /** Windows */\n Windows = \"Windows\",\n /** Linux */\n Linux = \"Linux\",\n}\n\n/**\n * Gets the Operating System type. \\\n * {@link KnownOperatingSystemType} can be used interchangeably with OperatingSystemType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Windows** \\\n * **Linux**\n */\nexport type OperatingSystemType = string;\n\n/** Disk Restore Point details. */\nexport interface DiskRestorePointAttributes extends SubResourceReadOnly {\n /** Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. */\n encryption?: RestorePointEncryption;\n /** Resource Id of the source disk restore point. */\n sourceDiskRestorePoint?: ApiEntityReference;\n}\n\nexport function diskRestorePointAttributesSerializer(item: DiskRestorePointAttributes): any {\n return {\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : restorePointEncryptionSerializer(item[\"encryption\"]),\n sourceDiskRestorePoint: !item[\"sourceDiskRestorePoint\"]\n ? item[\"sourceDiskRestorePoint\"]\n : apiEntityReferenceSerializer(item[\"sourceDiskRestorePoint\"]),\n };\n}\n\nexport function diskRestorePointAttributesDeserializer(item: any): DiskRestorePointAttributes {\n return {\n id: item[\"id\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : restorePointEncryptionDeserializer(item[\"encryption\"]),\n sourceDiskRestorePoint: !item[\"sourceDiskRestorePoint\"]\n ? item[\"sourceDiskRestorePoint\"]\n : apiEntityReferenceDeserializer(item[\"sourceDiskRestorePoint\"]),\n };\n}\n\n/** Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. */\nexport interface RestorePointEncryption {\n /** Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. */\n diskEncryptionSet?: DiskEncryptionSetParameters;\n /** The type of key used to encrypt the data of the disk restore point. */\n type?: RestorePointEncryptionType;\n}\n\nexport function restorePointEncryptionSerializer(item: RestorePointEncryption): any {\n return {\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersSerializer(item[\"diskEncryptionSet\"]),\n type: item[\"type\"],\n };\n}\n\nexport function restorePointEncryptionDeserializer(item: any): RestorePointEncryption {\n return {\n diskEncryptionSet: !item[\"diskEncryptionSet\"]\n ? item[\"diskEncryptionSet\"]\n : diskEncryptionSetParametersDeserializer(item[\"diskEncryptionSet\"]),\n type: item[\"type\"],\n };\n}\n\n/** The type of key used to encrypt the data of the disk restore point. */\nexport enum KnownRestorePointEncryptionType {\n /** Disk Restore Point is encrypted at rest with Platform managed key. */\n EncryptionAtRestWithPlatformKey = \"EncryptionAtRestWithPlatformKey\",\n /** Disk Restore Point is encrypted at rest with Customer managed key that can be changed and revoked by a customer. */\n EncryptionAtRestWithCustomerKey = \"EncryptionAtRestWithCustomerKey\",\n /** Disk Restore Point is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. */\n EncryptionAtRestWithPlatformAndCustomerKeys = \"EncryptionAtRestWithPlatformAndCustomerKeys\",\n}\n\n/**\n * The type of key used to encrypt the data of the disk restore point. \\\n * {@link KnownRestorePointEncryptionType} can be used interchangeably with RestorePointEncryptionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **EncryptionAtRestWithPlatformKey**: Disk Restore Point is encrypted at rest with Platform managed key. \\\n * **EncryptionAtRestWithCustomerKey**: Disk Restore Point is encrypted at rest with Customer managed key that can be changed and revoked by a customer. \\\n * **EncryptionAtRestWithPlatformAndCustomerKeys**: Disk Restore Point is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.\n */\nexport type RestorePointEncryptionType = string;\n\nexport function restorePointSourceVMDataDiskArraySerializer(\n result: Array<RestorePointSourceVMDataDisk>,\n): any[] {\n return result.map((item) => {\n return restorePointSourceVMDataDiskSerializer(item);\n });\n}\n\nexport function restorePointSourceVMDataDiskArrayDeserializer(\n result: Array<RestorePointSourceVMDataDisk>,\n): any[] {\n return result.map((item) => {\n return restorePointSourceVMDataDiskDeserializer(item);\n });\n}\n\n/** Describes a data disk. */\nexport interface RestorePointSourceVMDataDisk {\n /** Gets the logical unit number. */\n readonly lun?: number;\n /** Gets the disk name. */\n readonly name?: string;\n /** Gets the caching type. */\n readonly caching?: CachingTypes;\n /** Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks. */\n readonly diskSizeGB?: number;\n /** Contains the managed disk details. */\n managedDisk?: ManagedDiskParameters;\n /** Contains Disk Restore Point properties. */\n diskRestorePoint?: DiskRestorePointAttributes;\n /** Shows true if the disk is write-accelerator enabled. */\n readonly writeAcceleratorEnabled?: boolean;\n}\n\nexport function restorePointSourceVMDataDiskSerializer(item: RestorePointSourceVMDataDisk): any {\n return {\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersSerializer(item[\"managedDisk\"]),\n diskRestorePoint: !item[\"diskRestorePoint\"]\n ? item[\"diskRestorePoint\"]\n : diskRestorePointAttributesSerializer(item[\"diskRestorePoint\"]),\n };\n}\n\nexport function restorePointSourceVMDataDiskDeserializer(item: any): RestorePointSourceVMDataDisk {\n return {\n lun: item[\"lun\"],\n name: item[\"name\"],\n caching: item[\"caching\"],\n diskSizeGB: item[\"diskSizeGB\"],\n managedDisk: !item[\"managedDisk\"]\n ? item[\"managedDisk\"]\n : managedDiskParametersDeserializer(item[\"managedDisk\"]),\n diskRestorePoint: !item[\"diskRestorePoint\"]\n ? item[\"diskRestorePoint\"]\n : diskRestorePointAttributesDeserializer(item[\"diskRestorePoint\"]),\n writeAcceleratorEnabled: item[\"writeAcceleratorEnabled\"],\n };\n}\n\n/** ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. */\nexport enum KnownConsistencyModeTypes {\n /** CrashConsistent */\n CrashConsistent = \"CrashConsistent\",\n /** FileSystemConsistent */\n FileSystemConsistent = \"FileSystemConsistent\",\n /** ApplicationConsistent */\n ApplicationConsistent = \"ApplicationConsistent\",\n}\n\n/**\n * ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. \\\n * {@link KnownConsistencyModeTypes} can be used interchangeably with ConsistencyModeTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CrashConsistent** \\\n * **FileSystemConsistent** \\\n * **ApplicationConsistent**\n */\nexport type ConsistencyModeTypes = string;\n\n/** The instance view of a restore point. */\nexport interface RestorePointInstanceView {\n /** The disk restore points information. */\n diskRestorePoints?: DiskRestorePointInstanceView[];\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n}\n\nexport function restorePointInstanceViewDeserializer(item: any): RestorePointInstanceView {\n return {\n diskRestorePoints: !item[\"diskRestorePoints\"]\n ? item[\"diskRestorePoints\"]\n : diskRestorePointInstanceViewArrayDeserializer(item[\"diskRestorePoints\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n };\n}\n\nexport function diskRestorePointInstanceViewArrayDeserializer(\n result: Array<DiskRestorePointInstanceView>,\n): any[] {\n return result.map((item) => {\n return diskRestorePointInstanceViewDeserializer(item);\n });\n}\n\n/** The instance view of a disk restore point. */\nexport interface DiskRestorePointInstanceView {\n /** Disk restore point Id. */\n id?: string;\n /** The state of snapshot which determines the access availability of the snapshot. */\n snapshotAccessState?: SnapshotAccessState;\n /** The disk restore point replication status information. */\n replicationStatus?: DiskRestorePointReplicationStatus;\n}\n\nexport function diskRestorePointInstanceViewDeserializer(item: any): DiskRestorePointInstanceView {\n return {\n id: item[\"id\"],\n snapshotAccessState: item[\"snapshotAccessState\"],\n replicationStatus: !item[\"replicationStatus\"]\n ? item[\"replicationStatus\"]\n : diskRestorePointReplicationStatusDeserializer(item[\"replicationStatus\"]),\n };\n}\n\n/** The instance view of a disk restore point. */\nexport interface DiskRestorePointReplicationStatus {\n /** The resource status information. */\n status?: InstanceViewStatus;\n /** Replication completion percentage. */\n completionPercent?: number;\n}\n\nexport function diskRestorePointReplicationStatusDeserializer(\n item: any,\n): DiskRestorePointReplicationStatus {\n return {\n status: !item[\"status\"] ? item[\"status\"] : instanceViewStatusDeserializer(item[\"status\"]),\n completionPercent: item[\"completionPercent\"],\n };\n}\n\n/** Update Restore Point collection parameters. */\nexport interface RestorePointCollectionUpdate extends UpdateResource {\n /** The properties of the source resource that this restore point collection is created from. */\n source?: RestorePointCollectionSourceProperties;\n /** The provisioning state of the restore point collection. */\n readonly provisioningState?: string;\n /** The unique id of the restore point collection. */\n readonly restorePointCollectionId?: string;\n /** A list containing all restore points created under this restore point collection. */\n readonly restorePoints?: RestorePoint[];\n /** This property determines whether instant access snapshot is enabled for restore points created under this restore point collection for Premium SSD v2 or Ultra disk. Instant access snapshot for Premium SSD v2 or Ultra disk is instantaneously available for restoring disk with fast restore performance. */\n instantAccess?: boolean;\n}\n\nexport function restorePointCollectionUpdateSerializer(item: RestorePointCollectionUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"source\", \"instantAccess\"])\n ? undefined\n : _restorePointCollectionUpdatePropertiesSerializer(item),\n };\n}\n\n/** The List restore point collection operation response. */\nexport interface _RestorePointCollectionListResult {\n /** Gets the list of restore point collections. */\n value: RestorePointCollection[];\n /** The uri to fetch the next page of RestorePointCollections. Call ListNext() with this to fetch the next page of RestorePointCollections. */\n nextLink?: string;\n}\n\nexport function _restorePointCollectionListResultDeserializer(\n item: any,\n): _RestorePointCollectionListResult {\n return {\n value: restorePointCollectionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function restorePointCollectionArraySerializer(\n result: Array<RestorePointCollection>,\n): any[] {\n return result.map((item) => {\n return restorePointCollectionSerializer(item);\n });\n}\n\nexport function restorePointCollectionArrayDeserializer(\n result: Array<RestorePointCollection>,\n): any[] {\n return result.map((item) => {\n return restorePointCollectionDeserializer(item);\n });\n}\n\n/** Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group. */\nexport interface CapacityReservationGroup extends TrackedResource {\n /** The availability zones. */\n zones?: string[];\n /** A list of all capacity reservation resource ids that belong to capacity reservation group. */\n readonly capacityReservations?: SubResourceReadOnly[];\n /** A list of references to all virtual machines associated to the capacity reservation group. */\n readonly virtualMachinesAssociated?: SubResourceReadOnly[];\n /** The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. */\n readonly instanceView?: CapacityReservationGroupInstanceView;\n /** Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants. Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details. */\n sharingProfile?: ResourceSharingProfile;\n /** Indicates the type of capacity reservation. Allowed values are 'Block' for block capacity reservations and 'Targeted' for reservations that enable a VM to consume a specific capacity reservation when a capacity reservation group is provided. The reservation type is immutable and cannot be changed after it is assigned. */\n reservationType?: ReservationType;\n}\n\nexport function capacityReservationGroupSerializer(item: CapacityReservationGroup): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\"sharingProfile\", \"reservationType\"])\n ? undefined\n : _capacityReservationGroupPropertiesSerializer(item),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function capacityReservationGroupDeserializer(item: any): CapacityReservationGroup {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _capacityReservationGroupPropertiesDeserializer(item[\"properties\"])),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** capacity reservation group Properties. */\nexport interface CapacityReservationGroupProperties {\n /** A list of all capacity reservation resource ids that belong to capacity reservation group. */\n readonly capacityReservations?: SubResourceReadOnly[];\n /** A list of references to all virtual machines associated to the capacity reservation group. */\n readonly virtualMachinesAssociated?: SubResourceReadOnly[];\n /** The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. */\n readonly instanceView?: CapacityReservationGroupInstanceView;\n /** Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants. Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details. */\n sharingProfile?: ResourceSharingProfile;\n /** Indicates the type of capacity reservation. Allowed values are 'Block' for block capacity reservations and 'Targeted' for reservations that enable a VM to consume a specific capacity reservation when a capacity reservation group is provided. The reservation type is immutable and cannot be changed after it is assigned. */\n reservationType?: ReservationType;\n}\n\nexport function capacityReservationGroupPropertiesSerializer(\n item: CapacityReservationGroupProperties,\n): any {\n return {\n sharingProfile: !item[\"sharingProfile\"]\n ? item[\"sharingProfile\"]\n : resourceSharingProfileSerializer(item[\"sharingProfile\"]),\n reservationType: item[\"reservationType\"],\n };\n}\n\nexport function capacityReservationGroupPropertiesDeserializer(\n item: any,\n): CapacityReservationGroupProperties {\n return {\n capacityReservations: !item[\"capacityReservations\"]\n ? item[\"capacityReservations\"]\n : subResourceReadOnlyArrayDeserializer(item[\"capacityReservations\"]),\n virtualMachinesAssociated: !item[\"virtualMachinesAssociated\"]\n ? item[\"virtualMachinesAssociated\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachinesAssociated\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : capacityReservationGroupInstanceViewDeserializer(item[\"instanceView\"]),\n sharingProfile: !item[\"sharingProfile\"]\n ? item[\"sharingProfile\"]\n : resourceSharingProfileDeserializer(item[\"sharingProfile\"]),\n reservationType: item[\"reservationType\"],\n };\n}\n\n/** model interface CapacityReservationGroupInstanceView */\nexport interface CapacityReservationGroupInstanceView {\n /** List of instance view of the capacity reservations under the capacity reservation group. */\n readonly capacityReservations?: CapacityReservationInstanceViewWithName[];\n /** List of the subscriptions that the capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details. */\n readonly sharedSubscriptionIds?: SubResourceReadOnly[];\n}\n\nexport function capacityReservationGroupInstanceViewDeserializer(\n item: any,\n): CapacityReservationGroupInstanceView {\n return {\n capacityReservations: !item[\"capacityReservations\"]\n ? item[\"capacityReservations\"]\n : capacityReservationInstanceViewWithNameArrayDeserializer(item[\"capacityReservations\"]),\n sharedSubscriptionIds: !item[\"sharedSubscriptionIds\"]\n ? item[\"sharedSubscriptionIds\"]\n : subResourceReadOnlyArrayDeserializer(item[\"sharedSubscriptionIds\"]),\n };\n}\n\nexport function capacityReservationInstanceViewWithNameArrayDeserializer(\n result: Array<CapacityReservationInstanceViewWithName>,\n): any[] {\n return result.map((item) => {\n return capacityReservationInstanceViewWithNameDeserializer(item);\n });\n}\n\n/** The instance view of a capacity reservation that includes the name of the capacity reservation. It is used for the response to the instance view of a capacity reservation group. */\nexport interface CapacityReservationInstanceViewWithName extends CapacityReservationInstanceView {\n /** The name of the capacity reservation. */\n readonly name?: string;\n}\n\nexport function capacityReservationInstanceViewWithNameDeserializer(\n item: any,\n): CapacityReservationInstanceViewWithName {\n return {\n utilizationInfo: !item[\"utilizationInfo\"]\n ? item[\"utilizationInfo\"]\n : capacityReservationUtilizationDeserializer(item[\"utilizationInfo\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n name: item[\"name\"],\n };\n}\n\n/** model interface ResourceSharingProfile */\nexport interface ResourceSharingProfile {\n /** Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details. */\n subscriptionIds?: SubResource[];\n}\n\nexport function resourceSharingProfileSerializer(item: ResourceSharingProfile): any {\n return {\n subscriptionIds: !item[\"subscriptionIds\"]\n ? item[\"subscriptionIds\"]\n : subResourceArraySerializer(item[\"subscriptionIds\"]),\n };\n}\n\nexport function resourceSharingProfileDeserializer(item: any): ResourceSharingProfile {\n return {\n subscriptionIds: !item[\"subscriptionIds\"]\n ? item[\"subscriptionIds\"]\n : subResourceArrayDeserializer(item[\"subscriptionIds\"]),\n };\n}\n\n/** Indicates the type of capacity reservation. Allowed values are 'Block' for block capacity reservations and 'Targeted' for reservations that enable a VM to consume a specific capacity reservation when a capacity reservation group is provided. The reservation type is immutable and cannot be changed after it is assigned. */\nexport enum KnownReservationType {\n /** To consume on demand allocated capacity reservation when a capacity reservation group is provided. */\n Targeted = \"Targeted\",\n /** To consume scheduled allocated block capacity reservation when a capacity reservation group is provided. */\n Block = \"Block\",\n}\n\n/**\n * Indicates the type of capacity reservation. Allowed values are 'Block' for block capacity reservations and 'Targeted' for reservations that enable a VM to consume a specific capacity reservation when a capacity reservation group is provided. The reservation type is immutable and cannot be changed after it is assigned. \\\n * {@link KnownReservationType} can be used interchangeably with ReservationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Targeted**: To consume on demand allocated capacity reservation when a capacity reservation group is provided. \\\n * **Block**: To consume scheduled allocated block capacity reservation when a capacity reservation group is provided.\n */\nexport type ReservationType = string;\n\n/** The instance view of a capacity reservation that provides as snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. */\nexport interface CapacityReservationInstanceView {\n /** Unutilized capacity of the capacity reservation. */\n utilizationInfo?: CapacityReservationUtilization;\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n}\n\nexport function capacityReservationInstanceViewDeserializer(\n item: any,\n): CapacityReservationInstanceView {\n return {\n utilizationInfo: !item[\"utilizationInfo\"]\n ? item[\"utilizationInfo\"]\n : capacityReservationUtilizationDeserializer(item[\"utilizationInfo\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n };\n}\n\n/** Represents the capacity reservation utilization in terms of resources allocated. */\nexport interface CapacityReservationUtilization {\n /** The value provides the current capacity of the VM size which was reserved successfully and for which the customer is getting billed. Minimum api-version: 2022-08-01. */\n readonly currentCapacity?: number;\n /** A list of all virtual machines resource ids allocated against the capacity reservation. */\n readonly virtualMachinesAllocated?: SubResourceReadOnly[];\n}\n\nexport function capacityReservationUtilizationDeserializer(\n item: any,\n): CapacityReservationUtilization {\n return {\n currentCapacity: item[\"currentCapacity\"],\n virtualMachinesAllocated: !item[\"virtualMachinesAllocated\"]\n ? item[\"virtualMachinesAllocated\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachinesAllocated\"]),\n };\n}\n\n/** Specifies information about the capacity reservation group. Only tags can be updated. */\nexport interface CapacityReservationGroupUpdate extends UpdateResource {\n /** A list of all capacity reservation resource ids that belong to capacity reservation group. */\n readonly capacityReservations?: SubResourceReadOnly[];\n /** A list of references to all virtual machines associated to the capacity reservation group. */\n readonly virtualMachinesAssociated?: SubResourceReadOnly[];\n /** The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. */\n readonly instanceView?: CapacityReservationGroupInstanceView;\n /** Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants. Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details. */\n sharingProfile?: ResourceSharingProfile;\n /** Indicates the type of capacity reservation. Allowed values are 'Block' for block capacity reservations and 'Targeted' for reservations that enable a VM to consume a specific capacity reservation when a capacity reservation group is provided. The reservation type is immutable and cannot be changed after it is assigned. */\n reservationType?: ReservationType;\n}\n\nexport function capacityReservationGroupUpdateSerializer(\n item: CapacityReservationGroupUpdate,\n): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"sharingProfile\", \"reservationType\"])\n ? undefined\n : _capacityReservationGroupUpdatePropertiesSerializer(item),\n };\n}\n\n/** The List capacity reservation group with resource group response. */\nexport interface _CapacityReservationGroupListResult {\n /** The list of capacity reservation groups. */\n value: CapacityReservationGroup[];\n /** The URI to fetch the next page of capacity reservation groups. Call ListNext() with this URI to fetch the next page of capacity reservation groups. */\n nextLink?: string;\n}\n\nexport function _capacityReservationGroupListResultDeserializer(\n item: any,\n): _CapacityReservationGroupListResult {\n return {\n value: capacityReservationGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function capacityReservationGroupArraySerializer(\n result: Array<CapacityReservationGroup>,\n): any[] {\n return result.map((item) => {\n return capacityReservationGroupSerializer(item);\n });\n}\n\nexport function capacityReservationGroupArrayDeserializer(\n result: Array<CapacityReservationGroup>,\n): any[] {\n return result.map((item) => {\n return capacityReservationGroupDeserializer(item);\n });\n}\n\n/** Specifies information about the capacity reservation. */\nexport interface CapacityReservation extends TrackedResource {\n /** SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. For Block capacity reservations, sku.capacity can only accept values 1, 2, 4, 8, 16, 32, 64. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. */\n sku: Sku;\n /** The availability zones. */\n zones?: string[];\n /** A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. */\n readonly reservationId?: string;\n /** Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. */\n readonly platformFaultDomainCount?: number;\n /** A list of all virtual machine resource ids that are associated with the capacity reservation. */\n readonly virtualMachinesAssociated?: SubResourceReadOnly[];\n /** The date time when the capacity reservation was last updated. */\n readonly provisioningTime?: Date;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The Capacity reservation instance view. */\n readonly instanceView?: CapacityReservationInstanceView;\n /** Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Defines the schedule for Block-type capacity reservations. Specifies the schedule during which capacity reservation is active and VM or VMSS resource can be allocated using reservation. This property is required and only supported when the capacity reservation group type is 'Block'. The scheduleProfile, start, and end fields are immutable after creation. Minimum API version: 2025-04-01. Please refer to https://aka.ms/blockcapacityreservation for more details. */\n scheduleProfile?: ScheduleProfile;\n}\n\nexport function capacityReservationSerializer(item: CapacityReservation): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\"scheduleProfile\"])\n ? undefined\n : _capacityReservationPropertiesSerializer(item),\n sku: skuSerializer(item[\"sku\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function capacityReservationDeserializer(item: any): CapacityReservation {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _capacityReservationPropertiesDeserializer(item[\"properties\"])),\n sku: skuDeserializer(item[\"sku\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Properties of the Capacity reservation. */\nexport interface CapacityReservationProperties {\n /** A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. */\n readonly reservationId?: string;\n /** Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. */\n readonly platformFaultDomainCount?: number;\n /** A list of all virtual machine resource ids that are associated with the capacity reservation. */\n readonly virtualMachinesAssociated?: SubResourceReadOnly[];\n /** The date time when the capacity reservation was last updated. */\n readonly provisioningTime?: Date;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The Capacity reservation instance view. */\n readonly instanceView?: CapacityReservationInstanceView;\n /** Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Defines the schedule for Block-type capacity reservations. Specifies the schedule during which capacity reservation is active and VM or VMSS resource can be allocated using reservation. This property is required and only supported when the capacity reservation group type is 'Block'. The scheduleProfile, start, and end fields are immutable after creation. Minimum API version: 2025-04-01. Please refer to https://aka.ms/blockcapacityreservation for more details. */\n scheduleProfile?: ScheduleProfile;\n}\n\nexport function capacityReservationPropertiesSerializer(item: CapacityReservationProperties): any {\n return {\n scheduleProfile: !item[\"scheduleProfile\"]\n ? item[\"scheduleProfile\"]\n : scheduleProfileSerializer(item[\"scheduleProfile\"]),\n };\n}\n\nexport function capacityReservationPropertiesDeserializer(\n item: any,\n): CapacityReservationProperties {\n return {\n reservationId: item[\"reservationId\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachinesAssociated: !item[\"virtualMachinesAssociated\"]\n ? item[\"virtualMachinesAssociated\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachinesAssociated\"]),\n provisioningTime: !item[\"provisioningTime\"]\n ? item[\"provisioningTime\"]\n : new Date(item[\"provisioningTime\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : capacityReservationInstanceViewDeserializer(item[\"instanceView\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n scheduleProfile: !item[\"scheduleProfile\"]\n ? item[\"scheduleProfile\"]\n : scheduleProfileDeserializer(item[\"scheduleProfile\"]),\n };\n}\n\n/** Defines the schedule for Block-type capacity reservations. Specifies the schedule during which capacity reservation is active and VM or VMSS resource can be allocated using reservation. This property is required and only supported when the capacity reservation group type is 'Block'. The scheduleProfile, start, and end fields are immutable after creation. Minimum API version: 2025-04-01. Please refer to https://aka.ms/blockcapacityreservation for more details. */\nexport interface ScheduleProfile {\n /** The required start date for block capacity reservations. Must be today or within 56 days in the future. For same-day scheduling, requests must be submitted before 11:30 AM UTC. Example: 2025-06-27. */\n start?: string;\n /** The required end date for block capacity reservations. Must be after the start date, with a duration of either 1–14 whole days or 3–26 whole weeks. Example: 2025-06-28. */\n end?: string;\n}\n\nexport function scheduleProfileSerializer(item: ScheduleProfile): any {\n return { start: item[\"start\"], end: item[\"end\"] };\n}\n\nexport function scheduleProfileDeserializer(item: any): ScheduleProfile {\n return {\n start: item[\"start\"],\n end: item[\"end\"],\n };\n}\n\n/** Specifies information about the capacity reservation. sku.capacity cannot be updated for Block Capacity Reservation. Tags can be update for all Capacity Reservation Types. */\nexport interface CapacityReservationUpdate extends UpdateResource {\n /** SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. **Note:** The SKU name and capacity cannot be updated for Block capacity reservations. */\n sku?: Sku;\n /** A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. */\n readonly reservationId?: string;\n /** Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. */\n readonly platformFaultDomainCount?: number;\n /** A list of all virtual machine resource ids that are associated with the capacity reservation. */\n readonly virtualMachinesAssociated?: SubResourceReadOnly[];\n /** The date time when the capacity reservation was last updated. */\n readonly provisioningTime?: Date;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** The Capacity reservation instance view. */\n readonly instanceView?: CapacityReservationInstanceView;\n /** Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Defines the schedule for Block-type capacity reservations. Specifies the schedule during which capacity reservation is active and VM or VMSS resource can be allocated using reservation. This property is required and only supported when the capacity reservation group type is 'Block'. The scheduleProfile, start, and end fields are immutable after creation. Minimum API version: 2025-04-01. Please refer to https://aka.ms/blockcapacityreservation for more details. */\n scheduleProfile?: ScheduleProfile;\n}\n\nexport function capacityReservationUpdateSerializer(item: CapacityReservationUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"scheduleProfile\"])\n ? undefined\n : _capacityReservationUpdatePropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n };\n}\n\n/** The list capacity reservation operation response. */\nexport interface _CapacityReservationListResult {\n /** The list of capacity reservations. */\n value: CapacityReservation[];\n /** The URI to fetch the next page of capacity reservations. Call ListNext() with this URI to fetch the next page of capacity reservations. */\n nextLink?: string;\n}\n\nexport function _capacityReservationListResultDeserializer(\n item: any,\n): _CapacityReservationListResult {\n return {\n value: capacityReservationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function capacityReservationArraySerializer(result: Array<CapacityReservation>): any[] {\n return result.map((item) => {\n return capacityReservationSerializer(item);\n });\n}\n\nexport function capacityReservationArrayDeserializer(result: Array<CapacityReservation>): any[] {\n return result.map((item) => {\n return capacityReservationDeserializer(item);\n });\n}\n\n/** Describes a Virtual Machine run command. */\nexport interface VirtualMachineRunCommand extends TrackedResource {\n /** The source of the run command script. */\n source?: VirtualMachineRunCommandScriptSource;\n /** The parameters used by the script. */\n parameters?: RunCommandInputParameter[];\n /** The parameters used by the script. */\n protectedParameters?: RunCommandInputParameter[];\n /** Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. */\n asyncExecution?: boolean;\n /** Specifies the user account on the VM when executing the run command. */\n runAsUser?: string;\n /** Specifies the user account password on the VM when executing the run command. */\n runAsPassword?: string;\n /** The timeout in seconds to execute the run command. */\n timeoutInSeconds?: number;\n /** Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. */\n outputBlobUri?: string;\n /** Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. */\n errorBlobUri?: string;\n /** User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged */\n outputBlobManagedIdentity?: RunCommandManagedIdentity;\n /** User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged */\n errorBlobManagedIdentity?: RunCommandManagedIdentity;\n /** The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results */\n readonly provisioningState?: string;\n /** The virtual machine run command instance view. */\n readonly instanceView?: VirtualMachineRunCommandInstanceView;\n /** Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results */\n treatFailureAsDeploymentFailure?: boolean;\n}\n\nexport function virtualMachineRunCommandSerializer(item: VirtualMachineRunCommand): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"source\",\n \"parameters\",\n \"protectedParameters\",\n \"asyncExecution\",\n \"runAsUser\",\n \"runAsPassword\",\n \"timeoutInSeconds\",\n \"outputBlobUri\",\n \"errorBlobUri\",\n \"outputBlobManagedIdentity\",\n \"errorBlobManagedIdentity\",\n \"treatFailureAsDeploymentFailure\",\n ])\n ? undefined\n : _virtualMachineRunCommandPropertiesSerializer(item),\n };\n}\n\nexport function virtualMachineRunCommandDeserializer(item: any): VirtualMachineRunCommand {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineRunCommandPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Describes the properties of a Virtual Machine run command. */\nexport interface VirtualMachineRunCommandProperties {\n /** The source of the run command script. */\n source?: VirtualMachineRunCommandScriptSource;\n /** The parameters used by the script. */\n parameters?: RunCommandInputParameter[];\n /** The parameters used by the script. */\n protectedParameters?: RunCommandInputParameter[];\n /** Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. */\n asyncExecution?: boolean;\n /** Specifies the user account on the VM when executing the run command. */\n runAsUser?: string;\n /** Specifies the user account password on the VM when executing the run command. */\n runAsPassword?: string;\n /** The timeout in seconds to execute the run command. */\n timeoutInSeconds?: number;\n /** Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. */\n outputBlobUri?: string;\n /** Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. */\n errorBlobUri?: string;\n /** User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged */\n outputBlobManagedIdentity?: RunCommandManagedIdentity;\n /** User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged */\n errorBlobManagedIdentity?: RunCommandManagedIdentity;\n /** The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results */\n readonly provisioningState?: string;\n /** The virtual machine run command instance view. */\n readonly instanceView?: VirtualMachineRunCommandInstanceView;\n /** Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results */\n treatFailureAsDeploymentFailure?: boolean;\n}\n\nexport function virtualMachineRunCommandPropertiesSerializer(\n item: VirtualMachineRunCommandProperties,\n): any {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : virtualMachineRunCommandScriptSourceSerializer(item[\"source\"]),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandInputParameterArraySerializer(item[\"parameters\"]),\n protectedParameters: !item[\"protectedParameters\"]\n ? item[\"protectedParameters\"]\n : runCommandInputParameterArraySerializer(item[\"protectedParameters\"]),\n asyncExecution: item[\"asyncExecution\"],\n runAsUser: item[\"runAsUser\"],\n runAsPassword: item[\"runAsPassword\"],\n timeoutInSeconds: item[\"timeoutInSeconds\"],\n outputBlobUri: item[\"outputBlobUri\"],\n errorBlobUri: item[\"errorBlobUri\"],\n outputBlobManagedIdentity: !item[\"outputBlobManagedIdentity\"]\n ? item[\"outputBlobManagedIdentity\"]\n : runCommandManagedIdentitySerializer(item[\"outputBlobManagedIdentity\"]),\n errorBlobManagedIdentity: !item[\"errorBlobManagedIdentity\"]\n ? item[\"errorBlobManagedIdentity\"]\n : runCommandManagedIdentitySerializer(item[\"errorBlobManagedIdentity\"]),\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n };\n}\n\nexport function virtualMachineRunCommandPropertiesDeserializer(\n item: any,\n): VirtualMachineRunCommandProperties {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : virtualMachineRunCommandScriptSourceDeserializer(item[\"source\"]),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandInputParameterArrayDeserializer(item[\"parameters\"]),\n protectedParameters: !item[\"protectedParameters\"]\n ? item[\"protectedParameters\"]\n : runCommandInputParameterArrayDeserializer(item[\"protectedParameters\"]),\n asyncExecution: item[\"asyncExecution\"],\n runAsUser: item[\"runAsUser\"],\n runAsPassword: item[\"runAsPassword\"],\n timeoutInSeconds: item[\"timeoutInSeconds\"],\n outputBlobUri: item[\"outputBlobUri\"],\n errorBlobUri: item[\"errorBlobUri\"],\n outputBlobManagedIdentity: !item[\"outputBlobManagedIdentity\"]\n ? item[\"outputBlobManagedIdentity\"]\n : runCommandManagedIdentityDeserializer(item[\"outputBlobManagedIdentity\"]),\n errorBlobManagedIdentity: !item[\"errorBlobManagedIdentity\"]\n ? item[\"errorBlobManagedIdentity\"]\n : runCommandManagedIdentityDeserializer(item[\"errorBlobManagedIdentity\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineRunCommandInstanceViewDeserializer(item[\"instanceView\"]),\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n };\n}\n\n/** Describes the script sources for run command. Use only one of these script sources: script, scriptUri, commandId, galleryScriptReferenceId. */\nexport interface VirtualMachineRunCommandScriptSource {\n /** Specifies the script content to be executed on the VM. */\n script?: string;\n /** Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. */\n scriptUri?: string;\n /** Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands. */\n commandId?: string;\n /** User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. */\n scriptUriManagedIdentity?: RunCommandManagedIdentity;\n /** Optional. Specify which shell to use for running the script. These values must match those expected by the extension. Currently supported only for Windows VMs, script uses Powershell 7 when specified. Powershell 7 must be already installed on the machine to use Powershell7 parameter value. */\n scriptShell?: ScriptShellTypes;\n /** The resource ID of a Gallery Script version that needs to be executed. Example ID looks like /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/galleries/{galleryName}/scripts/{scriptName}/versions/{version}. */\n galleryScriptReferenceId?: string;\n}\n\nexport function virtualMachineRunCommandScriptSourceSerializer(\n item: VirtualMachineRunCommandScriptSource,\n): any {\n return {\n script: item[\"script\"],\n scriptUri: item[\"scriptUri\"],\n commandId: item[\"commandId\"],\n scriptUriManagedIdentity: !item[\"scriptUriManagedIdentity\"]\n ? item[\"scriptUriManagedIdentity\"]\n : runCommandManagedIdentitySerializer(item[\"scriptUriManagedIdentity\"]),\n scriptShell: item[\"scriptShell\"],\n galleryScriptReferenceId: item[\"galleryScriptReferenceId\"],\n };\n}\n\nexport function virtualMachineRunCommandScriptSourceDeserializer(\n item: any,\n): VirtualMachineRunCommandScriptSource {\n return {\n script: item[\"script\"],\n scriptUri: item[\"scriptUri\"],\n commandId: item[\"commandId\"],\n scriptUriManagedIdentity: !item[\"scriptUriManagedIdentity\"]\n ? item[\"scriptUriManagedIdentity\"]\n : runCommandManagedIdentityDeserializer(item[\"scriptUriManagedIdentity\"]),\n scriptShell: item[\"scriptShell\"],\n galleryScriptReferenceId: item[\"galleryScriptReferenceId\"],\n };\n}\n\n/** Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. */\nexport interface RunCommandManagedIdentity {\n /** Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. */\n clientId?: string;\n /** Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. */\n objectId?: string;\n}\n\nexport function runCommandManagedIdentitySerializer(item: RunCommandManagedIdentity): any {\n return { clientId: item[\"clientId\"], objectId: item[\"objectId\"] };\n}\n\nexport function runCommandManagedIdentityDeserializer(item: any): RunCommandManagedIdentity {\n return {\n clientId: item[\"clientId\"],\n objectId: item[\"objectId\"],\n };\n}\n\n/** Script shell types. */\nexport enum KnownScriptShellTypes {\n /** Default script shell type. */\n Default = \"Default\",\n /** Powershell7 script shell type. */\n Powershell7 = \"Powershell7\",\n}\n\n/**\n * Script shell types. \\\n * {@link KnownScriptShellTypes} can be used interchangeably with ScriptShellTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Default script shell type. \\\n * **Powershell7**: Powershell7 script shell type.\n */\nexport type ScriptShellTypes = string;\n\n/** The instance view of a virtual machine run command. */\nexport interface VirtualMachineRunCommandInstanceView {\n /** Script execution status. */\n executionState?: ExecutionState;\n /** Communicate script configuration errors or execution messages. */\n executionMessage?: string;\n /** Exit code returned from script execution. */\n exitCode?: number;\n /** Script output stream. */\n output?: string;\n /** Script error stream. */\n error?: string;\n /** Script start time. */\n startTime?: Date;\n /** Script end time. */\n endTime?: Date;\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n}\n\nexport function virtualMachineRunCommandInstanceViewDeserializer(\n item: any,\n): VirtualMachineRunCommandInstanceView {\n return {\n executionState: item[\"executionState\"],\n executionMessage: item[\"executionMessage\"],\n exitCode: item[\"exitCode\"],\n output: item[\"output\"],\n error: item[\"error\"],\n startTime: !item[\"startTime\"] ? item[\"startTime\"] : new Date(item[\"startTime\"]),\n endTime: !item[\"endTime\"] ? item[\"endTime\"] : new Date(item[\"endTime\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n };\n}\n\n/** Script execution status. */\nexport enum KnownExecutionState {\n /** Unknown */\n Unknown = \"Unknown\",\n /** Pending */\n Pending = \"Pending\",\n /** Running */\n Running = \"Running\",\n /** Failed */\n Failed = \"Failed\",\n /** Succeeded */\n Succeeded = \"Succeeded\",\n /** TimedOut */\n TimedOut = \"TimedOut\",\n /** Canceled */\n Canceled = \"Canceled\",\n}\n\n/**\n * Script execution status. \\\n * {@link KnownExecutionState} can be used interchangeably with ExecutionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown** \\\n * **Pending** \\\n * **Running** \\\n * **Failed** \\\n * **Succeeded** \\\n * **TimedOut** \\\n * **Canceled**\n */\nexport type ExecutionState = string;\n\n/** Describes a Virtual Machine run command. */\nexport interface VirtualMachineRunCommandUpdate extends UpdateResource {\n /** The source of the run command script. */\n source?: VirtualMachineRunCommandScriptSource;\n /** The parameters used by the script. */\n parameters?: RunCommandInputParameter[];\n /** The parameters used by the script. */\n protectedParameters?: RunCommandInputParameter[];\n /** Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. */\n asyncExecution?: boolean;\n /** Specifies the user account on the VM when executing the run command. */\n runAsUser?: string;\n /** Specifies the user account password on the VM when executing the run command. */\n runAsPassword?: string;\n /** The timeout in seconds to execute the run command. */\n timeoutInSeconds?: number;\n /** Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. */\n outputBlobUri?: string;\n /** Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. */\n errorBlobUri?: string;\n /** User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged */\n outputBlobManagedIdentity?: RunCommandManagedIdentity;\n /** User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged */\n errorBlobManagedIdentity?: RunCommandManagedIdentity;\n /** The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results */\n readonly provisioningState?: string;\n /** The virtual machine run command instance view. */\n readonly instanceView?: VirtualMachineRunCommandInstanceView;\n /** Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results */\n treatFailureAsDeploymentFailure?: boolean;\n}\n\nexport function virtualMachineRunCommandUpdateSerializer(\n item: VirtualMachineRunCommandUpdate,\n): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"source\",\n \"parameters\",\n \"protectedParameters\",\n \"asyncExecution\",\n \"runAsUser\",\n \"runAsPassword\",\n \"timeoutInSeconds\",\n \"outputBlobUri\",\n \"errorBlobUri\",\n \"outputBlobManagedIdentity\",\n \"errorBlobManagedIdentity\",\n \"treatFailureAsDeploymentFailure\",\n ])\n ? undefined\n : _virtualMachineRunCommandUpdatePropertiesSerializer(item),\n };\n}\n\n/** The List run command operation response */\nexport interface _VirtualMachineRunCommandsListResult {\n /** The list of run commands. */\n value: VirtualMachineRunCommand[];\n /** The uri to fetch the next page of run commands. */\n nextLink?: string;\n}\n\nexport function _virtualMachineRunCommandsListResultDeserializer(\n item: any,\n): _VirtualMachineRunCommandsListResult {\n return {\n value: virtualMachineRunCommandArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function virtualMachineRunCommandArraySerializer(\n result: Array<VirtualMachineRunCommand>,\n): any[] {\n return result.map((item) => {\n return virtualMachineRunCommandSerializer(item);\n });\n}\n\nexport function virtualMachineRunCommandArrayDeserializer(\n result: Array<VirtualMachineRunCommand>,\n): any[] {\n return result.map((item) => {\n return virtualMachineRunCommandDeserializer(item);\n });\n}\n\n/** The List Virtual Machine operation response. */\nexport interface _RunCommandListResult {\n /** The list of virtual machine run commands. */\n value: RunCommandDocumentBase[];\n /** The uri to fetch the next page of run commands. Call ListNext() with this to fetch the next page of run commands. */\n nextLink?: string;\n}\n\nexport function _runCommandListResultDeserializer(item: any): _RunCommandListResult {\n return {\n value: runCommandDocumentBaseArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function runCommandDocumentBaseArrayDeserializer(\n result: Array<RunCommandDocumentBase>,\n): any[] {\n return result.map((item) => {\n return runCommandDocumentBaseDeserializer(item);\n });\n}\n\n/** Describes the properties of a Run Command metadata. */\nexport interface RunCommandDocumentBase {\n /** The VM run command schema. */\n schema: string;\n /** The VM run command id. */\n id: string;\n /** The Operating System type. */\n osType: OperatingSystemTypes;\n /** The VM run command label. */\n label: string;\n /** The VM run command description. */\n description: string;\n}\n\nexport function runCommandDocumentBaseDeserializer(item: any): RunCommandDocumentBase {\n return {\n schema: item[\"$schema\"],\n id: item[\"id\"],\n osType: item[\"osType\"],\n label: item[\"label\"],\n description: item[\"description\"],\n };\n}\n\n/** Describes the properties of a Run Command. */\nexport interface RunCommandDocument extends RunCommandDocumentBase {\n /** The script to be executed. */\n script: string[];\n /** The parameters used by the script. */\n parameters?: RunCommandParameterDefinition[];\n}\n\nexport function runCommandDocumentDeserializer(item: any): RunCommandDocument {\n return {\n schema: item[\"$schema\"],\n id: item[\"id\"],\n osType: item[\"osType\"],\n label: item[\"label\"],\n description: item[\"description\"],\n script: item[\"script\"].map((p: any) => {\n return p;\n }),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandParameterDefinitionArrayDeserializer(item[\"parameters\"]),\n };\n}\n\nexport function runCommandParameterDefinitionArrayDeserializer(\n result: Array<RunCommandParameterDefinition>,\n): any[] {\n return result.map((item) => {\n return runCommandParameterDefinitionDeserializer(item);\n });\n}\n\n/** Describes the properties of a run command parameter. */\nexport interface RunCommandParameterDefinition {\n /** The run command parameter name. */\n name: string;\n /** The run command parameter type. */\n type: string;\n /** The run command parameter default value. */\n defaultValue?: string;\n /** The run command parameter required. */\n required?: boolean;\n}\n\nexport function runCommandParameterDefinitionDeserializer(\n item: any,\n): RunCommandParameterDefinition {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n defaultValue: item[\"defaultValue\"],\n required: item[\"required\"],\n };\n}\n\n/** The status of the latest virtual machine scale set rolling upgrade. */\nexport interface RollingUpgradeStatusInfo extends TrackedResource {\n /** The rolling upgrade policies applied for this upgrade. */\n readonly policy?: RollingUpgradePolicy;\n /** Information about the current running state of the overall upgrade. */\n readonly runningStatus?: RollingUpgradeRunningStatus;\n /** Information about the number of virtual machine instances in each upgrade state. */\n readonly progress?: RollingUpgradeProgressInfo;\n /** Error details for this upgrade, if there are any. */\n readonly error?: ApiError;\n}\n\nexport function rollingUpgradeStatusInfoDeserializer(item: any): RollingUpgradeStatusInfo {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _rollingUpgradeStatusInfoPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The status of the latest virtual machine scale set rolling upgrade. */\nexport interface RollingUpgradeStatusInfoProperties {\n /** The rolling upgrade policies applied for this upgrade. */\n readonly policy?: RollingUpgradePolicy;\n /** Information about the current running state of the overall upgrade. */\n readonly runningStatus?: RollingUpgradeRunningStatus;\n /** Information about the number of virtual machine instances in each upgrade state. */\n readonly progress?: RollingUpgradeProgressInfo;\n /** Error details for this upgrade, if there are any. */\n readonly error?: ApiError;\n}\n\nexport function rollingUpgradeStatusInfoPropertiesDeserializer(\n item: any,\n): RollingUpgradeStatusInfoProperties {\n return {\n policy: !item[\"policy\"] ? item[\"policy\"] : rollingUpgradePolicyDeserializer(item[\"policy\"]),\n runningStatus: !item[\"runningStatus\"]\n ? item[\"runningStatus\"]\n : rollingUpgradeRunningStatusDeserializer(item[\"runningStatus\"]),\n progress: !item[\"progress\"]\n ? item[\"progress\"]\n : rollingUpgradeProgressInfoDeserializer(item[\"progress\"]),\n error: !item[\"error\"] ? item[\"error\"] : apiErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** Information about the current running state of the overall upgrade. */\nexport interface RollingUpgradeRunningStatus {\n /** Code indicating the current status of the upgrade. */\n readonly code?: RollingUpgradeStatusCode;\n /** Start time of the upgrade. */\n readonly startTime?: Date;\n /** The last action performed on the rolling upgrade. */\n readonly lastAction?: RollingUpgradeActionType;\n /** Last action time of the upgrade. */\n readonly lastActionTime?: Date;\n}\n\nexport function rollingUpgradeRunningStatusDeserializer(item: any): RollingUpgradeRunningStatus {\n return {\n code: item[\"code\"],\n startTime: !item[\"startTime\"] ? item[\"startTime\"] : new Date(item[\"startTime\"]),\n lastAction: item[\"lastAction\"],\n lastActionTime: !item[\"lastActionTime\"]\n ? item[\"lastActionTime\"]\n : new Date(item[\"lastActionTime\"]),\n };\n}\n\n/** Code indicating the current status of the upgrade. */\nexport type RollingUpgradeStatusCode = \"RollingForward\" | \"Cancelled\" | \"Completed\" | \"Faulted\";\n/** The last action performed on the rolling upgrade. */\nexport type RollingUpgradeActionType = \"Start\" | \"Cancel\";\n\n/** Describes a virtual machine scale set virtual machine. */\nexport interface VirtualMachineScaleSetVM extends TrackedResource {\n /** The virtual machine instance ID. */\n readonly instanceId?: string;\n /** The virtual machine SKU. */\n readonly sku?: Sku;\n /** Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */\n plan?: Plan;\n /** The virtual machine child extension resources. */\n readonly resources?: VirtualMachineExtension[];\n /** The virtual machine zones. */\n readonly zones?: string[];\n /** The identity of the virtual machine, if configured. */\n identity?: VirtualMachineIdentity;\n /** Etag is property returned in Update/Get response of the VMSS VM, so that customer can supply it in the header to ensure optimistic updates. */\n readonly etag?: string;\n /** Specifies whether the latest model has been applied to the virtual machine. */\n readonly latestModelApplied?: boolean;\n /** Azure VM unique ID. */\n readonly vmId?: string;\n /** The virtual machine instance view. */\n readonly instanceView?: VirtualMachineScaleSetVMInstanceView;\n /** Specifies the hardware settings for the virtual machine. */\n hardwareProfile?: HardwareProfile;\n /** Specifies the resilient VM deletion status for the virtual machine. */\n resilientVMDeletionStatus?: ResilientVMDeletionStatus;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: StorageProfile;\n /** Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the operating system settings for the virtual machine. */\n osProfile?: OSProfile;\n /** Specifies the Security related profile settings for the virtual machine. */\n securityProfile?: SecurityProfile;\n /** Specifies the network interfaces of the virtual machine. */\n networkProfile?: NetworkProfile;\n /** Specifies the network profile configuration of the virtual machine. */\n networkProfileConfiguration?: VirtualMachineScaleSetVMNetworkProfileConfiguration;\n /** Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */\n diagnosticsProfile?: DiagnosticsProfile;\n /** Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. */\n availabilitySet?: SubResource;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */\n licenseType?: string;\n /** Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. */\n readonly modelDefinitionApplied?: string;\n /** Specifies the protection policy of the virtual machine. */\n protectionPolicy?: VirtualMachineScaleSetVMProtectionPolicy;\n /** UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01 */\n userData?: string;\n /** Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Specifies the ARM resource ID of the standalone virtual machine associated with this VMSS VM. This property is only applicable to Virtual Machine Scale Sets with Flexible orchestration mode. Minimum api-version: 2025-11-01. */\n readonly virtualMachineResourceId?: string;\n}\n\nexport function virtualMachineScaleSetVMSerializer(item: VirtualMachineScaleSetVM): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"hardwareProfile\",\n \"resilientVMDeletionStatus\",\n \"storageProfile\",\n \"additionalCapabilities\",\n \"osProfile\",\n \"securityProfile\",\n \"networkProfile\",\n \"networkProfileConfiguration\",\n \"diagnosticsProfile\",\n \"availabilitySet\",\n \"licenseType\",\n \"protectionPolicy\",\n \"userData\",\n ])\n ? undefined\n : _virtualMachineScaleSetVMPropertiesSerializer(item),\n plan: !item[\"plan\"] ? item[\"plan\"] : planSerializer(item[\"plan\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function virtualMachineScaleSetVMDeserializer(item: any): VirtualMachineScaleSetVM {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineScaleSetVMPropertiesDeserializer(item[\"properties\"])),\n instanceId: item[\"instanceId\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuDeserializer(item[\"sku\"]),\n plan: !item[\"plan\"] ? item[\"plan\"] : planDeserializer(item[\"plan\"]),\n resources: !item[\"resources\"]\n ? item[\"resources\"]\n : virtualMachineExtensionArrayDeserializer(item[\"resources\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : virtualMachineIdentityDeserializer(item[\"identity\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Describes the properties of a virtual machine scale set virtual machine. */\nexport interface VirtualMachineScaleSetVMProperties {\n /** Specifies whether the latest model has been applied to the virtual machine. */\n readonly latestModelApplied?: boolean;\n /** Azure VM unique ID. */\n readonly vmId?: string;\n /** The virtual machine instance view. */\n readonly instanceView?: VirtualMachineScaleSetVMInstanceView;\n /** Specifies the hardware settings for the virtual machine. */\n hardwareProfile?: HardwareProfile;\n /** Specifies the resilient VM deletion status for the virtual machine. */\n resilientVMDeletionStatus?: ResilientVMDeletionStatus;\n /** Specifies the storage settings for the virtual machine disks. */\n storageProfile?: StorageProfile;\n /** Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. */\n additionalCapabilities?: AdditionalCapabilities;\n /** Specifies the operating system settings for the virtual machine. */\n osProfile?: OSProfile;\n /** Specifies the Security related profile settings for the virtual machine. */\n securityProfile?: SecurityProfile;\n /** Specifies the network interfaces of the virtual machine. */\n networkProfile?: NetworkProfile;\n /** Specifies the network profile configuration of the virtual machine. */\n networkProfileConfiguration?: VirtualMachineScaleSetVMNetworkProfileConfiguration;\n /** Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */\n diagnosticsProfile?: DiagnosticsProfile;\n /** Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. */\n availabilitySet?: SubResource;\n /** The provisioning state, which only appears in the response. */\n readonly provisioningState?: string;\n /** Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */\n licenseType?: string;\n /** Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. */\n readonly modelDefinitionApplied?: string;\n /** Specifies the protection policy of the virtual machine. */\n protectionPolicy?: VirtualMachineScaleSetVMProtectionPolicy;\n /** UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01 */\n userData?: string;\n /** Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. */\n readonly timeCreated?: Date;\n /** Specifies the ARM resource ID of the standalone virtual machine associated with this VMSS VM. This property is only applicable to Virtual Machine Scale Sets with Flexible orchestration mode. Minimum api-version: 2025-11-01. */\n readonly virtualMachineResourceId?: string;\n}\n\nexport function virtualMachineScaleSetVMPropertiesSerializer(\n item: VirtualMachineScaleSetVMProperties,\n): any {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileSerializer(item[\"hardwareProfile\"]),\n resilientVMDeletionStatus: item[\"resilientVMDeletionStatus\"],\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileSerializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileSerializer(item[\"osProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileSerializer(item[\"securityProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileSerializer(item[\"networkProfile\"]),\n networkProfileConfiguration: !item[\"networkProfileConfiguration\"]\n ? item[\"networkProfileConfiguration\"]\n : virtualMachineScaleSetVMNetworkProfileConfigurationSerializer(\n item[\"networkProfileConfiguration\"],\n ),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileSerializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceSerializer(item[\"availabilitySet\"]),\n licenseType: item[\"licenseType\"],\n protectionPolicy: !item[\"protectionPolicy\"]\n ? item[\"protectionPolicy\"]\n : virtualMachineScaleSetVMProtectionPolicySerializer(item[\"protectionPolicy\"]),\n userData: item[\"userData\"],\n };\n}\n\nexport function virtualMachineScaleSetVMPropertiesDeserializer(\n item: any,\n): VirtualMachineScaleSetVMProperties {\n return {\n latestModelApplied: item[\"latestModelApplied\"],\n vmId: item[\"vmId\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineScaleSetVMInstanceViewDeserializer(item[\"instanceView\"]),\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileDeserializer(item[\"hardwareProfile\"]),\n resilientVMDeletionStatus: item[\"resilientVMDeletionStatus\"],\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileDeserializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesDeserializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileDeserializer(item[\"osProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileDeserializer(item[\"securityProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileDeserializer(item[\"networkProfile\"]),\n networkProfileConfiguration: !item[\"networkProfileConfiguration\"]\n ? item[\"networkProfileConfiguration\"]\n : virtualMachineScaleSetVMNetworkProfileConfigurationDeserializer(\n item[\"networkProfileConfiguration\"],\n ),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileDeserializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceDeserializer(item[\"availabilitySet\"]),\n provisioningState: item[\"provisioningState\"],\n licenseType: item[\"licenseType\"],\n modelDefinitionApplied: item[\"modelDefinitionApplied\"],\n protectionPolicy: !item[\"protectionPolicy\"]\n ? item[\"protectionPolicy\"]\n : virtualMachineScaleSetVMProtectionPolicyDeserializer(item[\"protectionPolicy\"]),\n userData: item[\"userData\"],\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n virtualMachineResourceId: item[\"virtualMachineResourceId\"],\n };\n}\n\n/** The instance view of a virtual machine scale set VM. */\nexport interface VirtualMachineScaleSetVMInstanceView {\n /** The Update Domain count. */\n platformUpdateDomain?: number;\n /** The Fault Domain count. */\n platformFaultDomain?: number;\n /** The Remote desktop certificate thumbprint. */\n rdpThumbPrint?: string;\n /** The VM Agent running on the virtual machine. */\n vmAgent?: VirtualMachineAgentInstanceView;\n /** The Maintenance Operation status on the virtual machine. */\n maintenanceRedeployStatus?: MaintenanceRedeployStatus;\n /** The disks information. */\n disks?: DiskInstanceView[];\n /** The extensions information. */\n extensions?: VirtualMachineExtensionInstanceView[];\n /** The health status for the VM. */\n readonly vmHealth?: VirtualMachineHealthStatus;\n /** Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. */\n bootDiagnostics?: BootDiagnosticsInstanceView;\n /** The resource status information. */\n statuses?: InstanceViewStatus[];\n /** Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. */\n readonly assignedHost?: string;\n /** The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId. */\n placementGroupId?: string;\n /** Specifies the host OS name of the virtual machine. <br><br> This name cannot be updated after the VM is created. <br><br> **Max-length (Windows):** 15 characters <br><br> **Max-length (Linux):** 64 characters. <br><br> For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://learn.microsoft.com/previous-versions/azure/virtual-machines/linux/infrastructure-example?toc=%2Fazure%2Fvirtual-machines%2Flinux%2Ftoc.json#1-naming-conventions). */\n computerName?: string;\n /** The Operating System running on the hybrid machine. */\n osName?: string;\n /** The version of Operating System running on the hybrid machine. */\n osVersion?: string;\n /** The hypervisor generation of the Virtual Machine [V1, V2] */\n hyperVGeneration?: HyperVGeneration;\n}\n\nexport function virtualMachineScaleSetVMInstanceViewDeserializer(\n item: any,\n): VirtualMachineScaleSetVMInstanceView {\n return {\n platformUpdateDomain: item[\"platformUpdateDomain\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n rdpThumbPrint: item[\"rdpThumbPrint\"],\n vmAgent: !item[\"vmAgent\"]\n ? item[\"vmAgent\"]\n : virtualMachineAgentInstanceViewDeserializer(item[\"vmAgent\"]),\n maintenanceRedeployStatus: !item[\"maintenanceRedeployStatus\"]\n ? item[\"maintenanceRedeployStatus\"]\n : maintenanceRedeployStatusDeserializer(item[\"maintenanceRedeployStatus\"]),\n disks: !item[\"disks\"] ? item[\"disks\"] : diskInstanceViewArrayDeserializer(item[\"disks\"]),\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : virtualMachineExtensionInstanceViewArrayDeserializer(item[\"extensions\"]),\n vmHealth: !item[\"vmHealth\"]\n ? item[\"vmHealth\"]\n : virtualMachineHealthStatusDeserializer(item[\"vmHealth\"]),\n bootDiagnostics: !item[\"bootDiagnostics\"]\n ? item[\"bootDiagnostics\"]\n : bootDiagnosticsInstanceViewDeserializer(item[\"bootDiagnostics\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n assignedHost: item[\"assignedHost\"],\n placementGroupId: item[\"placementGroupId\"],\n computerName: item[\"computerName\"],\n osName: item[\"osName\"],\n osVersion: item[\"osVersion\"],\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\n/** Specifies the resilient VM deletion status for the virtual machine. */\nexport enum KnownResilientVMDeletionStatus {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** InProgress */\n InProgress = \"InProgress\",\n /** Failed */\n Failed = \"Failed\",\n}\n\n/**\n * Specifies the resilient VM deletion status for the virtual machine. \\\n * {@link KnownResilientVMDeletionStatus} can be used interchangeably with ResilientVMDeletionStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled** \\\n * **Disabled** \\\n * **InProgress** \\\n * **Failed**\n */\nexport type ResilientVMDeletionStatus = string;\n\n/** Describes a virtual machine scale set VM network profile. */\nexport interface VirtualMachineScaleSetVMNetworkProfileConfiguration {\n /** The list of network configurations. */\n networkInterfaceConfigurations?: VirtualMachineScaleSetNetworkConfiguration[];\n}\n\nexport function virtualMachineScaleSetVMNetworkProfileConfigurationSerializer(\n item: VirtualMachineScaleSetVMNetworkProfileConfiguration,\n): any {\n return {\n networkInterfaceConfigurations: !item[\"networkInterfaceConfigurations\"]\n ? item[\"networkInterfaceConfigurations\"]\n : virtualMachineScaleSetNetworkConfigurationArraySerializer(\n item[\"networkInterfaceConfigurations\"],\n ),\n };\n}\n\nexport function virtualMachineScaleSetVMNetworkProfileConfigurationDeserializer(\n item: any,\n): VirtualMachineScaleSetVMNetworkProfileConfiguration {\n return {\n networkInterfaceConfigurations: !item[\"networkInterfaceConfigurations\"]\n ? item[\"networkInterfaceConfigurations\"]\n : virtualMachineScaleSetNetworkConfigurationArrayDeserializer(\n item[\"networkInterfaceConfigurations\"],\n ),\n };\n}\n\n/** The protection policy of a virtual machine scale set VM. */\nexport interface VirtualMachineScaleSetVMProtectionPolicy {\n /** Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. */\n protectFromScaleIn?: boolean;\n /** Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. */\n protectFromScaleSetActions?: boolean;\n}\n\nexport function virtualMachineScaleSetVMProtectionPolicySerializer(\n item: VirtualMachineScaleSetVMProtectionPolicy,\n): any {\n return {\n protectFromScaleIn: item[\"protectFromScaleIn\"],\n protectFromScaleSetActions: item[\"protectFromScaleSetActions\"],\n };\n}\n\nexport function virtualMachineScaleSetVMProtectionPolicyDeserializer(\n item: any,\n): VirtualMachineScaleSetVMProtectionPolicy {\n return {\n protectFromScaleIn: item[\"protectFromScaleIn\"],\n protectFromScaleSetActions: item[\"protectFromScaleSetActions\"],\n };\n}\n\n/** The List Virtual Machine Scale Set VMs operation response. */\nexport interface _VirtualMachineScaleSetVMListResult {\n /** The list of virtual machine scale sets VMs. */\n value: VirtualMachineScaleSetVM[];\n /** The uri to fetch the next page of Virtual Machine Scale Set VMs. Call ListNext() with this to fetch the next page of VMSS VMs. */\n nextLink?: string;\n}\n\nexport function _virtualMachineScaleSetVMListResultDeserializer(\n item: any,\n): _VirtualMachineScaleSetVMListResult {\n return {\n value: virtualMachineScaleSetVMArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function virtualMachineScaleSetVMArraySerializer(\n result: Array<VirtualMachineScaleSetVM>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetVMSerializer(item);\n });\n}\n\nexport function virtualMachineScaleSetVMArrayDeserializer(\n result: Array<VirtualMachineScaleSetVM>,\n): any[] {\n return result.map((item) => {\n return virtualMachineScaleSetVMDeserializer(item);\n });\n}\n\n/** Specifies information about the SSH public key. */\nexport interface SshPublicKeyResource extends TrackedResource {\n /** SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. */\n publicKey?: string;\n}\n\nexport function sshPublicKeyResourceSerializer(item: SshPublicKeyResource): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\"publicKey\"])\n ? undefined\n : _sshPublicKeyResourcePropertiesSerializer(item),\n };\n}\n\nexport function sshPublicKeyResourceDeserializer(item: any): SshPublicKeyResource {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _sshPublicKeyResourcePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties of the SSH public key. */\nexport interface SshPublicKeyResourceProperties {\n /** SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. */\n publicKey?: string;\n}\n\nexport function sshPublicKeyResourcePropertiesSerializer(\n item: SshPublicKeyResourceProperties,\n): any {\n return { publicKey: item[\"publicKey\"] };\n}\n\nexport function sshPublicKeyResourcePropertiesDeserializer(\n item: any,\n): SshPublicKeyResourceProperties {\n return {\n publicKey: item[\"publicKey\"],\n };\n}\n\n/** Specifies information about the SSH public key. */\nexport interface SshPublicKeyUpdateResource extends UpdateResource {\n /** SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. */\n publicKey?: string;\n}\n\nexport function sshPublicKeyUpdateResourceSerializer(item: SshPublicKeyUpdateResource): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"publicKey\"])\n ? undefined\n : _sshPublicKeyUpdateResourcePropertiesSerializer(item),\n };\n}\n\n/** The list SSH public keys operation response. */\nexport interface _SshPublicKeysGroupListResult {\n /** The list of SSH public keys. */\n value: SshPublicKeyResource[];\n /** The URI to fetch the next page of SSH public keys. Call ListNext() with this URI to fetch the next page of SSH public keys. */\n nextLink?: string;\n}\n\nexport function _sshPublicKeysGroupListResultDeserializer(\n item: any,\n): _SshPublicKeysGroupListResult {\n return {\n value: sshPublicKeyResourceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function sshPublicKeyResourceArraySerializer(result: Array<SshPublicKeyResource>): any[] {\n return result.map((item) => {\n return sshPublicKeyResourceSerializer(item);\n });\n}\n\nexport function sshPublicKeyResourceArrayDeserializer(result: Array<SshPublicKeyResource>): any[] {\n return result.map((item) => {\n return sshPublicKeyResourceDeserializer(item);\n });\n}\n\n/** Parameters for GenerateSshKeyPair. */\nexport interface SshGenerateKeyPairInputParameters {\n /** The encryption type of the SSH keys to be generated. See SshEncryptionTypes for possible set of values. If not provided, will default to RSA */\n encryptionType?: SshEncryptionTypes;\n}\n\nexport function sshGenerateKeyPairInputParametersSerializer(\n item: SshGenerateKeyPairInputParameters,\n): any {\n return { encryptionType: item[\"encryptionType\"] };\n}\n\n/** The encryption type of the SSH keys to be generated. See SshEncryptionTypes for possible set of values. If not provided, will default to RSA */\nexport enum KnownSshEncryptionTypes {\n /** RSA */\n RSA = \"RSA\",\n /** Ed25519 */\n Ed25519 = \"Ed25519\",\n}\n\n/**\n * The encryption type of the SSH keys to be generated. See SshEncryptionTypes for possible set of values. If not provided, will default to RSA \\\n * {@link KnownSshEncryptionTypes} can be used interchangeably with SshEncryptionTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RSA** \\\n * **Ed25519**\n */\nexport type SshEncryptionTypes = string;\n\n/** Response from generation of an SSH key pair. */\nexport interface SshPublicKeyGenerateKeyPairResult {\n /** Private key portion of the key pair used to authenticate to a virtual machine through ssh. The private key is returned in RFC3447 format and should be treated as a secret. */\n privateKey: string;\n /** Public key portion of the key pair used to authenticate to a virtual machine through ssh. The public key is in ssh-rsa format. */\n publicKey: string;\n /** The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{SshPublicKeyName} */\n id: string;\n}\n\nexport function sshPublicKeyGenerateKeyPairResultDeserializer(\n item: any,\n): SshPublicKeyGenerateKeyPairResult {\n return {\n privateKey: item[\"privateKey\"],\n publicKey: item[\"publicKey\"],\n id: item[\"id\"],\n };\n}\n\n/** The List Usages operation response. */\nexport interface _ListUsagesResult {\n /** The list of compute resource usages. */\n value: Usage[];\n /** The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information. */\n nextLink?: string;\n}\n\nexport function _listUsagesResultDeserializer(item: any): _ListUsagesResult {\n return {\n value: usageArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function usageArrayDeserializer(result: Array<Usage>): any[] {\n return result.map((item) => {\n return usageDeserializer(item);\n });\n}\n\n/** Describes Compute Resource Usage. */\nexport interface Usage {\n /** An enum describing the unit of usage measurement. */\n unit: \"Count\";\n /** The current usage of the resource. */\n currentValue: number;\n /** The maximum permitted usage of the resource. */\n limit: number;\n /** The name of the type of usage. */\n name: UsageName;\n}\n\nexport function usageDeserializer(item: any): Usage {\n return {\n unit: item[\"unit\"],\n currentValue: item[\"currentValue\"],\n limit: item[\"limit\"],\n name: usageNameDeserializer(item[\"name\"]),\n };\n}\n\n/** The Usage Names. */\nexport interface UsageName {\n /** The name of the resource. */\n value?: string;\n /** The localized name of the resource. */\n localizedValue?: string;\n}\n\nexport function usageNameDeserializer(item: any): UsageName {\n return {\n value: item[\"value\"],\n localizedValue: item[\"localizedValue\"],\n };\n}\n\n/** Virtual machine image resource information. */\nexport interface VirtualMachineImageResource extends SubResource {\n /** The name of the resource. */\n name: string;\n /** The supported Azure location of the resource. */\n location: string;\n /** Specifies the tags that are assigned to the virtual machine. For more information about using tags, see [Using tags to organize your Azure resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md). */\n tags?: Record<string, string>;\n /** The extended location of the Virtual Machine. */\n extendedLocation?: ExtendedLocation;\n}\n\nexport function virtualMachineImageResourceDeserializer(item: any): VirtualMachineImageResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationDeserializer(item[\"extendedLocation\"]),\n };\n}\n\n/** Describes a Virtual Machine Image. */\nexport interface VirtualMachineImage extends VirtualMachineImageResource {\n /** Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. */\n plan?: PurchasePlan;\n /** Contains the os disk image information. */\n osDiskImage?: OSDiskImage;\n /** The list of data disk images information. */\n dataDiskImages?: DataDiskImage[];\n /** Describes automatic OS upgrade properties on the image. */\n automaticOSUpgradeProperties?: AutomaticOSUpgradeProperties;\n /** Specifies the HyperVGeneration Type */\n hyperVGeneration?: HyperVGenerationTypes;\n /** Specifies disallowed configuration for the VirtualMachine created from the image */\n disallowed?: DisallowedConfiguration;\n features?: VirtualMachineImageFeature[];\n /** Specifies the Architecture Type */\n architecture?: ArchitectureTypes;\n /** Describes image deprecation status properties on the image. */\n imageDeprecationStatus?: ImageDeprecationStatus;\n}\n\nexport function virtualMachineImageDeserializer(item: any): VirtualMachineImage {\n return {\n name: item[\"name\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationDeserializer(item[\"extendedLocation\"]),\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _virtualMachineImagePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Describes the properties of a Virtual Machine Image. */\nexport interface VirtualMachineImageProperties {\n /** Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. */\n plan?: PurchasePlan;\n /** Contains the os disk image information. */\n osDiskImage?: OSDiskImage;\n /** The list of data disk images information. */\n dataDiskImages?: DataDiskImage[];\n /** Describes automatic OS upgrade properties on the image. */\n automaticOSUpgradeProperties?: AutomaticOSUpgradeProperties;\n /** Specifies the HyperVGeneration Type */\n hyperVGeneration?: HyperVGenerationTypes;\n /** Specifies disallowed configuration for the VirtualMachine created from the image */\n disallowed?: DisallowedConfiguration;\n features?: VirtualMachineImageFeature[];\n /** Specifies the Architecture Type */\n architecture?: ArchitectureTypes;\n /** Describes image deprecation status properties on the image. */\n imageDeprecationStatus?: ImageDeprecationStatus;\n}\n\nexport function virtualMachineImagePropertiesDeserializer(\n item: any,\n): VirtualMachineImageProperties {\n return {\n plan: !item[\"plan\"] ? item[\"plan\"] : purchasePlanDeserializer(item[\"plan\"]),\n osDiskImage: !item[\"osDiskImage\"]\n ? item[\"osDiskImage\"]\n : osDiskImageDeserializer(item[\"osDiskImage\"]),\n dataDiskImages: !item[\"dataDiskImages\"]\n ? item[\"dataDiskImages\"]\n : dataDiskImageArrayDeserializer(item[\"dataDiskImages\"]),\n automaticOSUpgradeProperties: !item[\"automaticOSUpgradeProperties\"]\n ? item[\"automaticOSUpgradeProperties\"]\n : automaticOSUpgradePropertiesDeserializer(item[\"automaticOSUpgradeProperties\"]),\n hyperVGeneration: item[\"hyperVGeneration\"],\n disallowed: !item[\"disallowed\"]\n ? item[\"disallowed\"]\n : disallowedConfigurationDeserializer(item[\"disallowed\"]),\n features: !item[\"features\"]\n ? item[\"features\"]\n : virtualMachineImageFeatureArrayDeserializer(item[\"features\"]),\n architecture: item[\"architecture\"],\n imageDeprecationStatus: !item[\"imageDeprecationStatus\"]\n ? item[\"imageDeprecationStatus\"]\n : imageDeprecationStatusDeserializer(item[\"imageDeprecationStatus\"]),\n };\n}\n\n/** Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. */\nexport interface PurchasePlan {\n /** The publisher ID. */\n publisher: string;\n /** The plan ID. */\n name: string;\n /** Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. */\n product: string;\n}\n\nexport function purchasePlanDeserializer(item: any): PurchasePlan {\n return {\n publisher: item[\"publisher\"],\n name: item[\"name\"],\n product: item[\"product\"],\n };\n}\n\n/** Contains the os disk image information. */\nexport interface OSDiskImage {\n /** The operating system of the osDiskImage. */\n operatingSystem: OperatingSystemTypes;\n}\n\nexport function osDiskImageDeserializer(item: any): OSDiskImage {\n return {\n operatingSystem: item[\"operatingSystem\"],\n };\n}\n\nexport function dataDiskImageArrayDeserializer(result: Array<DataDiskImage>): any[] {\n return result.map((item) => {\n return dataDiskImageDeserializer(item);\n });\n}\n\n/** Contains the data disk images information. */\nexport interface DataDiskImage {\n /** Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. */\n readonly lun?: number;\n}\n\nexport function dataDiskImageDeserializer(item: any): DataDiskImage {\n return {\n lun: item[\"lun\"],\n };\n}\n\n/** Describes automatic OS upgrade properties on the image. */\nexport interface AutomaticOSUpgradeProperties {\n /** Specifies whether automatic OS upgrade is supported on the image. */\n automaticOSUpgradeSupported: boolean;\n}\n\nexport function automaticOSUpgradePropertiesDeserializer(item: any): AutomaticOSUpgradeProperties {\n return {\n automaticOSUpgradeSupported: item[\"automaticOSUpgradeSupported\"],\n };\n}\n\n/** Specifies the disallowed configuration for a virtual machine image. */\nexport interface DisallowedConfiguration {\n /** VM disk types which are disallowed. */\n vmDiskType?: VmDiskTypes;\n}\n\nexport function disallowedConfigurationDeserializer(item: any): DisallowedConfiguration {\n return {\n vmDiskType: item[\"vmDiskType\"],\n };\n}\n\n/** VM disk types which are disallowed. */\nexport enum KnownVmDiskTypes {\n /** None */\n None = \"None\",\n /** Unmanaged */\n Unmanaged = \"Unmanaged\",\n}\n\n/**\n * VM disk types which are disallowed. \\\n * {@link KnownVmDiskTypes} can be used interchangeably with VmDiskTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Unmanaged**\n */\nexport type VmDiskTypes = string;\n\nexport function virtualMachineImageFeatureArrayDeserializer(\n result: Array<VirtualMachineImageFeature>,\n): any[] {\n return result.map((item) => {\n return virtualMachineImageFeatureDeserializer(item);\n });\n}\n\n/** Specifies additional capabilities supported by the image */\nexport interface VirtualMachineImageFeature {\n /** The name of the feature. */\n name?: string;\n /** The corresponding value for the feature. */\n value?: string;\n}\n\nexport function virtualMachineImageFeatureDeserializer(item: any): VirtualMachineImageFeature {\n return {\n name: item[\"name\"],\n value: item[\"value\"],\n };\n}\n\n/** Specifies the Architecture Type */\nexport enum KnownArchitectureTypes {\n /** x64 */\n X64 = \"x64\",\n /** Arm64 */\n Arm64 = \"Arm64\",\n}\n\n/**\n * Specifies the Architecture Type \\\n * {@link KnownArchitectureTypes} can be used interchangeably with ArchitectureTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **x64** \\\n * **Arm64**\n */\nexport type ArchitectureTypes = string;\n\n/** Describes image deprecation status properties on the image. */\nexport interface ImageDeprecationStatus {\n /** Describes the state of the image. */\n imageState?: ImageState;\n /** The time, in future, at which this image will be marked as deprecated. This scheduled time is chosen by the Publisher. */\n scheduledDeprecationTime?: Date;\n /** Describes the alternative option specified by the Publisher for this image when this image is deprecated. */\n alternativeOption?: AlternativeOption;\n}\n\nexport function imageDeprecationStatusDeserializer(item: any): ImageDeprecationStatus {\n return {\n imageState: item[\"imageState\"],\n scheduledDeprecationTime: !item[\"scheduledDeprecationTime\"]\n ? item[\"scheduledDeprecationTime\"]\n : new Date(item[\"scheduledDeprecationTime\"]),\n alternativeOption: !item[\"alternativeOption\"]\n ? item[\"alternativeOption\"]\n : alternativeOptionDeserializer(item[\"alternativeOption\"]),\n };\n}\n\n/** Describes the state of the image. */\nexport enum KnownImageState {\n /** Active */\n Active = \"Active\",\n /** ScheduledForDeprecation */\n ScheduledForDeprecation = \"ScheduledForDeprecation\",\n /** Deprecated */\n Deprecated = \"Deprecated\",\n}\n\n/**\n * Describes the state of the image. \\\n * {@link KnownImageState} can be used interchangeably with ImageState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **ScheduledForDeprecation** \\\n * **Deprecated**\n */\nexport type ImageState = string;\n\n/** Describes the alternative option specified by the Publisher for this image when this image is deprecated. */\nexport interface AlternativeOption {\n /** Describes the type of the alternative option. */\n type?: AlternativeType;\n /** Indicates the alternative option value specified by the Publisher. This is the Offer name when the type is Offer or the Plan name when the type is Plan. */\n value?: string;\n}\n\nexport function alternativeOptionDeserializer(item: any): AlternativeOption {\n return {\n type: item[\"type\"],\n value: item[\"value\"],\n };\n}\n\n/** Describes the type of the alternative option. */\nexport enum KnownAlternativeType {\n /** None */\n None = \"None\",\n /** Offer */\n Offer = \"Offer\",\n /** Plan */\n Plan = \"Plan\",\n}\n\n/**\n * Describes the type of the alternative option. \\\n * {@link KnownAlternativeType} can be used interchangeably with AlternativeType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Offer** \\\n * **Plan**\n */\nexport type AlternativeType = string;\n\n/** The List VmImages in EdgeZone operation response. */\nexport interface VmImagesInEdgeZoneListResult {\n /** The list of VMImages in EdgeZone */\n value?: VirtualMachineImageResource[];\n /** The URI to fetch the next page of VMImages in EdgeZone. Call ListNext() with this URI to fetch the next page of VmImages. */\n nextLink?: string;\n}\n\nexport function vmImagesInEdgeZoneListResultDeserializer(item: any): VmImagesInEdgeZoneListResult {\n return {\n value: !item[\"value\"]\n ? item[\"value\"]\n : virtualMachineImageResourceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function virtualMachineImageResourceArrayDeserializer(\n result: Array<VirtualMachineImageResource>,\n): any[] {\n return result.map((item) => {\n return virtualMachineImageResourceDeserializer(item);\n });\n}\n\n/** Api request input for LogAnalytics getRequestRateByInterval Api. */\nexport interface RequestRateByIntervalInput extends LogAnalyticsInputBase {\n /** Interval value in minutes used to create LogAnalytics call rate logs. */\n intervalLength: IntervalInMins;\n}\n\nexport function requestRateByIntervalInputSerializer(item: RequestRateByIntervalInput): any {\n return {\n blobContainerSasUri: item[\"blobContainerSasUri\"],\n fromTime: item[\"fromTime\"].toISOString(),\n toTime: item[\"toTime\"].toISOString(),\n groupByThrottlePolicy: item[\"groupByThrottlePolicy\"],\n groupByOperationName: item[\"groupByOperationName\"],\n groupByResourceName: item[\"groupByResourceName\"],\n groupByClientApplicationId: item[\"groupByClientApplicationId\"],\n groupByUserAgent: item[\"groupByUserAgent\"],\n intervalLength: item[\"intervalLength\"],\n };\n}\n\n/** Interval value in minutes used to create LogAnalytics call rate logs. */\nexport type IntervalInMins = \"ThreeMins\" | \"FiveMins\" | \"ThirtyMins\" | \"SixtyMins\";\n\n/** Api input base class for LogAnalytics Api. */\nexport interface LogAnalyticsInputBase {\n /** SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. */\n blobContainerSasUri: string;\n /** From time of the query */\n fromTime: Date;\n /** To time of the query */\n toTime: Date;\n /** Group query result by Throttle Policy applied. */\n groupByThrottlePolicy?: boolean;\n /** Group query result by Operation Name. */\n groupByOperationName?: boolean;\n /** Group query result by Resource Name. */\n groupByResourceName?: boolean;\n /** Group query result by Client Application ID. */\n groupByClientApplicationId?: boolean;\n /** Group query result by User Agent. */\n groupByUserAgent?: boolean;\n}\n\nexport function logAnalyticsInputBaseSerializer(item: LogAnalyticsInputBase): any {\n return {\n blobContainerSasUri: item[\"blobContainerSasUri\"],\n fromTime: item[\"fromTime\"].toISOString(),\n toTime: item[\"toTime\"].toISOString(),\n groupByThrottlePolicy: item[\"groupByThrottlePolicy\"],\n groupByOperationName: item[\"groupByOperationName\"],\n groupByResourceName: item[\"groupByResourceName\"],\n groupByClientApplicationId: item[\"groupByClientApplicationId\"],\n groupByUserAgent: item[\"groupByUserAgent\"],\n };\n}\n\n/** LogAnalytics operation status response */\nexport interface LogAnalyticsOperationResult {\n /** LogAnalyticsOutput */\n readonly properties?: LogAnalyticsOutput;\n}\n\nexport function logAnalyticsOperationResultDeserializer(item: any): LogAnalyticsOperationResult {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : logAnalyticsOutputDeserializer(item[\"properties\"]),\n };\n}\n\n/** LogAnalytics output properties */\nexport interface LogAnalyticsOutput {\n /** Output file Uri path to blob container. */\n readonly output?: string;\n}\n\nexport function logAnalyticsOutputDeserializer(item: any): LogAnalyticsOutput {\n return {\n output: item[\"output\"],\n };\n}\n\n/** Api request input for LogAnalytics getThrottledRequests Api. */\nexport interface ThrottledRequestsInput extends LogAnalyticsInputBase {}\n\nexport function throttledRequestsInputSerializer(item: ThrottledRequestsInput): any {\n return {\n blobContainerSasUri: item[\"blobContainerSasUri\"],\n fromTime: item[\"fromTime\"].toISOString(),\n toTime: item[\"toTime\"].toISOString(),\n groupByThrottlePolicy: item[\"groupByThrottlePolicy\"],\n groupByOperationName: item[\"groupByOperationName\"],\n groupByResourceName: item[\"groupByResourceName\"],\n groupByClientApplicationId: item[\"groupByClientApplicationId\"],\n groupByUserAgent: item[\"groupByUserAgent\"],\n };\n}\n\n/** Known values of {@link ExpandTypesForGetVMScaleSets} that the service accepts. */\nexport enum KnownExpandTypesForGetVMScaleSets {\n /** userData */\n UserData = \"userData\",\n}\n\n/** Type of ExpandTypesForGetVMScaleSets */\nexport type ExpandTypesForGetVMScaleSets = string;\n/** Type of InstanceViewTypes */\nexport type InstanceViewTypes = \"instanceView\" | \"userData\" | \"resiliencyView\";\n\n/** Known values of {@link ExpandTypeForListVMs} that the service accepts. */\nexport enum KnownExpandTypeForListVMs {\n /** instanceView */\n InstanceView = \"instanceView\",\n}\n\n/** Type of ExpandTypeForListVMs */\nexport type ExpandTypeForListVMs = string;\n\n/** Known values of {@link ExpandTypesForListVMs} that the service accepts. */\nexport enum KnownExpandTypesForListVMs {\n /** instanceView */\n InstanceView = \"instanceView\",\n}\n\n/** Type of ExpandTypesForListVMs */\nexport type ExpandTypesForListVMs = string;\n\n/** Known values of {@link RestorePointCollectionExpandOptions} that the service accepts. */\nexport enum KnownRestorePointCollectionExpandOptions {\n /** restorePoints */\n RestorePoints = \"restorePoints\",\n}\n\n/** Type of RestorePointCollectionExpandOptions */\nexport type RestorePointCollectionExpandOptions = string;\n\n/** Known values of {@link RestorePointExpandOptions} that the service accepts. */\nexport enum KnownRestorePointExpandOptions {\n /** instanceView */\n InstanceView = \"instanceView\",\n}\n\n/** Type of RestorePointExpandOptions */\nexport type RestorePointExpandOptions = string;\n\n/** Known values of {@link CapacityReservationGroupInstanceViewTypes} that the service accepts. */\nexport enum KnownCapacityReservationGroupInstanceViewTypes {\n /** instanceView */\n InstanceView = \"instanceView\",\n}\n\n/** Type of CapacityReservationGroupInstanceViewTypes */\nexport type CapacityReservationGroupInstanceViewTypes = string;\n\n/** Known values of {@link ExpandTypesForGetCapacityReservationGroups} that the service accepts. */\nexport enum KnownExpandTypesForGetCapacityReservationGroups {\n /** virtualMachineScaleSetVMs/$ref */\n VirtualMachineScaleSetVMsRef = \"virtualMachineScaleSetVMs/$ref\",\n /** virtualMachines/$ref */\n VirtualMachinesRef = \"virtualMachines/$ref\",\n}\n\n/** Type of ExpandTypesForGetCapacityReservationGroups */\nexport type ExpandTypesForGetCapacityReservationGroups = string;\n\n/** Known values of {@link ResourceIdOptionsForGetCapacityReservationGroups} that the service accepts. */\nexport enum KnownResourceIdOptionsForGetCapacityReservationGroups {\n /** CreatedInSubscription */\n CreatedInSubscription = \"CreatedInSubscription\",\n /** SharedWithSubscription */\n SharedWithSubscription = \"SharedWithSubscription\",\n /** All */\n All = \"All\",\n}\n\n/** Type of ResourceIdOptionsForGetCapacityReservationGroups */\nexport type ResourceIdOptionsForGetCapacityReservationGroups = string;\n\n/** Known values of {@link CapacityReservationInstanceViewTypes} that the service accepts. */\nexport enum KnownCapacityReservationInstanceViewTypes {\n /** instanceView */\n InstanceView = \"instanceView\",\n}\n\n/** Type of CapacityReservationInstanceViewTypes */\nexport type CapacityReservationInstanceViewTypes = string;\n\nexport function virtualMachineImageArrayDeserializer(result: Array<VirtualMachineImage>): any[] {\n return result.map((item) => {\n return virtualMachineImageDeserializer(item);\n });\n}\n\nexport function virtualMachineExtensionImageArrayDeserializer(\n result: Array<VirtualMachineExtensionImage>,\n): any[] {\n return result.map((item) => {\n return virtualMachineExtensionImageDeserializer(item);\n });\n}\n\nexport function _virtualMachineScaleSetPublicIPAddressConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetPublicIPAddressConfiguration,\n): any {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsSerializer(\n item[\"dnsSettings\"],\n ),\n ipTags: !item[\"ipTags\"]\n ? item[\"ipTags\"]\n : virtualMachineScaleSetIpTagArraySerializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceSerializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function _virtualMachineScaleSetPublicIPAddressConfigurationPropertiesDeserializer(\n item: any,\n) {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsDeserializer(\n item[\"dnsSettings\"],\n ),\n ipTags: !item[\"ipTags\"]\n ? item[\"ipTags\"]\n : virtualMachineScaleSetIpTagArrayDeserializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceDeserializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function _virtualMachineScaleSetIPConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetIPConfiguration,\n): any {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : apiEntityReferenceSerializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationSerializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArraySerializer(item[\"applicationGatewayBackendAddressPools\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArraySerializer(item[\"applicationSecurityGroups\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArraySerializer(item[\"loadBalancerBackendAddressPools\"]),\n loadBalancerInboundNatPools: !item[\"loadBalancerInboundNatPools\"]\n ? item[\"loadBalancerInboundNatPools\"]\n : subResourceArraySerializer(item[\"loadBalancerInboundNatPools\"]),\n };\n}\n\nexport function _virtualMachineScaleSetIPConfigurationPropertiesDeserializer(item: any) {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : apiEntityReferenceDeserializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDeserializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"applicationGatewayBackendAddressPools\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArrayDeserializer(item[\"applicationSecurityGroups\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"loadBalancerBackendAddressPools\"]),\n loadBalancerInboundNatPools: !item[\"loadBalancerInboundNatPools\"]\n ? item[\"loadBalancerInboundNatPools\"]\n : subResourceArrayDeserializer(item[\"loadBalancerInboundNatPools\"]),\n };\n}\n\nexport function _virtualMachineScaleSetNetworkConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetNetworkConfiguration,\n): any {\n return {\n primary: item[\"primary\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceSerializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetNetworkConfigurationDnsSettingsSerializer(item[\"dnsSettings\"]),\n ipConfigurations: !item[\"ipConfigurations\"]\n ? item[\"ipConfigurations\"]\n : virtualMachineScaleSetIPConfigurationArraySerializer(item[\"ipConfigurations\"]),\n enableIPForwarding: item[\"enableIPForwarding\"],\n deleteOption: item[\"deleteOption\"],\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function _virtualMachineScaleSetNetworkConfigurationPropertiesDeserializer(item: any) {\n return {\n primary: item[\"primary\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceDeserializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetNetworkConfigurationDnsSettingsDeserializer(item[\"dnsSettings\"]),\n ipConfigurations: !item[\"ipConfigurations\"]\n ? item[\"ipConfigurations\"]\n : virtualMachineScaleSetIPConfigurationArrayDeserializer(item[\"ipConfigurations\"]),\n enableIPForwarding: item[\"enableIPForwarding\"],\n deleteOption: item[\"deleteOption\"],\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function _virtualMachineScaleSetExtensionPropertiesSerializer(\n item: VirtualMachineScaleSetExtension,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"typePropertiesType\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\nexport function _virtualMachineScaleSetExtensionPropertiesDeserializer(item: any) {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n typePropertiesType: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisioningState: item[\"provisioningState\"],\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceDeserializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\nexport function _virtualMachineScaleSetPropertiesSerializer(item: VirtualMachineScaleSet): any {\n return {\n upgradePolicy: !item[\"upgradePolicy\"]\n ? item[\"upgradePolicy\"]\n : upgradePolicySerializer(item[\"upgradePolicy\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n automaticRepairsPolicy: !item[\"automaticRepairsPolicy\"]\n ? item[\"automaticRepairsPolicy\"]\n : automaticRepairsPolicySerializer(item[\"automaticRepairsPolicy\"]),\n virtualMachineProfile: !item[\"virtualMachineProfile\"]\n ? item[\"virtualMachineProfile\"]\n : virtualMachineScaleSetVMProfileSerializer(item[\"virtualMachineProfile\"]),\n overprovision: item[\"overprovision\"],\n doNotRunExtensionsOnOverprovisionedVMs: item[\"doNotRunExtensionsOnOverprovisionedVMs\"],\n singlePlacementGroup: item[\"singlePlacementGroup\"],\n zoneBalance: item[\"zoneBalance\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceSerializer(item[\"hostGroup\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n scaleInPolicy: !item[\"scaleInPolicy\"]\n ? item[\"scaleInPolicy\"]\n : scaleInPolicySerializer(item[\"scaleInPolicy\"]),\n orchestrationMode: item[\"orchestrationMode\"],\n spotRestorePolicy: !item[\"spotRestorePolicy\"]\n ? item[\"spotRestorePolicy\"]\n : spotRestorePolicySerializer(item[\"spotRestorePolicy\"]),\n priorityMixPolicy: !item[\"priorityMixPolicy\"]\n ? item[\"priorityMixPolicy\"]\n : priorityMixPolicySerializer(item[\"priorityMixPolicy\"]),\n constrainedMaximumCapacity: item[\"constrainedMaximumCapacity\"],\n resiliencyPolicy: !item[\"resiliencyPolicy\"]\n ? item[\"resiliencyPolicy\"]\n : resiliencyPolicySerializer(item[\"resiliencyPolicy\"]),\n zonalPlatformFaultDomainAlignMode: item[\"zonalPlatformFaultDomainAlignMode\"],\n skuProfile: !item[\"skuProfile\"] ? item[\"skuProfile\"] : skuProfileSerializer(item[\"skuProfile\"]),\n highSpeedInterconnectPlacement: item[\"highSpeedInterconnectPlacement\"],\n lifecycleHooksProfile: !item[\"lifecycleHooksProfile\"]\n ? item[\"lifecycleHooksProfile\"]\n : lifecycleHooksProfileSerializer(item[\"lifecycleHooksProfile\"]),\n externalHealthPolicy: !item[\"externalHealthPolicy\"]\n ? item[\"externalHealthPolicy\"]\n : externalHealthPolicySerializer(item[\"externalHealthPolicy\"]),\n };\n}\n\nexport function _virtualMachineScaleSetPropertiesDeserializer(item: any) {\n return {\n upgradePolicy: !item[\"upgradePolicy\"]\n ? item[\"upgradePolicy\"]\n : upgradePolicyDeserializer(item[\"upgradePolicy\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n automaticRepairsPolicy: !item[\"automaticRepairsPolicy\"]\n ? item[\"automaticRepairsPolicy\"]\n : automaticRepairsPolicyDeserializer(item[\"automaticRepairsPolicy\"]),\n virtualMachineProfile: !item[\"virtualMachineProfile\"]\n ? item[\"virtualMachineProfile\"]\n : virtualMachineScaleSetVMProfileDeserializer(item[\"virtualMachineProfile\"]),\n provisioningState: item[\"provisioningState\"],\n overprovision: item[\"overprovision\"],\n doNotRunExtensionsOnOverprovisionedVMs: item[\"doNotRunExtensionsOnOverprovisionedVMs\"],\n uniqueId: item[\"uniqueId\"],\n singlePlacementGroup: item[\"singlePlacementGroup\"],\n zoneBalance: item[\"zoneBalance\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceDeserializer(item[\"hostGroup\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesDeserializer(item[\"additionalCapabilities\"]),\n scaleInPolicy: !item[\"scaleInPolicy\"]\n ? item[\"scaleInPolicy\"]\n : scaleInPolicyDeserializer(item[\"scaleInPolicy\"]),\n orchestrationMode: item[\"orchestrationMode\"],\n spotRestorePolicy: !item[\"spotRestorePolicy\"]\n ? item[\"spotRestorePolicy\"]\n : spotRestorePolicyDeserializer(item[\"spotRestorePolicy\"]),\n priorityMixPolicy: !item[\"priorityMixPolicy\"]\n ? item[\"priorityMixPolicy\"]\n : priorityMixPolicyDeserializer(item[\"priorityMixPolicy\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n constrainedMaximumCapacity: item[\"constrainedMaximumCapacity\"],\n resiliencyPolicy: !item[\"resiliencyPolicy\"]\n ? item[\"resiliencyPolicy\"]\n : resiliencyPolicyDeserializer(item[\"resiliencyPolicy\"]),\n zonalPlatformFaultDomainAlignMode: item[\"zonalPlatformFaultDomainAlignMode\"],\n skuProfile: !item[\"skuProfile\"]\n ? item[\"skuProfile\"]\n : skuProfileDeserializer(item[\"skuProfile\"]),\n highSpeedInterconnectPlacement: item[\"highSpeedInterconnectPlacement\"],\n lifecycleHooksProfile: !item[\"lifecycleHooksProfile\"]\n ? item[\"lifecycleHooksProfile\"]\n : lifecycleHooksProfileDeserializer(item[\"lifecycleHooksProfile\"]),\n externalHealthPolicy: !item[\"externalHealthPolicy\"]\n ? item[\"externalHealthPolicy\"]\n : externalHealthPolicyDeserializer(item[\"externalHealthPolicy\"]),\n };\n}\n\nexport function _virtualMachineScaleSetUpdatePublicIPAddressConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetUpdatePublicIPAddressConfiguration,\n): any {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsSerializer(\n item[\"dnsSettings\"],\n ),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceSerializer(item[\"publicIPPrefix\"]),\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function _virtualMachineScaleSetUpdateIPConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetUpdateIPConfiguration,\n): any {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : apiEntityReferenceSerializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachineScaleSetUpdatePublicIPAddressConfigurationSerializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArraySerializer(item[\"applicationGatewayBackendAddressPools\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArraySerializer(item[\"applicationSecurityGroups\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArraySerializer(item[\"loadBalancerBackendAddressPools\"]),\n loadBalancerInboundNatPools: !item[\"loadBalancerInboundNatPools\"]\n ? item[\"loadBalancerInboundNatPools\"]\n : subResourceArraySerializer(item[\"loadBalancerInboundNatPools\"]),\n };\n}\n\nexport function _virtualMachineScaleSetUpdateNetworkConfigurationPropertiesSerializer(\n item: VirtualMachineScaleSetUpdateNetworkConfiguration,\n): any {\n return {\n primary: item[\"primary\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceSerializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineScaleSetNetworkConfigurationDnsSettingsSerializer(item[\"dnsSettings\"]),\n ipConfigurations: !item[\"ipConfigurations\"]\n ? item[\"ipConfigurations\"]\n : virtualMachineScaleSetUpdateIPConfigurationArraySerializer(item[\"ipConfigurations\"]),\n enableIPForwarding: item[\"enableIPForwarding\"],\n deleteOption: item[\"deleteOption\"],\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function _virtualMachineScaleSetUpdatePropertiesSerializer(\n item: VirtualMachineScaleSetUpdate,\n): any {\n return {\n upgradePolicy: !item[\"upgradePolicy\"]\n ? item[\"upgradePolicy\"]\n : upgradePolicySerializer(item[\"upgradePolicy\"]),\n automaticRepairsPolicy: !item[\"automaticRepairsPolicy\"]\n ? item[\"automaticRepairsPolicy\"]\n : automaticRepairsPolicySerializer(item[\"automaticRepairsPolicy\"]),\n virtualMachineProfile: !item[\"virtualMachineProfile\"]\n ? item[\"virtualMachineProfile\"]\n : virtualMachineScaleSetUpdateVMProfileSerializer(item[\"virtualMachineProfile\"]),\n overprovision: item[\"overprovision\"],\n doNotRunExtensionsOnOverprovisionedVMs: item[\"doNotRunExtensionsOnOverprovisionedVMs\"],\n singlePlacementGroup: item[\"singlePlacementGroup\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n scaleInPolicy: !item[\"scaleInPolicy\"]\n ? item[\"scaleInPolicy\"]\n : scaleInPolicySerializer(item[\"scaleInPolicy\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n priorityMixPolicy: !item[\"priorityMixPolicy\"]\n ? item[\"priorityMixPolicy\"]\n : priorityMixPolicySerializer(item[\"priorityMixPolicy\"]),\n spotRestorePolicy: !item[\"spotRestorePolicy\"]\n ? item[\"spotRestorePolicy\"]\n : spotRestorePolicySerializer(item[\"spotRestorePolicy\"]),\n resiliencyPolicy: !item[\"resiliencyPolicy\"]\n ? item[\"resiliencyPolicy\"]\n : resiliencyPolicySerializer(item[\"resiliencyPolicy\"]),\n zonalPlatformFaultDomainAlignMode: item[\"zonalPlatformFaultDomainAlignMode\"],\n skuProfile: !item[\"skuProfile\"] ? item[\"skuProfile\"] : skuProfileSerializer(item[\"skuProfile\"]),\n lifecycleHooksProfile: !item[\"lifecycleHooksProfile\"]\n ? item[\"lifecycleHooksProfile\"]\n : lifecycleHooksProfileSerializer(item[\"lifecycleHooksProfile\"]),\n };\n}\n\nexport function _virtualMachineScaleSetExtensionUpdatePropertiesSerializer(\n item: VirtualMachineScaleSetExtensionUpdate,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"typePropertiesType\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\nexport function _virtualMachineScaleSetExtensionUpdatePropertiesDeserializer(item: any) {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n typePropertiesType: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisioningState: item[\"provisioningState\"],\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceDeserializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\nexport function _vmScaleSetLifecycleHookEventUpdatePropertiesSerializer(\n item: VMScaleSetLifecycleHookEventUpdate,\n): any {\n return {\n type: item[\"type\"],\n waitUntil: item[\"waitUntil\"],\n targetResources: !item[\"targetResources\"]\n ? item[\"targetResources\"]\n : vmScaleSetLifecycleHookEventTargetResourceArraySerializer(item[\"targetResources\"]),\n additionalContext: !item[\"additionalContext\"]\n ? item[\"additionalContext\"]\n : vmScaleSetLifecycleHookEventAdditionalContextSerializer(item[\"additionalContext\"]),\n };\n}\n\nexport function _vmScaleSetLifecycleHookEventUpdatePropertiesDeserializer(item: any) {\n return {\n type: item[\"type\"],\n waitUntil: item[\"waitUntil\"],\n maxWaitUntil: item[\"maxWaitUntil\"],\n timeCreated: item[\"timeCreated\"],\n defaultAction: item[\"defaultAction\"],\n targetResources: !item[\"targetResources\"]\n ? item[\"targetResources\"]\n : vmScaleSetLifecycleHookEventTargetResourceArrayDeserializer(item[\"targetResources\"]),\n additionalContext: !item[\"additionalContext\"]\n ? item[\"additionalContext\"]\n : vmScaleSetLifecycleHookEventAdditionalContextDeserializer(item[\"additionalContext\"]),\n state: item[\"state\"],\n };\n}\n\nexport function _virtualMachineScaleSetVMExtensionPropertiesSerializer(\n item: VirtualMachineScaleSetVMExtension,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"typePropertiesType\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineExtensionInstanceViewSerializer(item[\"instanceView\"]),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _virtualMachineScaleSetVMExtensionPropertiesDeserializer(item: any) {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n typePropertiesType: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineExtensionInstanceViewDeserializer(item[\"instanceView\"]),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceDeserializer(item[\"protectedSettingsFromKeyVault\"]),\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _virtualMachineScaleSetVMExtensionUpdatePropertiesSerializer(\n item: VirtualMachineScaleSetVMExtensionUpdate,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"typePropertiesType\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\nexport function _networkInterfaceReferencePropertiesSerializer(\n item: NetworkInterfaceReference,\n): any {\n return { primary: item[\"primary\"], deleteOption: item[\"deleteOption\"] };\n}\n\nexport function _networkInterfaceReferencePropertiesDeserializer(item: any) {\n return {\n primary: item[\"primary\"],\n deleteOption: item[\"deleteOption\"],\n };\n}\n\nexport function _virtualMachinePublicIPAddressConfigurationPropertiesSerializer(\n item: VirtualMachinePublicIPAddressConfiguration,\n): any {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n deleteOption: item[\"deleteOption\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachinePublicIPAddressDnsSettingsConfigurationSerializer(item[\"dnsSettings\"]),\n ipTags: !item[\"ipTags\"] ? item[\"ipTags\"] : virtualMachineIpTagArraySerializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceSerializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n publicIPAllocationMethod: item[\"publicIPAllocationMethod\"],\n };\n}\n\nexport function _virtualMachinePublicIPAddressConfigurationPropertiesDeserializer(item: any) {\n return {\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n deleteOption: item[\"deleteOption\"],\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachinePublicIPAddressDnsSettingsConfigurationDeserializer(item[\"dnsSettings\"]),\n ipTags: !item[\"ipTags\"] ? item[\"ipTags\"] : virtualMachineIpTagArrayDeserializer(item[\"ipTags\"]),\n publicIPPrefix: !item[\"publicIPPrefix\"]\n ? item[\"publicIPPrefix\"]\n : subResourceDeserializer(item[\"publicIPPrefix\"]),\n publicIPAddressVersion: item[\"publicIPAddressVersion\"],\n publicIPAllocationMethod: item[\"publicIPAllocationMethod\"],\n };\n}\n\nexport function _virtualMachineNetworkInterfaceIPConfigurationPropertiesSerializer(\n item: VirtualMachineNetworkInterfaceIPConfiguration,\n): any {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : subResourceSerializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachinePublicIPAddressConfigurationSerializer(item[\"publicIPAddressConfiguration\"]),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArraySerializer(item[\"applicationSecurityGroups\"]),\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArraySerializer(item[\"applicationGatewayBackendAddressPools\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArraySerializer(item[\"loadBalancerBackendAddressPools\"]),\n };\n}\n\nexport function _virtualMachineNetworkInterfaceIPConfigurationPropertiesDeserializer(item: any) {\n return {\n subnet: !item[\"subnet\"] ? item[\"subnet\"] : subResourceDeserializer(item[\"subnet\"]),\n primary: item[\"primary\"],\n publicIPAddressConfiguration: !item[\"publicIPAddressConfiguration\"]\n ? item[\"publicIPAddressConfiguration\"]\n : virtualMachinePublicIPAddressConfigurationDeserializer(\n item[\"publicIPAddressConfiguration\"],\n ),\n privateIPAddressVersion: item[\"privateIPAddressVersion\"],\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : subResourceArrayDeserializer(item[\"applicationSecurityGroups\"]),\n applicationGatewayBackendAddressPools: !item[\"applicationGatewayBackendAddressPools\"]\n ? item[\"applicationGatewayBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"applicationGatewayBackendAddressPools\"]),\n loadBalancerBackendAddressPools: !item[\"loadBalancerBackendAddressPools\"]\n ? item[\"loadBalancerBackendAddressPools\"]\n : subResourceArrayDeserializer(item[\"loadBalancerBackendAddressPools\"]),\n };\n}\n\nexport function _virtualMachineNetworkInterfaceConfigurationPropertiesSerializer(\n item: VirtualMachineNetworkInterfaceConfiguration,\n): any {\n return {\n primary: item[\"primary\"],\n deleteOption: item[\"deleteOption\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n enableIPForwarding: item[\"enableIPForwarding\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceSerializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineNetworkInterfaceDnsSettingsConfigurationSerializer(item[\"dnsSettings\"]),\n ipConfigurations: !item[\"ipConfigurations\"]\n ? item[\"ipConfigurations\"]\n : virtualMachineNetworkInterfaceIPConfigurationArraySerializer(item[\"ipConfigurations\"]),\n dscpConfiguration: !item[\"dscpConfiguration\"]\n ? item[\"dscpConfiguration\"]\n : subResourceSerializer(item[\"dscpConfiguration\"]),\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function _virtualMachineNetworkInterfaceConfigurationPropertiesDeserializer(item: any) {\n return {\n primary: item[\"primary\"],\n deleteOption: item[\"deleteOption\"],\n enableAcceleratedNetworking: item[\"enableAcceleratedNetworking\"],\n disableTcpStateTracking: item[\"disableTcpStateTracking\"],\n enableFpga: item[\"enableFpga\"],\n enableIPForwarding: item[\"enableIPForwarding\"],\n networkSecurityGroup: !item[\"networkSecurityGroup\"]\n ? item[\"networkSecurityGroup\"]\n : subResourceDeserializer(item[\"networkSecurityGroup\"]),\n dnsSettings: !item[\"dnsSettings\"]\n ? item[\"dnsSettings\"]\n : virtualMachineNetworkInterfaceDnsSettingsConfigurationDeserializer(item[\"dnsSettings\"]),\n ipConfigurations: !item[\"ipConfigurations\"]\n ? item[\"ipConfigurations\"]\n : virtualMachineNetworkInterfaceIPConfigurationArrayDeserializer(item[\"ipConfigurations\"]),\n dscpConfiguration: !item[\"dscpConfiguration\"]\n ? item[\"dscpConfiguration\"]\n : subResourceDeserializer(item[\"dscpConfiguration\"]),\n auxiliaryMode: item[\"auxiliaryMode\"],\n auxiliarySku: item[\"auxiliarySku\"],\n };\n}\n\nexport function _virtualMachinePropertiesSerializer(item: VirtualMachine): any {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileSerializer(item[\"hardwareProfile\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileSerializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileSerializer(item[\"osProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileSerializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileSerializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileSerializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceSerializer(item[\"availabilitySet\"]),\n virtualMachineScaleSet: !item[\"virtualMachineScaleSet\"]\n ? item[\"virtualMachineScaleSet\"]\n : subResourceSerializer(item[\"virtualMachineScaleSet\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileSerializer(item[\"billingProfile\"]),\n host: !item[\"host\"] ? item[\"host\"] : subResourceSerializer(item[\"host\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceSerializer(item[\"hostGroup\"]),\n licenseType: item[\"licenseType\"],\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileSerializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileSerializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileSerializer(item[\"applicationProfile\"]),\n resiliencyProfile: !item[\"resiliencyProfile\"]\n ? item[\"resiliencyProfile\"]\n : resiliencyProfileSerializer(item[\"resiliencyProfile\"]),\n };\n}\n\nexport function _virtualMachinePropertiesDeserializer(item: any) {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileDeserializer(item[\"hardwareProfile\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileDeserializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesDeserializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileDeserializer(item[\"osProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileDeserializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileDeserializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileDeserializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceDeserializer(item[\"availabilitySet\"]),\n virtualMachineScaleSet: !item[\"virtualMachineScaleSet\"]\n ? item[\"virtualMachineScaleSet\"]\n : subResourceDeserializer(item[\"virtualMachineScaleSet\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileDeserializer(item[\"billingProfile\"]),\n host: !item[\"host\"] ? item[\"host\"] : subResourceDeserializer(item[\"host\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceDeserializer(item[\"hostGroup\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineInstanceViewDeserializer(item[\"instanceView\"]),\n licenseType: item[\"licenseType\"],\n vmId: item[\"vmId\"],\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileDeserializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileDeserializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileDeserializer(item[\"applicationProfile\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n resiliencyProfile: !item[\"resiliencyProfile\"]\n ? item[\"resiliencyProfile\"]\n : resiliencyProfileDeserializer(item[\"resiliencyProfile\"]),\n };\n}\n\nexport function _virtualMachineExtensionPropertiesSerializer(item: VirtualMachineExtension): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"typePropertiesType\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineExtensionInstanceViewSerializer(item[\"instanceView\"]),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _virtualMachineExtensionPropertiesDeserializer(item: any) {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n typePropertiesType: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineExtensionInstanceViewDeserializer(item[\"instanceView\"]),\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceDeserializer(item[\"protectedSettingsFromKeyVault\"]),\n provisionAfterExtensions: !item[\"provisionAfterExtensions\"]\n ? item[\"provisionAfterExtensions\"]\n : item[\"provisionAfterExtensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _virtualMachineUpdatePropertiesSerializer(item: VirtualMachineUpdate): any {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileSerializer(item[\"hardwareProfile\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileSerializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileSerializer(item[\"osProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileSerializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileSerializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileSerializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceSerializer(item[\"availabilitySet\"]),\n virtualMachineScaleSet: !item[\"virtualMachineScaleSet\"]\n ? item[\"virtualMachineScaleSet\"]\n : subResourceSerializer(item[\"virtualMachineScaleSet\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileSerializer(item[\"billingProfile\"]),\n host: !item[\"host\"] ? item[\"host\"] : subResourceSerializer(item[\"host\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceSerializer(item[\"hostGroup\"]),\n licenseType: item[\"licenseType\"],\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileSerializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileSerializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileSerializer(item[\"applicationProfile\"]),\n resiliencyProfile: !item[\"resiliencyProfile\"]\n ? item[\"resiliencyProfile\"]\n : resiliencyProfileSerializer(item[\"resiliencyProfile\"]),\n };\n}\n\nexport function _virtualMachineUpdatePropertiesDeserializer(item: any) {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileDeserializer(item[\"hardwareProfile\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileDeserializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesDeserializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileDeserializer(item[\"osProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileDeserializer(item[\"networkProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileDeserializer(item[\"securityProfile\"]),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileDeserializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceDeserializer(item[\"availabilitySet\"]),\n virtualMachineScaleSet: !item[\"virtualMachineScaleSet\"]\n ? item[\"virtualMachineScaleSet\"]\n : subResourceDeserializer(item[\"virtualMachineScaleSet\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n priority: item[\"priority\"],\n evictionPolicy: item[\"evictionPolicy\"],\n billingProfile: !item[\"billingProfile\"]\n ? item[\"billingProfile\"]\n : billingProfileDeserializer(item[\"billingProfile\"]),\n host: !item[\"host\"] ? item[\"host\"] : subResourceDeserializer(item[\"host\"]),\n hostGroup: !item[\"hostGroup\"] ? item[\"hostGroup\"] : subResourceDeserializer(item[\"hostGroup\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineInstanceViewDeserializer(item[\"instanceView\"]),\n licenseType: item[\"licenseType\"],\n vmId: item[\"vmId\"],\n extensionsTimeBudget: item[\"extensionsTimeBudget\"],\n platformFaultDomain: item[\"platformFaultDomain\"],\n scheduledEventsProfile: !item[\"scheduledEventsProfile\"]\n ? item[\"scheduledEventsProfile\"]\n : scheduledEventsProfileDeserializer(item[\"scheduledEventsProfile\"]),\n userData: item[\"userData\"],\n capacityReservation: !item[\"capacityReservation\"]\n ? item[\"capacityReservation\"]\n : capacityReservationProfileDeserializer(item[\"capacityReservation\"]),\n applicationProfile: !item[\"applicationProfile\"]\n ? item[\"applicationProfile\"]\n : applicationProfileDeserializer(item[\"applicationProfile\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n resiliencyProfile: !item[\"resiliencyProfile\"]\n ? item[\"resiliencyProfile\"]\n : resiliencyProfileDeserializer(item[\"resiliencyProfile\"]),\n };\n}\n\nexport function _virtualMachineExtensionUpdatePropertiesSerializer(\n item: VirtualMachineExtensionUpdate,\n): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n suppressFailures: item[\"suppressFailures\"],\n protectedSettingsFromKeyVault: !item[\"protectedSettingsFromKeyVault\"]\n ? item[\"protectedSettingsFromKeyVault\"]\n : keyVaultSecretReferenceSerializer(item[\"protectedSettingsFromKeyVault\"]),\n };\n}\n\nexport function _virtualMachineExtensionImagePropertiesDeserializer(item: any) {\n return {\n operatingSystem: item[\"operatingSystem\"],\n computeRole: item[\"computeRole\"],\n handlerSchema: item[\"handlerSchema\"],\n vmScaleSetEnabled: item[\"vmScaleSetEnabled\"],\n supportsMultipleExtensions: item[\"supportsMultipleExtensions\"],\n };\n}\n\nexport function _availabilitySetPropertiesSerializer(item: AvailabilitySet): any {\n return {\n platformUpdateDomainCount: item[\"platformUpdateDomainCount\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceArraySerializer(item[\"virtualMachines\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n };\n}\n\nexport function _availabilitySetPropertiesDeserializer(item: any) {\n return {\n platformUpdateDomainCount: item[\"platformUpdateDomainCount\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceArrayDeserializer(item[\"virtualMachines\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n virtualMachineScaleSetMigrationInfo: !item[\"virtualMachineScaleSetMigrationInfo\"]\n ? item[\"virtualMachineScaleSetMigrationInfo\"]\n : virtualMachineScaleSetMigrationInfoDeserializer(\n item[\"virtualMachineScaleSetMigrationInfo\"],\n ),\n };\n}\n\nexport function _availabilitySetUpdatePropertiesSerializer(item: AvailabilitySetUpdate): any {\n return {\n platformUpdateDomainCount: item[\"platformUpdateDomainCount\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceArraySerializer(item[\"virtualMachines\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceSerializer(item[\"proximityPlacementGroup\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicySerializer(item[\"scheduledEventsPolicy\"]),\n };\n}\n\nexport function _availabilitySetUpdatePropertiesDeserializer(item: any) {\n return {\n platformUpdateDomainCount: item[\"platformUpdateDomainCount\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceArrayDeserializer(item[\"virtualMachines\"]),\n proximityPlacementGroup: !item[\"proximityPlacementGroup\"]\n ? item[\"proximityPlacementGroup\"]\n : subResourceDeserializer(item[\"proximityPlacementGroup\"]),\n statuses: !item[\"statuses\"]\n ? item[\"statuses\"]\n : instanceViewStatusArrayDeserializer(item[\"statuses\"]),\n scheduledEventsPolicy: !item[\"scheduledEventsPolicy\"]\n ? item[\"scheduledEventsPolicy\"]\n : scheduledEventsPolicyDeserializer(item[\"scheduledEventsPolicy\"]),\n virtualMachineScaleSetMigrationInfo: !item[\"virtualMachineScaleSetMigrationInfo\"]\n ? item[\"virtualMachineScaleSetMigrationInfo\"]\n : virtualMachineScaleSetMigrationInfoDeserializer(\n item[\"virtualMachineScaleSetMigrationInfo\"],\n ),\n };\n}\n\nexport function _proximityPlacementGroupPropertiesSerializer(item: ProximityPlacementGroup): any {\n return {\n proximityPlacementGroupType: item[\"proximityPlacementGroupType\"],\n colocationStatus: !item[\"colocationStatus\"]\n ? item[\"colocationStatus\"]\n : instanceViewStatusSerializer(item[\"colocationStatus\"]),\n intent: !item[\"intent\"]\n ? item[\"intent\"]\n : proximityPlacementGroupPropertiesIntentSerializer(item[\"intent\"]),\n };\n}\n\nexport function _proximityPlacementGroupPropertiesDeserializer(item: any) {\n return {\n proximityPlacementGroupType: item[\"proximityPlacementGroupType\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceWithColocationStatusArrayDeserializer(item[\"virtualMachines\"]),\n virtualMachineScaleSets: !item[\"virtualMachineScaleSets\"]\n ? item[\"virtualMachineScaleSets\"]\n : subResourceWithColocationStatusArrayDeserializer(item[\"virtualMachineScaleSets\"]),\n availabilitySets: !item[\"availabilitySets\"]\n ? item[\"availabilitySets\"]\n : subResourceWithColocationStatusArrayDeserializer(item[\"availabilitySets\"]),\n colocationStatus: !item[\"colocationStatus\"]\n ? item[\"colocationStatus\"]\n : instanceViewStatusDeserializer(item[\"colocationStatus\"]),\n intent: !item[\"intent\"]\n ? item[\"intent\"]\n : proximityPlacementGroupPropertiesIntentDeserializer(item[\"intent\"]),\n };\n}\n\nexport function _dedicatedHostGroupPropertiesSerializer(item: DedicatedHostGroup): any {\n return {\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n supportAutomaticPlacement: item[\"supportAutomaticPlacement\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : dedicatedHostGroupPropertiesAdditionalCapabilitiesSerializer(\n item[\"additionalCapabilities\"],\n ),\n };\n}\n\nexport function _dedicatedHostGroupPropertiesDeserializer(item: any) {\n return {\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n hosts: !item[\"hosts\"] ? item[\"hosts\"] : subResourceReadOnlyArrayDeserializer(item[\"hosts\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : dedicatedHostGroupInstanceViewDeserializer(item[\"instanceView\"]),\n supportAutomaticPlacement: item[\"supportAutomaticPlacement\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : dedicatedHostGroupPropertiesAdditionalCapabilitiesDeserializer(\n item[\"additionalCapabilities\"],\n ),\n };\n}\n\nexport function _dedicatedHostGroupUpdatePropertiesSerializer(item: DedicatedHostGroupUpdate): any {\n return {\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n supportAutomaticPlacement: item[\"supportAutomaticPlacement\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : dedicatedHostGroupPropertiesAdditionalCapabilitiesSerializer(\n item[\"additionalCapabilities\"],\n ),\n };\n}\n\nexport function _dedicatedHostGroupUpdatePropertiesDeserializer(item: any) {\n return {\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n hosts: !item[\"hosts\"] ? item[\"hosts\"] : subResourceReadOnlyArrayDeserializer(item[\"hosts\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : dedicatedHostGroupInstanceViewDeserializer(item[\"instanceView\"]),\n supportAutomaticPlacement: item[\"supportAutomaticPlacement\"],\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : dedicatedHostGroupPropertiesAdditionalCapabilitiesDeserializer(\n item[\"additionalCapabilities\"],\n ),\n };\n}\n\nexport function _dedicatedHostPropertiesSerializer(item: DedicatedHost): any {\n return {\n platformFaultDomain: item[\"platformFaultDomain\"],\n autoReplaceOnFailure: item[\"autoReplaceOnFailure\"],\n licenseType: item[\"licenseType\"],\n };\n}\n\nexport function _dedicatedHostPropertiesDeserializer(item: any) {\n return {\n platformFaultDomain: item[\"platformFaultDomain\"],\n autoReplaceOnFailure: item[\"autoReplaceOnFailure\"],\n hostId: item[\"hostId\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachines\"]),\n licenseType: item[\"licenseType\"],\n provisioningTime: !item[\"provisioningTime\"]\n ? item[\"provisioningTime\"]\n : new Date(item[\"provisioningTime\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : dedicatedHostInstanceViewDeserializer(item[\"instanceView\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n };\n}\n\nexport function _dedicatedHostUpdatePropertiesSerializer(item: DedicatedHostUpdate): any {\n return {\n platformFaultDomain: item[\"platformFaultDomain\"],\n autoReplaceOnFailure: item[\"autoReplaceOnFailure\"],\n licenseType: item[\"licenseType\"],\n };\n}\n\nexport function _dedicatedHostUpdatePropertiesDeserializer(item: any) {\n return {\n platformFaultDomain: item[\"platformFaultDomain\"],\n autoReplaceOnFailure: item[\"autoReplaceOnFailure\"],\n hostId: item[\"hostId\"],\n virtualMachines: !item[\"virtualMachines\"]\n ? item[\"virtualMachines\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachines\"]),\n licenseType: item[\"licenseType\"],\n provisioningTime: !item[\"provisioningTime\"]\n ? item[\"provisioningTime\"]\n : new Date(item[\"provisioningTime\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : dedicatedHostInstanceViewDeserializer(item[\"instanceView\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n };\n}\n\nexport function _imagePropertiesSerializer(item: Image): any {\n return {\n sourceVirtualMachine: !item[\"sourceVirtualMachine\"]\n ? item[\"sourceVirtualMachine\"]\n : subResourceSerializer(item[\"sourceVirtualMachine\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : imageStorageProfileSerializer(item[\"storageProfile\"]),\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\nexport function _imagePropertiesDeserializer(item: any) {\n return {\n sourceVirtualMachine: !item[\"sourceVirtualMachine\"]\n ? item[\"sourceVirtualMachine\"]\n : subResourceDeserializer(item[\"sourceVirtualMachine\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : imageStorageProfileDeserializer(item[\"storageProfile\"]),\n provisioningState: item[\"provisioningState\"],\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\nexport function _imageUpdatePropertiesSerializer(item: ImageUpdate): any {\n return {\n sourceVirtualMachine: !item[\"sourceVirtualMachine\"]\n ? item[\"sourceVirtualMachine\"]\n : subResourceSerializer(item[\"sourceVirtualMachine\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : imageStorageProfileSerializer(item[\"storageProfile\"]),\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\nexport function _imageUpdatePropertiesDeserializer(item: any) {\n return {\n sourceVirtualMachine: !item[\"sourceVirtualMachine\"]\n ? item[\"sourceVirtualMachine\"]\n : subResourceDeserializer(item[\"sourceVirtualMachine\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : imageStorageProfileDeserializer(item[\"storageProfile\"]),\n provisioningState: item[\"provisioningState\"],\n hyperVGeneration: item[\"hyperVGeneration\"],\n };\n}\n\nexport function _restorePointPropertiesSerializer(item: RestorePoint): any {\n return {\n excludeDisks: !item[\"excludeDisks\"]\n ? item[\"excludeDisks\"]\n : apiEntityReferenceArraySerializer(item[\"excludeDisks\"]),\n sourceMetadata: !item[\"sourceMetadata\"]\n ? item[\"sourceMetadata\"]\n : restorePointSourceMetadataSerializer(item[\"sourceMetadata\"]),\n consistencyMode: item[\"consistencyMode\"],\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : item[\"timeCreated\"].toISOString(),\n sourceRestorePoint: !item[\"sourceRestorePoint\"]\n ? item[\"sourceRestorePoint\"]\n : apiEntityReferenceSerializer(item[\"sourceRestorePoint\"]),\n instantAccessDurationMinutes: item[\"instantAccessDurationMinutes\"],\n };\n}\n\nexport function _restorePointPropertiesDeserializer(item: any) {\n return {\n excludeDisks: !item[\"excludeDisks\"]\n ? item[\"excludeDisks\"]\n : apiEntityReferenceArrayDeserializer(item[\"excludeDisks\"]),\n sourceMetadata: !item[\"sourceMetadata\"]\n ? item[\"sourceMetadata\"]\n : restorePointSourceMetadataDeserializer(item[\"sourceMetadata\"]),\n provisioningState: item[\"provisioningState\"],\n consistencyMode: item[\"consistencyMode\"],\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n sourceRestorePoint: !item[\"sourceRestorePoint\"]\n ? item[\"sourceRestorePoint\"]\n : apiEntityReferenceDeserializer(item[\"sourceRestorePoint\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : restorePointInstanceViewDeserializer(item[\"instanceView\"]),\n instantAccessDurationMinutes: item[\"instantAccessDurationMinutes\"],\n };\n}\n\nexport function _restorePointCollectionPropertiesSerializer(item: RestorePointCollection): any {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : restorePointCollectionSourcePropertiesSerializer(item[\"source\"]),\n instantAccess: item[\"instantAccess\"],\n };\n}\n\nexport function _restorePointCollectionPropertiesDeserializer(item: any) {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : restorePointCollectionSourcePropertiesDeserializer(item[\"source\"]),\n provisioningState: item[\"provisioningState\"],\n restorePointCollectionId: item[\"restorePointCollectionId\"],\n restorePoints: !item[\"restorePoints\"]\n ? item[\"restorePoints\"]\n : restorePointArrayDeserializer(item[\"restorePoints\"]),\n instantAccess: item[\"instantAccess\"],\n };\n}\n\nexport function _restorePointCollectionUpdatePropertiesSerializer(\n item: RestorePointCollectionUpdate,\n): any {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : restorePointCollectionSourcePropertiesSerializer(item[\"source\"]),\n instantAccess: item[\"instantAccess\"],\n };\n}\n\nexport function _restorePointCollectionUpdatePropertiesDeserializer(item: any) {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : restorePointCollectionSourcePropertiesDeserializer(item[\"source\"]),\n provisioningState: item[\"provisioningState\"],\n restorePointCollectionId: item[\"restorePointCollectionId\"],\n restorePoints: !item[\"restorePoints\"]\n ? item[\"restorePoints\"]\n : restorePointArrayDeserializer(item[\"restorePoints\"]),\n instantAccess: item[\"instantAccess\"],\n };\n}\n\nexport function _capacityReservationGroupPropertiesSerializer(item: CapacityReservationGroup): any {\n return {\n sharingProfile: !item[\"sharingProfile\"]\n ? item[\"sharingProfile\"]\n : resourceSharingProfileSerializer(item[\"sharingProfile\"]),\n reservationType: item[\"reservationType\"],\n };\n}\n\nexport function _capacityReservationGroupPropertiesDeserializer(item: any) {\n return {\n capacityReservations: !item[\"capacityReservations\"]\n ? item[\"capacityReservations\"]\n : subResourceReadOnlyArrayDeserializer(item[\"capacityReservations\"]),\n virtualMachinesAssociated: !item[\"virtualMachinesAssociated\"]\n ? item[\"virtualMachinesAssociated\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachinesAssociated\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : capacityReservationGroupInstanceViewDeserializer(item[\"instanceView\"]),\n sharingProfile: !item[\"sharingProfile\"]\n ? item[\"sharingProfile\"]\n : resourceSharingProfileDeserializer(item[\"sharingProfile\"]),\n reservationType: item[\"reservationType\"],\n };\n}\n\nexport function _capacityReservationGroupUpdatePropertiesSerializer(\n item: CapacityReservationGroupUpdate,\n): any {\n return {\n sharingProfile: !item[\"sharingProfile\"]\n ? item[\"sharingProfile\"]\n : resourceSharingProfileSerializer(item[\"sharingProfile\"]),\n reservationType: item[\"reservationType\"],\n };\n}\n\nexport function _capacityReservationGroupUpdatePropertiesDeserializer(item: any) {\n return {\n capacityReservations: !item[\"capacityReservations\"]\n ? item[\"capacityReservations\"]\n : subResourceReadOnlyArrayDeserializer(item[\"capacityReservations\"]),\n virtualMachinesAssociated: !item[\"virtualMachinesAssociated\"]\n ? item[\"virtualMachinesAssociated\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachinesAssociated\"]),\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : capacityReservationGroupInstanceViewDeserializer(item[\"instanceView\"]),\n sharingProfile: !item[\"sharingProfile\"]\n ? item[\"sharingProfile\"]\n : resourceSharingProfileDeserializer(item[\"sharingProfile\"]),\n reservationType: item[\"reservationType\"],\n };\n}\n\nexport function _capacityReservationPropertiesSerializer(item: CapacityReservation): any {\n return {\n scheduleProfile: !item[\"scheduleProfile\"]\n ? item[\"scheduleProfile\"]\n : scheduleProfileSerializer(item[\"scheduleProfile\"]),\n };\n}\n\nexport function _capacityReservationPropertiesDeserializer(item: any) {\n return {\n reservationId: item[\"reservationId\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachinesAssociated: !item[\"virtualMachinesAssociated\"]\n ? item[\"virtualMachinesAssociated\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachinesAssociated\"]),\n provisioningTime: !item[\"provisioningTime\"]\n ? item[\"provisioningTime\"]\n : new Date(item[\"provisioningTime\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : capacityReservationInstanceViewDeserializer(item[\"instanceView\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n scheduleProfile: !item[\"scheduleProfile\"]\n ? item[\"scheduleProfile\"]\n : scheduleProfileDeserializer(item[\"scheduleProfile\"]),\n };\n}\n\nexport function _capacityReservationUpdatePropertiesSerializer(\n item: CapacityReservationUpdate,\n): any {\n return {\n scheduleProfile: !item[\"scheduleProfile\"]\n ? item[\"scheduleProfile\"]\n : scheduleProfileSerializer(item[\"scheduleProfile\"]),\n };\n}\n\nexport function _capacityReservationUpdatePropertiesDeserializer(item: any) {\n return {\n reservationId: item[\"reservationId\"],\n platformFaultDomainCount: item[\"platformFaultDomainCount\"],\n virtualMachinesAssociated: !item[\"virtualMachinesAssociated\"]\n ? item[\"virtualMachinesAssociated\"]\n : subResourceReadOnlyArrayDeserializer(item[\"virtualMachinesAssociated\"]),\n provisioningTime: !item[\"provisioningTime\"]\n ? item[\"provisioningTime\"]\n : new Date(item[\"provisioningTime\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : capacityReservationInstanceViewDeserializer(item[\"instanceView\"]),\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n scheduleProfile: !item[\"scheduleProfile\"]\n ? item[\"scheduleProfile\"]\n : scheduleProfileDeserializer(item[\"scheduleProfile\"]),\n };\n}\n\nexport function _virtualMachineRunCommandPropertiesSerializer(item: VirtualMachineRunCommand): any {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : virtualMachineRunCommandScriptSourceSerializer(item[\"source\"]),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandInputParameterArraySerializer(item[\"parameters\"]),\n protectedParameters: !item[\"protectedParameters\"]\n ? item[\"protectedParameters\"]\n : runCommandInputParameterArraySerializer(item[\"protectedParameters\"]),\n asyncExecution: item[\"asyncExecution\"],\n runAsUser: item[\"runAsUser\"],\n runAsPassword: item[\"runAsPassword\"],\n timeoutInSeconds: item[\"timeoutInSeconds\"],\n outputBlobUri: item[\"outputBlobUri\"],\n errorBlobUri: item[\"errorBlobUri\"],\n outputBlobManagedIdentity: !item[\"outputBlobManagedIdentity\"]\n ? item[\"outputBlobManagedIdentity\"]\n : runCommandManagedIdentitySerializer(item[\"outputBlobManagedIdentity\"]),\n errorBlobManagedIdentity: !item[\"errorBlobManagedIdentity\"]\n ? item[\"errorBlobManagedIdentity\"]\n : runCommandManagedIdentitySerializer(item[\"errorBlobManagedIdentity\"]),\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n };\n}\n\nexport function _virtualMachineRunCommandPropertiesDeserializer(item: any) {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : virtualMachineRunCommandScriptSourceDeserializer(item[\"source\"]),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandInputParameterArrayDeserializer(item[\"parameters\"]),\n protectedParameters: !item[\"protectedParameters\"]\n ? item[\"protectedParameters\"]\n : runCommandInputParameterArrayDeserializer(item[\"protectedParameters\"]),\n asyncExecution: item[\"asyncExecution\"],\n runAsUser: item[\"runAsUser\"],\n runAsPassword: item[\"runAsPassword\"],\n timeoutInSeconds: item[\"timeoutInSeconds\"],\n outputBlobUri: item[\"outputBlobUri\"],\n errorBlobUri: item[\"errorBlobUri\"],\n outputBlobManagedIdentity: !item[\"outputBlobManagedIdentity\"]\n ? item[\"outputBlobManagedIdentity\"]\n : runCommandManagedIdentityDeserializer(item[\"outputBlobManagedIdentity\"]),\n errorBlobManagedIdentity: !item[\"errorBlobManagedIdentity\"]\n ? item[\"errorBlobManagedIdentity\"]\n : runCommandManagedIdentityDeserializer(item[\"errorBlobManagedIdentity\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineRunCommandInstanceViewDeserializer(item[\"instanceView\"]),\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n };\n}\n\nexport function _virtualMachineRunCommandUpdatePropertiesSerializer(\n item: VirtualMachineRunCommandUpdate,\n): any {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : virtualMachineRunCommandScriptSourceSerializer(item[\"source\"]),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandInputParameterArraySerializer(item[\"parameters\"]),\n protectedParameters: !item[\"protectedParameters\"]\n ? item[\"protectedParameters\"]\n : runCommandInputParameterArraySerializer(item[\"protectedParameters\"]),\n asyncExecution: item[\"asyncExecution\"],\n runAsUser: item[\"runAsUser\"],\n runAsPassword: item[\"runAsPassword\"],\n timeoutInSeconds: item[\"timeoutInSeconds\"],\n outputBlobUri: item[\"outputBlobUri\"],\n errorBlobUri: item[\"errorBlobUri\"],\n outputBlobManagedIdentity: !item[\"outputBlobManagedIdentity\"]\n ? item[\"outputBlobManagedIdentity\"]\n : runCommandManagedIdentitySerializer(item[\"outputBlobManagedIdentity\"]),\n errorBlobManagedIdentity: !item[\"errorBlobManagedIdentity\"]\n ? item[\"errorBlobManagedIdentity\"]\n : runCommandManagedIdentitySerializer(item[\"errorBlobManagedIdentity\"]),\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n };\n}\n\nexport function _virtualMachineRunCommandUpdatePropertiesDeserializer(item: any) {\n return {\n source: !item[\"source\"]\n ? item[\"source\"]\n : virtualMachineRunCommandScriptSourceDeserializer(item[\"source\"]),\n parameters: !item[\"parameters\"]\n ? item[\"parameters\"]\n : runCommandInputParameterArrayDeserializer(item[\"parameters\"]),\n protectedParameters: !item[\"protectedParameters\"]\n ? item[\"protectedParameters\"]\n : runCommandInputParameterArrayDeserializer(item[\"protectedParameters\"]),\n asyncExecution: item[\"asyncExecution\"],\n runAsUser: item[\"runAsUser\"],\n runAsPassword: item[\"runAsPassword\"],\n timeoutInSeconds: item[\"timeoutInSeconds\"],\n outputBlobUri: item[\"outputBlobUri\"],\n errorBlobUri: item[\"errorBlobUri\"],\n outputBlobManagedIdentity: !item[\"outputBlobManagedIdentity\"]\n ? item[\"outputBlobManagedIdentity\"]\n : runCommandManagedIdentityDeserializer(item[\"outputBlobManagedIdentity\"]),\n errorBlobManagedIdentity: !item[\"errorBlobManagedIdentity\"]\n ? item[\"errorBlobManagedIdentity\"]\n : runCommandManagedIdentityDeserializer(item[\"errorBlobManagedIdentity\"]),\n provisioningState: item[\"provisioningState\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineRunCommandInstanceViewDeserializer(item[\"instanceView\"]),\n treatFailureAsDeploymentFailure: item[\"treatFailureAsDeploymentFailure\"],\n };\n}\n\nexport function _rollingUpgradeStatusInfoPropertiesDeserializer(item: any) {\n return {\n policy: !item[\"policy\"] ? item[\"policy\"] : rollingUpgradePolicyDeserializer(item[\"policy\"]),\n runningStatus: !item[\"runningStatus\"]\n ? item[\"runningStatus\"]\n : rollingUpgradeRunningStatusDeserializer(item[\"runningStatus\"]),\n progress: !item[\"progress\"]\n ? item[\"progress\"]\n : rollingUpgradeProgressInfoDeserializer(item[\"progress\"]),\n error: !item[\"error\"] ? item[\"error\"] : apiErrorDeserializer(item[\"error\"]),\n };\n}\n\nexport function _virtualMachineScaleSetVMPropertiesSerializer(item: VirtualMachineScaleSetVM): any {\n return {\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileSerializer(item[\"hardwareProfile\"]),\n resilientVMDeletionStatus: item[\"resilientVMDeletionStatus\"],\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileSerializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesSerializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileSerializer(item[\"osProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileSerializer(item[\"securityProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileSerializer(item[\"networkProfile\"]),\n networkProfileConfiguration: !item[\"networkProfileConfiguration\"]\n ? item[\"networkProfileConfiguration\"]\n : virtualMachineScaleSetVMNetworkProfileConfigurationSerializer(\n item[\"networkProfileConfiguration\"],\n ),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileSerializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceSerializer(item[\"availabilitySet\"]),\n licenseType: item[\"licenseType\"],\n protectionPolicy: !item[\"protectionPolicy\"]\n ? item[\"protectionPolicy\"]\n : virtualMachineScaleSetVMProtectionPolicySerializer(item[\"protectionPolicy\"]),\n userData: item[\"userData\"],\n };\n}\n\nexport function _virtualMachineScaleSetVMPropertiesDeserializer(item: any) {\n return {\n latestModelApplied: item[\"latestModelApplied\"],\n vmId: item[\"vmId\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : virtualMachineScaleSetVMInstanceViewDeserializer(item[\"instanceView\"]),\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileDeserializer(item[\"hardwareProfile\"]),\n resilientVMDeletionStatus: item[\"resilientVMDeletionStatus\"],\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileDeserializer(item[\"storageProfile\"]),\n additionalCapabilities: !item[\"additionalCapabilities\"]\n ? item[\"additionalCapabilities\"]\n : additionalCapabilitiesDeserializer(item[\"additionalCapabilities\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileDeserializer(item[\"osProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : securityProfileDeserializer(item[\"securityProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : networkProfileDeserializer(item[\"networkProfile\"]),\n networkProfileConfiguration: !item[\"networkProfileConfiguration\"]\n ? item[\"networkProfileConfiguration\"]\n : virtualMachineScaleSetVMNetworkProfileConfigurationDeserializer(\n item[\"networkProfileConfiguration\"],\n ),\n diagnosticsProfile: !item[\"diagnosticsProfile\"]\n ? item[\"diagnosticsProfile\"]\n : diagnosticsProfileDeserializer(item[\"diagnosticsProfile\"]),\n availabilitySet: !item[\"availabilitySet\"]\n ? item[\"availabilitySet\"]\n : subResourceDeserializer(item[\"availabilitySet\"]),\n provisioningState: item[\"provisioningState\"],\n licenseType: item[\"licenseType\"],\n modelDefinitionApplied: item[\"modelDefinitionApplied\"],\n protectionPolicy: !item[\"protectionPolicy\"]\n ? item[\"protectionPolicy\"]\n : virtualMachineScaleSetVMProtectionPolicyDeserializer(item[\"protectionPolicy\"]),\n userData: item[\"userData\"],\n timeCreated: !item[\"timeCreated\"] ? item[\"timeCreated\"] : new Date(item[\"timeCreated\"]),\n virtualMachineResourceId: item[\"virtualMachineResourceId\"],\n };\n}\n\nexport function _sshPublicKeyResourcePropertiesSerializer(item: SshPublicKeyResource): any {\n return { publicKey: item[\"publicKey\"] };\n}\n\nexport function _sshPublicKeyResourcePropertiesDeserializer(item: any) {\n return {\n publicKey: item[\"publicKey\"],\n };\n}\n\nexport function _sshPublicKeyUpdateResourcePropertiesSerializer(\n item: SshPublicKeyUpdateResource,\n): any {\n return { publicKey: item[\"publicKey\"] };\n}\n\nexport function _sshPublicKeyUpdateResourcePropertiesDeserializer(item: any) {\n return {\n publicKey: item[\"publicKey\"],\n };\n}\n\nexport function _virtualMachineImagePropertiesDeserializer(item: any) {\n return {\n plan: !item[\"plan\"] ? item[\"plan\"] : purchasePlanDeserializer(item[\"plan\"]),\n osDiskImage: !item[\"osDiskImage\"]\n ? item[\"osDiskImage\"]\n : osDiskImageDeserializer(item[\"osDiskImage\"]),\n dataDiskImages: !item[\"dataDiskImages\"]\n ? item[\"dataDiskImages\"]\n : dataDiskImageArrayDeserializer(item[\"dataDiskImages\"]),\n automaticOSUpgradeProperties: !item[\"automaticOSUpgradeProperties\"]\n ? item[\"automaticOSUpgradeProperties\"]\n : automaticOSUpgradePropertiesDeserializer(item[\"automaticOSUpgradeProperties\"]),\n hyperVGeneration: item[\"hyperVGeneration\"],\n disallowed: !item[\"disallowed\"]\n ? item[\"disallowed\"]\n : disallowedConfigurationDeserializer(item[\"disallowed\"]),\n features: !item[\"features\"]\n ? item[\"features\"]\n : virtualMachineImageFeatureArrayDeserializer(item[\"features\"]),\n architecture: item[\"architecture\"],\n imageDeprecationStatus: !item[\"imageDeprecationStatus\"]\n ? item[\"imageDeprecationStatus\"]\n : imageDeprecationStatusDeserializer(item[\"imageDeprecationStatus\"]),\n };\n}\n"]}
|