/// <summary> /// Templated constructor for easy start up of a virtual machine from VHD file /// </summary> /// <param name="VmName"></param> /// <param name="memory"></param> /// <param name="vcpu"></param> /// <param name="iso"></param> public VirtualMachineBuilder(string VmName, string vhd, int memory, int vcpu, DomainType type) { HypervisorFeatures = new HypervisorFeatures(); Power = new Power(); _Devices = new DeviceList(XEN_PATH_DEFAULT_EMULATOR); this.VmName = VmName; Memory = memory; Vcpu = vcpu; Iso = ""; VHD = vhd; DomType = type; //add Default boot cdrom Disk cdrom = new Disk(Disk.DiskTypes.file, Disk.DiskDevices.cdrom); cdrom.SourceFile = Iso; cdrom.BackingStore = false; cdrom.ReadOnly = true; cdrom.TargetDevice = Disk.DiskBoot.hdc; cdrom.TargetBus = Disk.DiskBus.ide; cdrom.AddressType = "drive"; cdrom.AddressController = 0; cdrom.AddressBus = 0; cdrom.AddressTarget = 0; cdrom.AddressUnit = 0; cdrom.Role = Disk.DiskRole.secondary; _Devices.Disks.Add(cdrom); }
/// <summary> /// pae - Physical address extension mode allows 32-bit guests to address more than 4 GB of memory. /// acpi - ACPI is useful for power management, for example, with KVM guests it is required for graceful shutdown to work. /// apic - APIC allows the use of programmable IRQ management. /// </summary> /// <param name="acpi"></param> /// <param name="apic"></param> /// <param name="pae"></param> public void setHypervisorFeatures(bool acpi, bool apic, bool pae) { HypervisorFeatures = new HypervisorFeatures(acpi, apic, pae); }