Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
 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();
 }
Beispiel #3
0
        //-----------------------------------------------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;
        }
Beispiel #4
0
        /****************************************** 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);
        }