예제 #1
0
        private static void ProviderAction(InfraControl IC, string action)
        {
            var input = string.Empty;

            switch (action)
            {
            case "1":     // Create provider
            {
                Console.WriteLine("Enter provider name:");
                input = Console.ReadLine();
                IC.CreateProvider(input);
            };
                break;

            case "2":     // List all providers
            {
                IC.ShowProviders();
            };
                break;

            case "3":
            {
                var provider = GetProviderName();
                if (IC.ProviderExist(provider))
                {
                    IC.DeleteProvider(provider);
                    return;
                }
                Console.WriteLine("Provider {0:G} does not exist.", provider);
            };
                break;

            case "4":
            {
                Console.WriteLine("Action cancelled.");
            };
                break;

            default: return;
            }
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        private static void EnvironmentAction(InfraControl IC, string action)
        {
            var input    = string.Empty;
            var provider = string.Empty;

            switch (action)
            {
            case "1":     // Create environmont
            {
                provider = GetProviderName();
                if (IC.ProviderExist(provider))
                {        // Provider exist then create environment
                    // Ask for environment type
                    input = WhichEnvironment();
                    if ((input.ToLower() == "u") ||
                        (input.ToLower() == "s") ||
                        (input.ToLower() == "p"))
                    {
                        CloudLibrary.InfraGlobal.EnvironmentTypes Env = 0;
                        switch (input.ToLower())
                        {
                        case "u": Env = CloudLibrary.InfraGlobal.EnvironmentTypes.UAT;
                            break;

                        case "s": Env = CloudLibrary.InfraGlobal.EnvironmentTypes.Staging;
                            break;

                        case "p": Env = CloudLibrary.InfraGlobal.EnvironmentTypes.Production;
                            break;
                        }
                        IC.CloudServices.Find(x => x.Name == provider).CreateEnvironment(Env);
                    }
                    return;
                }
                Console.WriteLine("Provider {0:G} does not exist.", provider);
            };
                break;

            case "2":     // List all environments
            {
                provider = GetProviderName();
                if (IC.ProviderExist(provider))
                {
                    IC.ShowEnvironments(provider);
                    return;
                }
                Console.WriteLine("Provider {0:G} does not exist!", provider);
            };
                break;

            case "3":     // Remove environment
            {
                provider = GetProviderName();
                if (IC.ProviderExist(provider))
                {        // Provider exist then create environment
                    // Ask for environment type
                    input = WhichEnvironment();
                    if ((input.ToLower() == "u") ||
                        (input.ToLower() == "s") ||
                        (input.ToLower() == "p"))
                    {
                        CloudLibrary.InfraGlobal.EnvironmentTypes Env = 0;
                        switch (input.ToLower())
                        {
                        case "u":
                            Env = CloudLibrary.InfraGlobal.EnvironmentTypes.UAT;
                            break;

                        case "s":
                            Env = CloudLibrary.InfraGlobal.EnvironmentTypes.Staging;
                            break;

                        case "p":
                            Env = CloudLibrary.InfraGlobal.EnvironmentTypes.Production;
                            break;
                        }
                        IC.DeleteEnvironment(provider, Env);
                    }
                    return;
                }
                Console.WriteLine("Provider {0:G} does not exist.", provider);
            };
                break;

            case "4":
            {
                Console.WriteLine("Action cancelled.");
            };
                break;

            default: return;
            }
        }
예제 #4
0
        // 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;
            }
        }