import { SubResource } from 'types/index.js'; export type VirtualMachineInstanceView = { assignedHost: string; bootDiagnostics: BootDiagnosticsInstanceView; computerName: string; disks: DiskInstanceView[]; extensions: VirtualMachineExtensionInstanceView[]; hyperVGeneration: string; maintenanceRedeployStatus: MaintenanceRedeployStatus; osName: string; osVersion: string; patchStatus: VirtualMachinePatchStatus; platformFaultDomain: number; platformUpdateDomain: number; rdpThumbPrint: string; statuses: InstanceViewStatus[]; vmAgent: VirtualMachineAgentInstanceView; vmHealth: VirtualMachineHealthStatus; }; export type BootDiagnosticsInstanceView = { consoleScreenshotBlobUri: string; serialConsoleLogBlobUri: string; status: InstanceViewStatus; }; export type InstanceViewStatus = { code: string; displayStatus: string; level: string; message: string; time: string; }; export type DiskInstanceView = { encryptionSettings: DiskEncryptionSettings[]; name: string; statuses: InstanceViewStatus[]; }; export type DiskEncryptionSettings = { diskEncryptionKey: KeyVaultAndSecretReference; keyEncryptionKey: KeyVaultAndKeyReference; enabled: boolean; }; export type KeyVaultAndSecretReference = { sourceVault: SubResource; keyUrl: string; }; export type KeyVaultAndKeyReference = { sourceVault: SubResource; keyUrl: string; }; export type VirtualMachineExtensionInstanceView = { name: string; statuses: InstanceViewStatus[]; substatuses: InstanceViewStatus[]; type: string; typeHandlerVersion: string; }; export type MaintenanceRedeployStatus = { isCustomerInitiatedMaintenanceAllowed: boolean; lastOperationMessage: string; lastOperationResultCode: string; maintenanceWindowEndTime: string; maintenanceWindowStartTime: string; preMaintenanceWindowEndTime: string; preMaintenanceWindowStartTime: string; }; export type VirtualMachinePatchStatus = { availablePatchSummary: AvailablePatchSummary; configurationStatuses: InstanceViewStatus[]; lastPatchInstallationSummary: LastPatchInstallationSummary; }; export type AvailablePatchSummary = { assessmentActivityId: string; criticalAndSecurityPatchCount: number; error: VirtualMachineApiError; lastModifiedTime: string; otherPatchCount: number; rebootPending: boolean; string: string; status: string; }; export type VirtualMachineApiError = { code: string; details: VirtualMachineApiErrorBase[]; innererror: VirtualMachineInnerError; message: string; target: string; }; export type VirtualMachineApiErrorBase = { code: string; message: string; target: string; }; export type VirtualMachineInnerError = { errordetail: string; exceptiontype: string; }; export type LastPatchInstallationSummary = { error: VirtualMachineApiError; excludedPatchCount: number; failedPatchCount: number; installationActivityId: string; installedPatchCount: number; lastModifiedTime: string; maintenanceWindowExceeded: boolean; notSelectedPatchCount: number; pendingPatchCount: number; startTime: string; status: string; }; export type VirtualMachineExtensionHandlerInstanceView = { status: InstanceViewStatus; type: string; typeHandlerVersion: string; }; export type VirtualMachineAgentInstanceView = { extensionHandlers: VirtualMachineExtensionHandlerInstanceView[]; statuses: InstanceViewStatus[]; vmAgentVersion: string; }; export type VirtualMachineHealthStatus = { status: InstanceViewStatus; };