export type LinuxPatchSettings = { assessmentMode: string; automaticByPlatformSettings: LinuxVMGuestPatchAutomaticByPlatformSettings; patchMode: string; }; export type LinuxVMGuestPatchAutomaticByPlatformSettings = { rebootSetting: string; }; export type LinuxConfiguration = { disablePasswordAuthentication: boolean; enableVMAgentPlatformUpdates: boolean; patchSettings: LinuxPatchSettings; provisionVMAgent: boolean; ssh: SshConfiguration; }; export type SshConfiguration = { publicKeys: SshPublicKey[]; }; export type SshPublicKey = { keyData: string; path: string; }; export type WindowsConfiguration = { additionalUnattendContent: AdditionalUnattendContent[]; enableAutomaticUpdates: boolean; enableVMAgentPlatformUpdates: boolean; patchSettings: WindowsPatchSettings; provisionVMAgent: boolean; timeZone: string; winRM: WinRMConfiguration; }; export type WinRMConfiguration = { listeners: WinRMListener[]; }; export type WinRMListener = { certificateUrl: string; protocol: string; }; export type WindowsPatchSettings = { assessmentMode: string; automaticByPlatformSettings: WindowsVMGuestPatchAutomaticByPlatformSettings; patchMode: string; enableHotpatching: boolean; }; export type WindowsVMGuestPatchAutomaticByPlatformSettings = { rebootSetting: string; }; export type AdditionalUnattendContent = { componentName: string; content: string; passName: string; settingName: string; };