public string EvaluateVirtualMachineTemplate(int itemId, string template)
        {
            if (SecurityContext.CheckAccount(DemandAccount.IsActive | DemandAccount.IsAdmin | DemandAccount.NotDemo) != 0)
            {
                throw new Exception("This method could be called by serveradmin only.");
            }

            return(VirtualizationServerController.EvaluateVirtualMachineTemplate(itemId, false, false, template));
        }
 public ResultObject UpdateVirtualMachineConfiguration(int itemId, int cpuCores, int ramMB, int hddGB, int snapshots,
                                                       bool dvdInstalled, bool bootFromCD, bool numLock,
                                                       bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed,
                                                       bool externalNetworkEnabled,
                                                       bool privateNetworkEnabled)
 {
     return(VirtualizationServerController.UpdateVirtualMachineConfiguration(
                itemId, cpuCores, ramMB, hddGB, snapshots,
                dvdInstalled, bootFromCD, numLock,
                startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed,
                externalNetworkEnabled,
                privateNetworkEnabled));
 }
 public IntResult CreateVirtualMachine(int packageId,
                                       string hostname, string osTemplateFile, string password, string summaryLetterEmail,
                                       int generation, int cpuCores, int ramMB, int hddGB, int snapshots, bool dvdInstalled, bool bootFromCD, bool numLock,
                                       bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed,
                                       bool externalNetworkEnabled, int externalAddressesNumber, bool randomExternalAddresses, int[] externalAddresses,
                                       bool privateNetworkEnabled, int privateAddressesNumber, bool randomPrivateAddresses, string[] privateAddresses)
 {
     return(VirtualizationServerController.CreateVirtualMachine(packageId,
                                                                hostname, osTemplateFile, password, summaryLetterEmail,
                                                                generation, cpuCores, ramMB, hddGB, snapshots, dvdInstalled, bootFromCD, numLock,
                                                                startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed,
                                                                externalNetworkEnabled, externalAddressesNumber, randomExternalAddresses, externalAddresses,
                                                                privateNetworkEnabled, privateAddressesNumber, randomPrivateAddresses, privateAddresses));
 }
 public IntResult ImportVirtualMachine(int packageId,
                                       int serviceId, string vmId,
                                       string osTemplateFile, string adminPassword,
                                       bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed,
                                       string externalNicMacAddress, int[] externalAddresses,
                                       string managementNicMacAddress, int managementAddress)
 {
     return(VirtualizationServerController.ImportVirtualMachine(packageId,
                                                                serviceId, vmId,
                                                                osTemplateFile, adminPassword,
                                                                startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed,
                                                                externalNicMacAddress, externalAddresses,
                                                                managementNicMacAddress, managementAddress));
 }
        private void Create()
        {
            // impersonate thread
            if (ThreadUserId != -1)
            {
                SecurityContext.SetThreadPrincipal(ThreadUserId);
            }

            // perform backup
            VirtualizationServerController.CreateVirtualMachineInternal(TaskId, Item, OsTemplate,
                                                                        ExternalAddressesNumber, RandomExternalAddresses, ExternalAddresses,
                                                                        PrivateAddressesNumber, RandomPrivateAddresses, PrivateAddresses,
                                                                        SummaryLetterEmail);
        }
 public VirtualMachine[] GetVirtualMachinesByServiceId(int serviceId)
 {
     return(VirtualizationServerController.GetVirtualMachinesByServiceId(serviceId));
 }
 public ResultObject SendVirtualMachineSummaryLetter(int itemId, string to, string bcc)
 {
     return(VirtualizationServerController.SendVirtualMachineSummaryLetter(itemId, to, bcc, false));
 }
 public int ReinstallVirtualMachine(int itemId, string adminPassword, bool preserveVirtualDiskFiles,
                                    bool saveVirtualDisk, bool exportVps, string exportPath)
 {
     return(VirtualizationServerController.ReinstallVirtualMachine(itemId, adminPassword, preserveVirtualDiskFiles,
                                                                   saveVirtualDisk, exportVps, exportPath));
 }
 public VirtualSwitch[] GetExternalSwitches(int serviceId, string computerName)
 {
     return(VirtualizationServerController.GetExternalSwitches(serviceId, computerName));
 }
 public List <VirtualMachinePermission> GetVirtualMachinePermissions(int itemId)
 {
     return(VirtualizationServerController.GetVirtualMachinePermissions(itemId));
 }
 public ResultObject CreateSnapshot(int itemId)
 {
     return(VirtualizationServerController.CreateSnapshot(itemId));
 }
 public VirtualMachineSnapshot GetSnapshot(int itemId, string snaphostId)
 {
     return(VirtualizationServerController.GetSnapshot(itemId, snaphostId));
 }
 public VirtualMachineSnapshot[] GetVirtualMachineSnapshots(int itemId)
 {
     return(VirtualizationServerController.GetVirtualMachineSnapshots(itemId));
 }
 public ResultObject EjectDvdDisk(int itemId)
 {
     return(VirtualizationServerController.EjectDvdDisk(itemId));
 }
 public ResultObject InsertDvdDisk(int itemId, string isoPath)
 {
     return(VirtualizationServerController.InsertDvdDisk(itemId, isoPath));
 }
 public ResultObject SetVirtualMachinePrimaryPrivateIPAddress(int itemId, int addressId)
 {
     return(VirtualizationServerController.SetVirtualMachinePrimaryPrivateIPAddress(itemId, addressId, true));
 }
 public ResultObject DeleteVirtualMachinePrivateIPAddresses(int itemId, int[] addressId)
 {
     return(VirtualizationServerController.DeleteVirtualMachinePrivateIPAddresses(itemId, addressId, true));
 }
 public ResultObject ApplySnapshot(int itemId, string snapshotId)
 {
     return(VirtualizationServerController.ApplySnapshot(itemId, snapshotId));
 }
 public int UpdateVirtualMachineUserPermissions(int itemId, VirtualMachinePermission[] permissions)
 {
     return(VirtualizationServerController.UpdateVirtualMachineUserPermissions(itemId, permissions));
 }
 public ResultObject RenameSnapshot(int itemId, string snapshotId, string newName)
 {
     return(VirtualizationServerController.RenameSnapshot(itemId, snapshotId, newName));
 }
 public ResultObject DeleteVirtualMachine(int itemId, bool saveFiles, bool exportVps, string exportPath)
 {
     return(VirtualizationServerController.DeleteVirtualMachine(itemId, saveFiles, exportVps, exportPath));
 }
 public ResultObject DeleteSnapshotSubtree(int itemId, string snapshotId)
 {
     return(VirtualizationServerController.DeleteSnapshotSubtree(itemId, snapshotId));
 }
 public string GetVirtualMachineSummaryText(int itemId)
 {
     return(VirtualizationServerController.GetVirtualMachineSummaryText(itemId, false, false));
 }
 public byte[] GetSnapshotThumbnail(int itemId, string snapshotId, ThumbnailSize size)
 {
     return(VirtualizationServerController.GetSnapshotThumbnail(itemId, snapshotId, size));
 }
 public VirtualMachineMetaItemsPaged GetVirtualMachines(int packageId,
                                                        string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive)
 {
     return(VirtualizationServerController.GetVirtualMachines(packageId,
                                                              filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive));
 }
 public ResultObject AddVirtualMachineExternalIPAddresses(int itemId, bool selectRandom,
                                                          int addressesNumber, int[] addressId)
 {
     return(VirtualizationServerController.AddVirtualMachineExternalIPAddresses(itemId, selectRandom,
                                                                                addressesNumber, addressId, true));
 }
 public VirtualMachine GetVirtualMachineItem(int itemId)
 {
     return(VirtualizationServerController.GetVirtualMachineByItemId(itemId));
 }
 public NetworkAdapterDetails GetPrivateNetworkAdapterDetails(int itemId)
 {
     return(VirtualizationServerController.GetPrivateNetworkAdapterDetails(itemId));
 }
 public NetworkAdapterDetails GetExternalNetworkDetails(int packageId)
 {
     return(VirtualizationServerController.GetExternalNetworkDetails(packageId));
 }
 public ResultObject AddVirtualMachinePrivateIPAddresses(int itemId, bool selectRandom,
                                                         int addressesNumber, string[] addresses)
 {
     return(VirtualizationServerController.AddVirtualMachinePrivateIPAddresses(itemId, selectRandom,
                                                                               addressesNumber, addresses, true));
 }