private void FrmMain_Load(object sender, EventArgs e) { List <KeyValuePair <string, string> > lstRegions = Regions.GetRegionList(); tsComboRegion.ComboBox.DataSource = lstRegions; tsComboRegion.ComboBox.DisplayMember = "Value"; tsComboRegion.ComboBox.ValueMember = "Key"; //tsComboRegion.ComboBox.SelectedIndex = 1; tsComboRegion.Enabled = false; tsComboEnv.ComboBox.DataSource = AwsUtilities.AwsCommon.GetEnvironmentList(); tsComboEnv.SelectedIndex = 0; tsComboColor.ComboBox.DataSource = Enum.GetValues(typeof(Model.Color)); tsComboColor.SelectedIndex = 0; MainStatusStrip = toolStripStatusLabel1; var computer = Application.CompanyName; IAMHelper helper = new IAMHelper(); helper.GetCurrentUser(); if (!Utils.IsSuperAdmin()) { infrastructureManagerToolStripMenuItem.Visible = false; greenBlueDeploymentToolStripMenuItem.Visible = false; helpToolStripMenuItem.Visible = false; } }
private void tsComboEnv_SelectedIndexChanged(object sender, EventArgs e) { GlobalVariables.Enviroment = AwsUtilities.AwsCommon.GetEnvironmentList().Find(o => o == tsComboEnv.SelectedItem.ToString()); GlobalVariables.Region = GlobalVariables.EnvironmentAccounts[GlobalVariables.Enviroment.ToString()].Region; tsComboRegion.SelectedItem = Regions.GetRegionList().Find(o => o.Key == GlobalVariables.Region); foreach (var frm in OpendFormList) { frm.OnEnvironmentChanged(); } tsComboRegion.Focus(); }
//-----------------------------------------------EC2 Instances Tab-------------------------------------------------------------- private void PopulateEc2Regions() { var lstRegions = Regions.GetRegionList(); lstRegions.Add(new KeyValuePair <string, string>("All Regions", "All Regions")); ddlEC2Region.DataSource = lstRegions; ddlEC2Region.DisplayMember = "Value"; ddlEC2Region.ValueMember = "Key"; ddlEC2Region.SelectedValue = GlobalVariables.Region; ddlAsgRegion.DataSource = lstRegions; ddlAsgRegion.DisplayMember = "Value"; ddlAsgRegion.ValueMember = "Key"; ddlAsgRegion.SelectedValue = GlobalVariables.Region; }
/****************************************** EC2 ******************************************/ public async Task <List <SA_Ec2Instance> > GetEc2InsatancesList(string region = null) { var lstRegions = new List <string>(); var lstImages = new List <Image>(); var ret = new List <SA_Ec2Instance>(); if (region == null) { foreach (var objRegion in Regions.GetRegionList()) { lstRegions.Add(objRegion.Key); } } else { lstRegions.Add(region); } foreach (var itemRegion in lstRegions) { client = new AmazonEC2Client( CredentiaslManager.GetCredential(profile), AwsCommon.GetRetionEndpoint(itemRegion)); //hello, world var request = new DescribeInstancesRequest(); var response = await client.DescribeInstancesAsync(request); var imageIds = new HashSet <string>(); var asgHelper = new AutoScalingHelper(profile, itemRegion, "green"); var asgEc2Maps = asgHelper.GetAsgEc2Maps(itemRegion); foreach (var reservation in response.Reservations) { foreach (var instance in reservation.Instances) { var saInstance = new SA_Ec2Instance() { Name = instance.Tags.Find(o => o.Key == "Name") == null ? string.Empty : instance.Tags.Find(o => o.Key == "Name").Value, Keyname = instance.KeyName, InstanceId = instance.InstanceId, InstanceType = instance.InstanceType, VpcId = instance.VpcId, State = instance.State.Name, PrivateDnsName = instance.PrivateDnsName, ImageId = instance.ImageId, Zone = instance.Placement.AvailabilityZone }; //imageIds.Add(instance.ImageId); DescribeImagesRequest requestImage = new DescribeImagesRequest(); requestImage.ImageIds.Add(instance.ImageId); //imageIds.Add(instance.ImageId); var responseImages = await client.DescribeImagesAsync(requestImage); if (responseImages.Images.Count > 0) { saInstance.OS = responseImages.Images[0].ImageLocation; } var searchedAsgEc2Map = asgEc2Maps.Find(o => o.InstanceId == instance.InstanceId); if (searchedAsgEc2Map != null) { saInstance.AsgName = searchedAsgEc2Map.AutoScalingGroupName; } else { saInstance.AsgName = string.Empty; } ret.Add(saInstance); } } //Get all Images in EC2 instances //DescribeImagesRequest requestImage = new DescribeImagesRequest(); //requestImage.ImageIds = imageIds.ToList(); //var responseImages = await client.DescribeImagesAsync(requestImage); //lstImages.AddRange(responseImages.Images); //foreach (var imageId in imageIds) //{ // DescribeImageAttributeRequest arq = new DescribeImageAttributeRequest(); // arq.ImageId = imageId; // //var arp = client.DescribeImageAttribute(arq); //} } var results = ret.OrderBy(o => o.State).ToList(); return(results); }