import { Input } from '@pulumi/pulumi'; import * as compute from '@pulumi/azure-native/compute'; import { BasicEncryptResourceArgs, LoginArgs, WithDiskEncryption } from '../types'; import { VmExtensionProps } from './Extension'; export type VmScheduleType = { /** The time zone ID: https://stackoverflow.com/questions/7908343/list-of-timezone-ids-for-use-with-findtimezonebyid-in-c */ timeZone?: 'Singapore Standard Time' | Input; /** The format is ISO 8601 Standard ex: 2200 */ autoShutdownTime?: Input; }; interface Props extends BasicEncryptResourceArgs, WithDiskEncryption { subnetId: Input; storageAccountType?: compute.StorageAccountTypes; vmSize?: Input; login: LoginArgs; osType?: 'Windows' | 'Linux'; image: { offer: 'WindowsServer' | 'CentOS' | 'Windows-10' | 'windows-11' | string; publisher: 'MicrosoftWindowsServer' | 'MicrosoftWindowsDesktop' | 'Canonical' | string; sku: '2019-Datacenter' | '21h1-pro' | 'win11-23h2-pro' | string; }; osDiskSizeGB?: number; dataDiskSizeGB?: number; schedule?: VmScheduleType; extensions?: Array>; lock?: boolean; tags?: { [key: string]: Input; }; } declare const _default: ({ name, group, subnetId, osType, vmSize, extensions, storageAccountType, osDiskSizeGB, dataDiskSizeGB, enableEncryption, diskEncryptionSetId, vaultInfo, envUIDInfo, schedule, login, image, lock, tags, dependsOn, ...others }: Props) => import("@pulumi/azure-native/compute/virtualMachine").VirtualMachine; export default _default;