예제 #1
0
        public async Task <object> GetResourceDetails(MonitoringResourceRequest monitoringResourceRequest)
        {
            eC2Repository        = new EC2Repository();
            eC2Repository.Region = monitoringResourceRequest.Region;

            var instanceRequest = new DescribeInstancesRequest()
            {
                InstanceIds = monitoringResourceRequest.ResourceIds,
            };

            var response = await eC2Repository.GetInstanceDetails(instanceRequest);

            var ec2Response = response.Reservations.SelectMany(x => x.Instances).Select(y => new Ec2Response()
            {
                InstanceID    = y.InstanceId,
                InstanceType  = y.InstanceType.Value,
                InstanceState = y.State.Name,
                Name          = y.KeyName,
                LaunchTime    = y.LaunchTime.ToString(),
                Platform      = y.Platform,
                SecurityGroup = String.Join(",", y.SecurityGroups.Select(z => z.GroupName))
            });

            return(ec2Response);
        }
예제 #2
0
        public async Task <MonitoringSummaryResponse> GetResources(string region)
        {
            eC2Repository        = new EC2Repository();
            eC2Repository.Region = region;
            var response = await eC2Repository.GetInstances();

            var resources = response.Reservations.SelectMany(x => x.Instances).Select(x => x.InstanceId).ToList();

            return(new MonitoringSummaryResponse()
            {
                Label = "AWS/EC2",
                Count = resources.Count,
                ResourcesId = resources
            });
        }
예제 #3
0
 public EC2Operations(IEC2Repository _eC2Repository)
 {
     eC2Repository = _eC2Repository;
 }