/// <summary> /// Flow to create a new environment group /// </summary> /// <returns></returns> private static async Task CreateEnvironmentGroup() { Console.WriteLine("Creating new Environment Group"); //Get GroupName Console.WriteLine("Enter new group name:"); var groupName = Console.ReadLine(); EnvironmentGroup newGroup = new EnvironmentGroup(); newGroup.Name = groupName; //Get all projects var allProject = await _appVeyorService.GetAllAppVeyorProjects(); Console.WriteLine("Pick a Project:"); var menu = new TypedMenu <AppVeyorProject>(allProject, "Choose a number", x => x.Name); var pickedProject = menu.Display(); newGroup.Project = pickedProject; //Get all environments var allEnv = await _appVeyorService.GetAllAppVeyorEnvironments(); AskForEnvironment(newGroup, allEnv); //Save group //Write JSON to file _groupFileService.SaveGroupToFile(newGroup); Console.WriteLine("Saved Environment Group {0} with {1} environments", newGroup.Name, newGroup.Environments.Count); }
/// <summary> /// Flow to create a new SwapGroup /// </summary> /// <returns></returns> private static async Task CreateSwapGroup() { Console.WriteLine("Creating new Swap Group"); //Get GroupName Console.WriteLine("Enter new group name:"); var groupName = Console.ReadLine(); SwapGroup newGroup = new SwapGroup(); newGroup.Name = groupName; var client = new WebSiteManagementClient(credentials); client.SubscriptionId = subscriptionId; var resourceClient = new ResourceManagementClient(credentials); resourceClient.SubscriptionId = subscriptionId; var resourceGroups = resourceClient.ResourceGroups.List(); var resourceGroepMenu = new TypedMenu <ResourceGroup>(resourceGroups.ToList(), "Choose a resource group", x => x.Name); var resourceGroup = resourceGroepMenu.Display(); var allWebsites = client.WebApps.ListByResourceGroup(resourceGroup.Name).ToList(); AskForSlot(newGroup, resourceGroup, client, allWebsites); //Save group //Write JSON to file _groupFileService.SaveGroupToFile(newGroup); Console.WriteLine("Saved SwapSlots Group {0} with {1} SwapSlots", newGroup.Name, newGroup.SwapSlots.Count); }
/// <summary> /// Flow to create a new environment group /// </summary> /// <returns></returns> private static async Task CreateEnvironmentGroup() { Console.WriteLine("Creating new Environment Group"); //Get GroupName Console.WriteLine("Enter new group name:"); var groupName = Console.ReadLine(); EnvironmentGroup newGroup = new EnvironmentGroup(); newGroup.Name = groupName; Console.WriteLine("Default branch (develop):"); var defaultBranch = Console.ReadLine(); if (!string.IsNullOrWhiteSpace(defaultBranch)) { newGroup.DefaultBranch = defaultBranch; } //Get all projects Console.WriteLine("Fetching projects..."); var allProject = await _appVeyorService.GetAllAppVeyorProjects(); Console.WriteLine("Pick a Project:"); var menu = new TypedMenu <AppVeyorProject>(allProject, "Choose a number", x => x.Name); var pickedProject = menu.Display(); newGroup.Project = pickedProject; //Get all environments var allEnv = await _appVeyorService.GetAllAppVeyorEnvironmentsForProject(newGroup.Project.AccountName + "/" + newGroup.Project.Slug); AskForEnvironment(newGroup, allEnv); //Save group //Write JSON to file _groupFileService.SaveGroupToFile(newGroup); Console.WriteLine("Saved Environment Group {0} with {1} environments", newGroup.Name, newGroup.Environments.Count); }