public static List<string> getEC2Regions(this API_AmazonEC2 amazonEC2) { var ec2Client = new AmazonEC2Client(amazonEC2.ApiKey.UserName, amazonEC2.ApiKey.Password); return (from region in ec2Client.DescribeRegions(new DescribeRegionsRequest()) .DescribeRegionsResult.Region select region.RegionName).toList(); }
/// <summary> /// Auto Scaling Console load event handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ConsoleView_Loaded(object sender, RoutedEventArgs e) { try { AmazonEC2Client ec2Client = new AmazonEC2Client(); DescribeRegionsRequest rreq = new DescribeRegionsRequest(); DescribeRegionsResponse rresp = ec2Client.DescribeRegions(rreq); ((ViewModel)this.DataContext).Regions.Clear(); foreach (Region r in rresp.DescribeRegionsResult.Region) { ((ViewModel)this.DataContext).Regions.Add(new Models.Region(r.RegionName)); } ((ViewModel)this.DataContext).Region = ((ViewModel)this.DataContext).Regions.Where(o => o.Name.ToLower() == "us-east-1").FirstOrDefault(); AmazonAutoScalingClient client = GetAutoScaleClient(); if (client == null) { MessageBoxResult mbr = MessageBox.Show(Window.GetWindow(this), "AWS Credentials and region must be defined in app.config file."); Application.Current.Shutdown(); } } catch (Exception ex) { LogManager.LogEntry(ex.Message); LogManager.LogEntry(ex.StackTrace); ((ViewModel)this.DataContext).IsBusy = false; MessageBox.Show(Window.GetWindow(this), "Error occured while setting credentials. Please ensure your credentials are correct in app.config.", "Error", MessageBoxButton.OK); Application.Current.Shutdown(); } }