/// <summary> /// RemoveVirtualMachine - Removes a virtural machine with id /// </summary> /// <param name="id">Unique identifier</param> public void RemoveVirtualMachine(string id) { VirtualMachineModel vm = _VirtualMachines.Find(x => x.ID == id); if (vm != null) { vm.Destroy = true; _VirtualMachines.Remove(vm); vm.Dispose(); } }
/// <summary> /// Loads virtual machines /// </summary> /// <param name="basePath">Database path</param> /// <param name="provider">Provider name</param> /// <param name="env">Environment type</param> /// <param name="eId">Envinronment ID</param> /// <param name="vId">VM ID</param> private void LoadVirtualMachines( string basePath, string provider, EnvironmentTypes env, string eId = "", string vId = "") { { string environment = Enum.GetName(typeof(EnvironmentTypes), env); string[] names = Directory.GetDirectories(basePath + "/" + provider + "/" + environment + "/" + eId); foreach (string x in names) { string[] xArr = x.Split('/'); string xf = xArr[xArr.Length - 1]; if (!(xf.ToLower().IndexOf("sql") > 0)) { string fileName = basePath + "/" + provider + "/" + environment + "/" + eId + "/" + xf + "/config.json"; if (File.Exists(fileName)) { string jsonString = File.ReadAllText(fileName); MachineModel mm = ParseVM(jsonString); VirtualMachineModel vm = new VirtualMachineModel( basePath + "/" + provider + "/" + environment + "/" + eId, mm.OS, mm.CPU, mm.Memory, false, xf); _VirtualMachines.Add(vm); } } } } }
/// <summary> /// AddVirtualMachine creates a virtual machine and add to the list _VirtualMachines /// </summary> /// <param name="os">Virtual Machine operating system</param> /// <param name="cpu">CPU of the virtual machine</param> /// <param name="memory">Virtual machine physical memory</param> public void AddVirtualMachine(OSPlatform os, float cpu, float memory) { VirtualMachineModel vm = new VirtualMachineModel(_EnvPath, os, cpu, memory); _VirtualMachines.Add(vm); }