private static void UnmarshallResult(XmlUnmarshallerContext context, DescribeAlarmsResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth += 2; } while (context.ReadAtDepth(originalDepth)) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("MetricAlarms/member", targetDepth)) { var unmarshaller = MetricAlarmUnmarshaller.Instance; var item = unmarshaller.Unmarshall(context); response.MetricAlarms.Add(item); continue; } if (context.TestExpression("NextToken", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.NextToken = unmarshaller.Unmarshall(context); continue; } } } return; }
/// <summary> /// <para> Retrieves alarms with the specified names. If no name is /// specified, all alarms for the user are returned. Alarms can be /// retrieved by using only a prefix for the alarm name, the alarm state, /// or a prefix for any action. </para> /// </summary> /// /// <param name="describeAlarmsRequest">Container for the necessary /// parameters to execute the DescribeAlarms service method on /// AmazonCloudWatch.</param> /// /// <returns>The response from the DescribeAlarms service method, as /// returned by AmazonCloudWatch.</returns> /// /// <exception cref="InvalidNextTokenException"/> public DescribeAlarmsResponse DescribeAlarms(DescribeAlarmsRequest describeAlarmsRequest) { IRequest <DescribeAlarmsRequest> request = new DescribeAlarmsRequestMarshaller().Marshall(describeAlarmsRequest); DescribeAlarmsResponse response = Invoke <DescribeAlarmsRequest, DescribeAlarmsResponse> (request, this.signer, DescribeAlarmsResponseUnmarshaller.GetInstance()); return(response); }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { DescribeAlarmsResponse response = new DescribeAlarmsResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.IsStartElement) { if (context.TestExpression("DescribeAlarmsResult", 2)) { UnmarshallResult(context, response); continue; } if (context.TestExpression("ResponseMetadata", 2)) { response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context); } } } return(response); }
public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonCloudWatchConfig config = new AmazonCloudWatchConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonCloudWatchClient client = new AmazonCloudWatchClient(creds, config); DescribeAlarmsResponse resp = new DescribeAlarmsResponse(); do { DescribeAlarmsRequest req = new DescribeAlarmsRequest { NextToken = resp.NextToken , MaxRecords = maxItems }; resp = client.DescribeAlarms(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.MetricAlarms) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
public async Task <IEnumerable <MetricAlarm> > ListMetricAlarmsAsync( string alarmNamePrefix = null, CancellationToken cancellationToken = default(CancellationToken)) { var list = new List <MetricAlarm>(); DescribeAlarmsResponse response = null; while ((response = await _client.DescribeAlarmsAsync(new DescribeAlarmsRequest() { NextToken = response?.NextToken, MaxRecords = 100, AlarmNamePrefix = alarmNamePrefix }, cancellationToken))?.HttpStatusCode == System.Net.HttpStatusCode.OK) { if (!response.MetricAlarms.IsNullOrEmpty()) { list.AddRange(response.MetricAlarms); } if (response.NextToken.IsNullOrEmpty()) { break; } await Task.Delay(100); } response.EnsureSuccess(); return(list); }
public static DescribeAlarmsResponse Unmarshall(UnmarshallerContext context) { DescribeAlarmsResponse describeAlarmsResponse = new DescribeAlarmsResponse(); describeAlarmsResponse.HttpResponse = context.HttpResponse; describeAlarmsResponse.RequestId = context.StringValue("DescribeAlarms.RequestId"); describeAlarmsResponse.TotalCount = context.IntegerValue("DescribeAlarms.TotalCount"); describeAlarmsResponse.PageNumber = context.IntegerValue("DescribeAlarms.PageNumber"); describeAlarmsResponse.PageSize = context.IntegerValue("DescribeAlarms.PageSize"); List <DescribeAlarmsResponse.DescribeAlarms_Alarm> describeAlarmsResponse_alarmList = new List <DescribeAlarmsResponse.DescribeAlarms_Alarm>(); for (int i = 0; i < context.Length("DescribeAlarms.AlarmList.Length"); i++) { DescribeAlarmsResponse.DescribeAlarms_Alarm alarm = new DescribeAlarmsResponse.DescribeAlarms_Alarm(); alarm.AlarmTaskId = context.StringValue("DescribeAlarms.AlarmList[" + i + "].AlarmTaskId"); alarm.Name = context.StringValue("DescribeAlarms.AlarmList[" + i + "].Name"); alarm.Description = context.StringValue("DescribeAlarms.AlarmList[" + i + "].Description"); alarm.MetricType = context.StringValue("DescribeAlarms.AlarmList[" + i + "].MetricType"); alarm.MetricName = context.StringValue("DescribeAlarms.AlarmList[" + i + "].MetricName"); alarm.Period = context.IntegerValue("DescribeAlarms.AlarmList[" + i + "].Period"); alarm.Statistics = context.StringValue("DescribeAlarms.AlarmList[" + i + "].Statistics"); alarm.ComparisonOperator = context.StringValue("DescribeAlarms.AlarmList[" + i + "].ComparisonOperator"); alarm.Threshold = context.FloatValue("DescribeAlarms.AlarmList[" + i + "].Threshold"); alarm.EvaluationCount = context.IntegerValue("DescribeAlarms.AlarmList[" + i + "].EvaluationCount"); alarm.State = context.StringValue("DescribeAlarms.AlarmList[" + i + "].State"); alarm.ScalingGroupId = context.StringValue("DescribeAlarms.AlarmList[" + i + "].ScalingGroupId"); alarm.Enable = context.BooleanValue("DescribeAlarms.AlarmList[" + i + "].Enable"); alarm.Effective = context.StringValue("DescribeAlarms.AlarmList[" + i + "].Effective"); List <string> alarm_alarmActions = new List <string>(); for (int j = 0; j < context.Length("DescribeAlarms.AlarmList[" + i + "].AlarmActions.Length"); j++) { alarm_alarmActions.Add(context.StringValue("DescribeAlarms.AlarmList[" + i + "].AlarmActions[" + j + "]")); } alarm.AlarmActions = alarm_alarmActions; List <DescribeAlarmsResponse.DescribeAlarms_Alarm.DescribeAlarms_Dimension> alarm_dimensions = new List <DescribeAlarmsResponse.DescribeAlarms_Alarm.DescribeAlarms_Dimension>(); for (int j = 0; j < context.Length("DescribeAlarms.AlarmList[" + i + "].Dimensions.Length"); j++) { DescribeAlarmsResponse.DescribeAlarms_Alarm.DescribeAlarms_Dimension dimension = new DescribeAlarmsResponse.DescribeAlarms_Alarm.DescribeAlarms_Dimension(); dimension.DimensionKey = context.StringValue("DescribeAlarms.AlarmList[" + i + "].Dimensions[" + j + "].DimensionKey"); dimension.DimensionValue = context.StringValue("DescribeAlarms.AlarmList[" + i + "].Dimensions[" + j + "].DimensionValue"); alarm_dimensions.Add(dimension); } alarm.Dimensions = alarm_dimensions; describeAlarmsResponse_alarmList.Add(alarm); } describeAlarmsResponse.AlarmList = describeAlarmsResponse_alarmList; return(describeAlarmsResponse); }
public static DescribeAlarmsResponse Unmarshall(UnmarshallerContext context) { DescribeAlarmsResponse describeAlarmsResponse = new DescribeAlarmsResponse(); describeAlarmsResponse.HttpResponse = context.HttpResponse; describeAlarmsResponse.RequestId = context.StringValue("DescribeAlarms.RequestId"); describeAlarmsResponse.TraceId = context.StringValue("DescribeAlarms.TraceId"); describeAlarmsResponse.Success = context.BooleanValue("DescribeAlarms.Success"); describeAlarmsResponse.Code = context.IntegerValue("DescribeAlarms.Code"); describeAlarmsResponse.Message = context.StringValue("DescribeAlarms.Message"); describeAlarmsResponse.Total = context.StringValue("DescribeAlarms.Total"); List <DescribeAlarmsResponse.DescribeAlarms_Alarm> describeAlarmsResponse_datapoints = new List <DescribeAlarmsResponse.DescribeAlarms_Alarm>(); for (int i = 0; i < context.Length("DescribeAlarms.Datapoints.Length"); i++) { DescribeAlarmsResponse.DescribeAlarms_Alarm alarm = new DescribeAlarmsResponse.DescribeAlarms_Alarm(); alarm.Uuid = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Uuid"); alarm.Name = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Name"); alarm._Namespace = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Namespace"); alarm.MetricName = context.StringValue("DescribeAlarms.Datapoints[" + i + "].MetricName"); alarm.Period = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Period"); alarm.EvaluationCount = context.StringValue("DescribeAlarms.Datapoints[" + i + "].EvaluationCount"); alarm.EffectiveInterval = context.StringValue("DescribeAlarms.Datapoints[" + i + "].EffectiveInterval"); alarm.NoEffectiveInterval = context.StringValue("DescribeAlarms.Datapoints[" + i + "].NoEffectiveInterval"); alarm.SilenceTime = context.StringValue("DescribeAlarms.Datapoints[" + i + "].SilenceTime"); alarm.Enable = context.BooleanValue("DescribeAlarms.Datapoints[" + i + "].Enable"); alarm.State = context.StringValue("DescribeAlarms.Datapoints[" + i + "].State"); alarm.ContactGroups = context.StringValue("DescribeAlarms.Datapoints[" + i + "].ContactGroups"); alarm.Webhook = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Webhook"); alarm.Subject = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Subject"); alarm.RuleName = context.StringValue("DescribeAlarms.Datapoints[" + i + "].RuleName"); alarm.Resources = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Resources"); alarm.Level = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Level"); alarm.GroupId = context.StringValue("DescribeAlarms.Datapoints[" + i + "].GroupId"); alarm.GroupName = context.StringValue("DescribeAlarms.Datapoints[" + i + "].GroupName"); alarm.Dimensions = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Dimensions"); alarm.Statistics = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Statistics"); alarm.ComparisonOperator = context.StringValue("DescribeAlarms.Datapoints[" + i + "].ComparisonOperator"); alarm.Threshold = context.StringValue("DescribeAlarms.Datapoints[" + i + "].Threshold"); alarm.DisplayName = context.StringValue("DescribeAlarms.Datapoints[" + i + "].DisplayName"); describeAlarmsResponse_datapoints.Add(alarm); } describeAlarmsResponse.Datapoints = describeAlarmsResponse_datapoints; return(describeAlarmsResponse); }
public static DescribeAlarmsResponse Unmarshall(UnmarshallerContext context) { DescribeAlarmsResponse describeAlarmsResponse = new DescribeAlarmsResponse(); describeAlarmsResponse.HttpResponse = context.HttpResponse; describeAlarmsResponse.ErrorMessage = context.StringValue("DescribeAlarms.ErrorMessage"); describeAlarmsResponse.ErrorCode = context.StringValue("DescribeAlarms.ErrorCode"); describeAlarmsResponse.PageSize = context.IntegerValue("DescribeAlarms.PageSize"); describeAlarmsResponse.Message = context.StringValue("DescribeAlarms.Message"); describeAlarmsResponse.TotalCount = context.IntegerValue("DescribeAlarms.TotalCount"); describeAlarmsResponse.PageNumber = context.IntegerValue("DescribeAlarms.PageNumber"); describeAlarmsResponse.DynamicCode = context.StringValue("DescribeAlarms.DynamicCode"); describeAlarmsResponse.Code = context.StringValue("DescribeAlarms.Code"); describeAlarmsResponse.DynamicMessage = context.StringValue("DescribeAlarms.DynamicMessage"); describeAlarmsResponse.RequestId = context.StringValue("DescribeAlarms.RequestId"); describeAlarmsResponse.Success = context.BooleanValue("DescribeAlarms.Success"); List <DescribeAlarmsResponse.DescribeAlarms_AlarmInfo> describeAlarmsResponse_alarms = new List <DescribeAlarmsResponse.DescribeAlarms_AlarmInfo>(); for (int i = 0; i < context.Length("DescribeAlarms.Alarms.Length"); i++) { DescribeAlarmsResponse.DescribeAlarms_AlarmInfo alarmInfo = new DescribeAlarmsResponse.DescribeAlarms_AlarmInfo(); alarmInfo.Remark = context.StringValue("DescribeAlarms.Alarms[" + i + "].Remark"); alarmInfo.StoreId = context.StringValue("DescribeAlarms.Alarms[" + i + "].StoreId"); alarmInfo.DeviceBarCode = context.StringValue("DescribeAlarms.Alarms[" + i + "].DeviceBarCode"); alarmInfo.DealUserId = context.StringValue("DescribeAlarms.Alarms[" + i + "].DealUserId"); alarmInfo.DeviceType = context.StringValue("DescribeAlarms.Alarms[" + i + "].DeviceType"); alarmInfo.ItemTitle = context.StringValue("DescribeAlarms.Alarms[" + i + "].ItemTitle"); alarmInfo.AlarmTime = context.StringValue("DescribeAlarms.Alarms[" + i + "].AlarmTime"); alarmInfo.ErrorType = context.StringValue("DescribeAlarms.Alarms[" + i + "].ErrorType"); alarmInfo.DeviceMac = context.StringValue("DescribeAlarms.Alarms[" + i + "].DeviceMac"); alarmInfo.AlarmId = context.StringValue("DescribeAlarms.Alarms[" + i + "].AlarmId"); alarmInfo.RetryGmtCreate = context.StringValue("DescribeAlarms.Alarms[" + i + "].RetryGmtCreate"); alarmInfo.RetryGmtModified = context.StringValue("DescribeAlarms.Alarms[" + i + "].RetryGmtModified"); alarmInfo.ItemBarCode = context.StringValue("DescribeAlarms.Alarms[" + i + "].ItemBarCode"); alarmInfo.RetryTimes = context.LongValue("DescribeAlarms.Alarms[" + i + "].RetryTimes"); alarmInfo.DealTime = context.StringValue("DescribeAlarms.Alarms[" + i + "].DealTime"); alarmInfo.AlarmType = context.StringValue("DescribeAlarms.Alarms[" + i + "].AlarmType"); alarmInfo.AlarmStatus = context.StringValue("DescribeAlarms.Alarms[" + i + "].AlarmStatus"); describeAlarmsResponse_alarms.Add(alarmInfo); } describeAlarmsResponse.Alarms = describeAlarmsResponse_alarms; return(describeAlarmsResponse); }
public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { DescribeAlarmsResponse response = new DescribeAlarmsResponse(); while (context.Read()) { if (context.IsStartElement) { if (context.TestExpression("DescribeAlarmsResult", 2)) { response.DescribeAlarmsResult = DescribeAlarmsResultUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("ResponseMetadata", 2)) { response.ResponseMetadata = ResponseMetadataUnmarshaller.GetInstance().Unmarshall(context); } } } return(response); }
private static void UnmarshallResult(XmlUnmarshallerContext context, DescribeAlarmsResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth += 2; } while (context.Read()) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("MetricAlarms/member", targetDepth)) { response.MetricAlarms.Add(MetricAlarmUnmarshaller.GetInstance().Unmarshall(context)); continue; } if (context.TestExpression("NextToken", targetDepth)) { response.NextToken = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } } else if (context.IsEndElement && context.CurrentDepth < originalDepth) { return; } } return; }
public static void CWDescribeAlarms() { #region CWDescribeAlarms var client = new AmazonCloudWatchClient(); var request = new DescribeAlarmsRequest { AlarmNames = new List <string>() { "awseb-e-b36EXAMPLE-stack-CloudwatchAlarmLow-1KAKH4EXAMPLE" }, MaxRecords = 1, StateValue = StateValue.ALARM }; var response = new DescribeAlarmsResponse(); do { response = client.DescribeAlarms(request); foreach (var alarm in response.MetricAlarms) { Console.WriteLine(alarm.AlarmName); Console.WriteLine(alarm.AlarmDescription); Console.WriteLine(alarm.MetricName + " " + alarm.ComparisonOperator + " " + alarm.Threshold); Console.WriteLine(); } request.NextToken = response.NextToken; } while (!string.IsNullOrEmpty(response.NextToken)); #endregion Console.ReadLine(); }
public async Task <IActionResult> Index(Boolean unFixable) { var CloudwatchFeed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/cloudwatch-ap-southeast-1.rss"); var CloudwatchFeed1 = CloudwatchFeed.Items.ElementAt(0); if (CloudwatchFeed1.Title.StartsWith("Service is operating normally")) { ViewData["CWStatus"] = "OK"; } else if (CloudwatchFeed1.Title.StartsWith("Informational message") || CloudwatchFeed1.Title.StartsWith("Performance issues")) { ViewData["CWStatus"] = "WARNING"; } else if (CloudwatchFeed1.Title.StartsWith("Service disruption")) { ViewData["CWStatus"] = "CRITICAL"; } var EC2Feed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/ec2-ap-southeast-1.rss"); var EC2Feed1 = EC2Feed.Items.ElementAt(0); if (EC2Feed1.Title.StartsWith("Service is operating normally")) { ViewData["EC2Status"] = "OK"; } else if (EC2Feed1.Title.StartsWith("Informational message") || EC2Feed1.Title.StartsWith("Performance issues")) { ViewData["EC2Status"] = "WARNING"; } else if (EC2Feed1.Title.StartsWith("Service disruption")) { ViewData["EC2Status"] = "CRITICAL"; } var EBSFeed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/elasticbeanstalk-ap-southeast-1.rss"); var EBSFeed1 = EBSFeed.Items.ElementAt(0); if (EBSFeed1.Title.StartsWith("Service is operating normally")) { ViewData["EBSStatus"] = "OK"; } else if (EBSFeed1.Title.StartsWith("Informational message") || EBSFeed1.Title.StartsWith("Performance issues")) { ViewData["EBSStatus"] = "WARNING"; } else if (EBSFeed1.Title.StartsWith("Service disruption")) { ViewData["EBSStatus"] = "CRITICAL"; } var ELBFeed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/elb-ap-southeast-1.rss"); if (ELBFeed.Items.Count != 0) { var ELBFeed1 = ELBFeed.Items.ElementAt(0); if (ELBFeed1.Title.StartsWith("Service is operating normally")) { ViewData["ELBStatus"] = "OK"; } else if (ELBFeed1.Title.StartsWith("Informational message") || ELBFeed1.Title.StartsWith("Performance issues")) { ViewData["ELBStatus"] = "WARNING"; } else if (ELBFeed1.Title.StartsWith("Service disruption")) { ViewData["ELBStatus"] = "CRITICAL"; } } else { ViewData["ELBStatus"] = "OK"; } var NATFeed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/natgateway-ap-southeast-1.rss"); if (NATFeed.Items.Count != 0) { var NATFeed1 = NATFeed.Items.ElementAt(0); if (NATFeed1.Title.StartsWith("Service is operating normally")) { ViewData["NATStatus"] = "OK"; } else if (NATFeed1.Title.StartsWith("Informational message") || NATFeed1.Title.StartsWith("Performance issues")) { ViewData["NATStatus"] = "WARNING"; } else if (NATFeed1.Title.StartsWith("Service disruption")) { ViewData["NATStatus"] = "CRITICAL"; } } else { ViewData["NATStatus"] = "OK"; } var RDSFeed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/rds-ap-southeast-1.rss"); var RDSFeed1 = RDSFeed.Items.ElementAt(0); if (RDSFeed1.Title.StartsWith("Service is operating normally")) { ViewData["RDSStatus"] = "OK"; } else if (RDSFeed1.Title.StartsWith("Informational message") || RDSFeed1.Title.StartsWith("Performance issues")) { ViewData["RDSStatus"] = "WARNING"; } else if (RDSFeed1.Title.StartsWith("Service disruption")) { ViewData["RDSStatus"] = "CRITICAL"; } var R53Feed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/route53.rss"); var R53Feed1 = R53Feed.Items.ElementAt(0); if (R53Feed1.Title.StartsWith("Service is operating normally") || R53Feed1.Title.Contains("[RESOLVED]")) { ViewData["R53Status"] = "OK"; } else if (R53Feed1.Title.StartsWith("Informational message") || R53Feed1.Title.StartsWith("Performance issues")) { ViewData["R53Status"] = "WARNING"; } else if (R53Feed1.Title.StartsWith("Service disruption")) { ViewData["R53Status"] = "CRITICAL"; } var SGFeed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/storagegateway-ap-southeast-1.rss"); var SGFeed1 = SGFeed.Items.ElementAt(0); if (SGFeed1.Title.StartsWith("Service is operating normally")) { ViewData["SGStatus"] = "OK"; } else if (SGFeed1.Title.StartsWith("Informational message") || SGFeed1.Title.StartsWith("Performance issues")) { ViewData["SGStatus"] = "WARNING"; } else if (SGFeed1.Title.StartsWith("Service disruption")) { ViewData["SGStatus"] = "CRITICAL"; } var S3Feed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/s3-ap-southeast-1.rss"); var S3Feed1 = S3Feed.Items.ElementAt(0); if (S3Feed1.Title.StartsWith("Service is operating normally")) { ViewData["S3Status"] = "OK"; } else if (S3Feed1.Title.StartsWith("Informational message") || S3Feed1.Title.StartsWith("Performance issues")) { ViewData["S3Status"] = "WARNING"; } else if (S3Feed1.Title.StartsWith("Service disruption")) { ViewData["S3Status"] = "CRITICAL"; } var VPCFeed = await FeedReader.ReadAsync("https://status.aws.amazon.com/rss/vpc-ap-southeast-1.rss"); var VPCFeed1 = VPCFeed.Items.ElementAt(0); if (VPCFeed1.Title.StartsWith("Service is operating normally")) { ViewData["VPCStatus"] = "OK"; } else if (VPCFeed1.Title.StartsWith("Informational message") || VPCFeed1.Title.StartsWith("Performance issues")) { ViewData["VPCStatus"] = "WARNING"; } else if (VPCFeed1.Title.StartsWith("Service disruption")) { ViewData["VPCStatus"] = "CRITICAL"; } DescribeAlarmsResponse response = await CWClient.DescribeAlarmsAsync(); Boolean Flag = false; foreach (MetricAlarm a in response.MetricAlarms) { if (a.AlarmName.Contains("awsec2") && a.StateValue == StateValue.ALARM) { Flag = true; break; } } if (Flag == true) { ViewData["CWPlatformState"] = "ALARM"; } else { ViewData["CWPlatformState"] = "OK"; } Flag = false; foreach (MetricAlarm a in response.MetricAlarms) { if (a.AlarmName.Equals("eCTF Load Balancer HTTP 5XX Errors") && a.StateValue == StateValue.ALARM) { Flag = true; break; } } if (Flag == true) { ViewData["CWELBState"] = "ALARM"; } else { ViewData["CWELBState"] = "OK"; } if (_context.Servers.Count() != 0) { Flag = false; foreach (MetricAlarm a in response.MetricAlarms) { if (a.AlarmName.Contains("-eCTFVM-") && a.StateValue == StateValue.ALARM) { Flag = true; break; } } if (Flag == true) { ViewData["CWCSState"] = "ALARM"; } else { ViewData["CWCSState"] = "OK"; } } if (_context.VPCs.ToList().Count == 0) { ViewData["MissingVPC"] = "YES"; } else if (unFixable == true) { ViewData["MissingVPC"] = "UNFIXABLE"; } else { ViewData["MissingVPC"] = "NO"; List <Server> allServers = await _context.Servers.ToListAsync(); ViewData["ServerTotalCount"] = allServers.Count(); List <Server> errorServers = await _context.Servers.FromSql("SELECT * FROM dbo.Servers WHERE State = 4").ToListAsync(); ViewData["ServerErrorCount"] = errorServers.Count(); List <Server> runningServers = await _context.Servers.FromSql("SELECT * FROM dbo.Servers WHERE State = 1").ToListAsync(); ViewData["ServerRunningCount"] = runningServers.Count(); List <Subnet> allSubnets = await _context.Subnets.ToListAsync(); ViewData["SubnetTotalCount"] = allSubnets.Count(); if (errorServers.Count() == 0) { ViewData["ServerHealth"] = "OK"; } else { ViewData["ServerHealth"] = "NOT OK"; } List <Subnet> intranetSubnets = await _context.Subnets.FromSql("SELECT * FROM dbo.Subnets WHERE Type = 2").ToListAsync(); ViewData["SubnetIntranetCount"] = intranetSubnets.Count(); List <Subnet> extranetSubnets = await _context.Subnets.FromSql("SELECT * FROM dbo.Subnets WHERE Type = 1").ToListAsync(); ViewData["SubnetExtranetCount"] = extranetSubnets.Count(); List <Subnet> internetSubnets = await _context.Subnets.FromSql("SELECT * FROM dbo.Subnets WHERE Type = 0").ToListAsync(); ViewData["SubnetInternetCount"] = internetSubnets.Count(); List <Route> problemRoutes = await _context.Routes.FromSql("SELECT * FROM dbo.Routes WHERE Status = 1").ToListAsync(); if (problemRoutes.Count() == 0) { ViewData["RouteHealth"] = "OK"; } else { ViewData["RouteHealth"] = "NOT OK"; } } return(View()); }