private static void VirtualMachineAction(InfraControl IC, string action) { var input = string.Empty; var provider = string.Empty; InfraGlobal.EnvironmentTypes environment = InfraGlobal.EnvironmentTypes._; switch (action) { case "1": // Add virtual machine { provider = GetProviderName(); if (IC.ProviderExist(provider)) { // Provider exist then find envronment // Ask for environment type environment = SelectEnvironment(); if (environment == 0) { return; // Cancelled } if (environment > 0) { if (IC.EnvironmentExist(provider, environment)) //if (IC.CloudServices.Find(x => x.Name == provider) // .Environments.Exists(y => y.Type == environment)) { // Ask for VM details var ID = GetEnvironmentID(); if (IC.EnvironmentExistByID(provider, environment, ID)) { var os = SelectOS(); if (os == "x") { return; } var cpu = SetValue(); if (cpu < 1) { return; } var memory = SetValue(); if (memory < 1) { return; } InfraGlobal.OSPlatform finalOs = InfraGlobal.OSPlatform._; switch (os) { case "l": finalOs = InfraGlobal.OSPlatform.Linux; break; case "w": finalOs = InfraGlobal.OSPlatform.Windows; break; } // Create virtual machine IC.CloudServices.Find(x => x.Name == provider) .Environments.Find(y => y.Type == environment) .AddVirtualMachine(finalOs, cpu, memory); return; } Console.WriteLine("Environment ID {0:G} does not exist.", ID); } Console.WriteLine("Environment {0:G} does not exist.", environment); } return; } Console.WriteLine("Provider {0:G} does not exist.", provider); }; break; case "2": // List all virtual machines { provider = GetProviderName(); if (IC.ProviderExist(provider)) { InfraGlobal.EnvironmentTypes environ = SelectEnvironment(); if (IC.EnvironmentExist(provider, environ)) { var ID = GetEnvironmentID(); if (IC.EnvironmentExistByID(provider, environ, ID)) { IC.ShowVirtualMachines(provider, environ, ID); } return; } Console.WriteLine("Environment does not exist!"); return; } Console.WriteLine("Provider {0:G} does not exist!", provider); }; break; case "3": // Remove virtual machine { provider = GetProviderName(); if (IC.ProviderExist(provider)) { // Provider exist then find envronment // Ask for environment type environment = SelectEnvironment(); if (environment == 0) { return; // Cancelled } if (environment > 0) { if (IC.EnvironmentExist(provider, environment)) //if (IC.CloudServices.Find(x => x.Name == provider) // .Environments.Exists(y => y.Type == environment)) { // Ask for VM details var ID = GetEnvironmentID(); if (IC.EnvironmentExistByID(provider, environment, ID)) { var vmID = GetVMID(); if (IC.VirtualMachineExist(provider, environment, ID, vmID)) { IC.DeleteVirtualMachine(provider, environment, ID, vmID); } Console.WriteLine("VM ID {0:G} does not exist.", vmID); return; } } Console.WriteLine("Environment {0:G} does not exist.", environment); } return; } Console.WriteLine("Provider {0:G} does not exist.", provider); }; break; case "4": { Console.WriteLine("Action cancelled."); }; break; default: return; } }
// Action functions private static void DatabaseAction(InfraControl IC, string action) { var input = string.Empty; var provider = string.Empty; InfraGlobal.EnvironmentTypes environment = InfraGlobal.EnvironmentTypes._; switch (action) { case "1": // Add database { provider = GetProviderName(); if (IC.ProviderExist(provider)) { // Provider exist then find envronment // Ask for environment type environment = SelectEnvironment(); if (environment == 0) { return; // Cancelled } if (environment > 0) { if (IC.EnvironmentExist(provider, environment)) //if (IC.CloudServices.Find(x => x.Name == provider) // .Environments.Exists(y => y.Type == environment)) { var ID = GetEnvironmentID(); if (IC.EnvironmentExistByID(provider, environment, ID)) { InfraGlobal.DatabaseTypes database = SelectDatabase(); if (database == 0) { return; // Cancelled } if (database > 0) { // Add database IC.CreateDatabase(provider, environment, ID, database); } } return; } Console.WriteLine("Environment {0:G} does not exist.", environment); } return; } Console.WriteLine("Provider {0:G} does not exist.", provider); }; break; case "2": // List all database { provider = GetProviderName(); if (IC.ProviderExist(provider)) { InfraGlobal.EnvironmentTypes environ = SelectEnvironment(); if (IC.EnvironmentExist(provider, environ)) { var ID = GetEnvironmentID(); if (IC.EnvironmentExistByID(provider, environ, ID)) { IC.ShowDatabases(provider, environ, ID); return; } } Console.WriteLine("Environment does not exist!"); return; } Console.WriteLine("Provider {0:G} does not exist!", provider); }; break; case "3": // Remove database { provider = GetProviderName(); if (IC.ProviderExist(provider)) { // Provider exist then find envronment // Ask for environment type environment = SelectEnvironment(); if (environment == 0) { return; // Cancelled } if (environment > 0) { if (IC.EnvironmentExist(provider, environment)) //if (IC.CloudServices.Find(x => x.Name == provider) // .Environments.Exists(y => y.Type == environment)) { var ID = GetEnvironmentID(); if (IC.EnvironmentExistByID(provider, environment, ID)) { InfraGlobal.DatabaseTypes database = SelectDatabase(); if (database == 0) { return; // Cancelled } if (database > 0) { // Delete database IC.DeleteDatabase(provider, environment, ID, database); } } return; } Console.WriteLine("Environment {0:G} does not exist.", environment); } return; } Console.WriteLine("Provider {0:G} does not exist.", provider); }; break; case "4": { Console.WriteLine("Action cancelled."); }; break; default: return; } }