/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the xray-2016-04-12.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.XRay.Model
{
///
/// When fault rates go outside of the expected range, X-Ray creates an insight. Insights
/// tracks emergent issues within your applications.
///
public partial class Insight
{
private List _categories = new List();
private RequestImpactStatistics _clientRequestImpactStatistics;
private DateTime? _endTime;
private string _groupARN;
private string _groupName;
private string _insightId;
private ServiceId _rootCauseServiceId;
private RequestImpactStatistics _rootCauseServiceRequestImpactStatistics;
private DateTime? _startTime;
private InsightState _state;
private string _summary;
private List _topAnomalousServices = new List();
///
/// Gets and sets the property Categories.
///
/// The categories that label and describe the type of insight.
///
///
public List Categories
{
get { return this._categories; }
set { this._categories = value; }
}
// Check to see if Categories property is set
internal bool IsSetCategories()
{
return this._categories != null && this._categories.Count > 0;
}
///
/// Gets and sets the property ClientRequestImpactStatistics.
///
/// The impact statistics of the client side service. This includes the number of requests
/// to the client service and whether the requests were faults or okay.
///
///
public RequestImpactStatistics ClientRequestImpactStatistics
{
get { return this._clientRequestImpactStatistics; }
set { this._clientRequestImpactStatistics = value; }
}
// Check to see if ClientRequestImpactStatistics property is set
internal bool IsSetClientRequestImpactStatistics()
{
return this._clientRequestImpactStatistics != null;
}
///
/// Gets and sets the property EndTime.
///
/// The time, in Unix seconds, at which the insight ended.
///
///
public DateTime EndTime
{
get { return this._endTime.GetValueOrDefault(); }
set { this._endTime = value; }
}
// Check to see if EndTime property is set
internal bool IsSetEndTime()
{
return this._endTime.HasValue;
}
///
/// Gets and sets the property GroupARN.
///
/// The Amazon Resource Name (ARN) of the group that the insight belongs to.
///
///
[AWSProperty(Min=1, Max=400)]
public string GroupARN
{
get { return this._groupARN; }
set { this._groupARN = value; }
}
// Check to see if GroupARN property is set
internal bool IsSetGroupARN()
{
return this._groupARN != null;
}
///
/// Gets and sets the property GroupName.
///
/// The name of the group that the insight belongs to.
///
///
[AWSProperty(Min=1, Max=32)]
public string GroupName
{
get { return this._groupName; }
set { this._groupName = value; }
}
// Check to see if GroupName property is set
internal bool IsSetGroupName()
{
return this._groupName != null;
}
///
/// Gets and sets the property InsightId.
///
/// The insights unique identifier.
///
///
public string InsightId
{
get { return this._insightId; }
set { this._insightId = value; }
}
// Check to see if InsightId property is set
internal bool IsSetInsightId()
{
return this._insightId != null;
}
///
/// Gets and sets the property RootCauseServiceId.
///
public ServiceId RootCauseServiceId
{
get { return this._rootCauseServiceId; }
set { this._rootCauseServiceId = value; }
}
// Check to see if RootCauseServiceId property is set
internal bool IsSetRootCauseServiceId()
{
return this._rootCauseServiceId != null;
}
///
/// Gets and sets the property RootCauseServiceRequestImpactStatistics.
///
/// The impact statistics of the root cause service. This includes the number of requests
/// to the client service and whether the requests were faults or okay.
///
///
public RequestImpactStatistics RootCauseServiceRequestImpactStatistics
{
get { return this._rootCauseServiceRequestImpactStatistics; }
set { this._rootCauseServiceRequestImpactStatistics = value; }
}
// Check to see if RootCauseServiceRequestImpactStatistics property is set
internal bool IsSetRootCauseServiceRequestImpactStatistics()
{
return this._rootCauseServiceRequestImpactStatistics != null;
}
///
/// Gets and sets the property StartTime.
///
/// The time, in Unix seconds, at which the insight began.
///
///
public DateTime StartTime
{
get { return this._startTime.GetValueOrDefault(); }
set { this._startTime = value; }
}
// Check to see if StartTime property is set
internal bool IsSetStartTime()
{
return this._startTime.HasValue;
}
///
/// Gets and sets the property State.
///
/// The current state of the insight.
///
///
public InsightState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property Summary.
///
/// A brief description of the insight.
///
///
public string Summary
{
get { return this._summary; }
set { this._summary = value; }
}
// Check to see if Summary property is set
internal bool IsSetSummary()
{
return this._summary != null;
}
///
/// Gets and sets the property TopAnomalousServices.
///
/// The service within the insight that is most impacted by the incident.
///
///
public List TopAnomalousServices
{
get { return this._topAnomalousServices; }
set { this._topAnomalousServices = value; }
}
// Check to see if TopAnomalousServices property is set
internal bool IsSetTopAnomalousServices()
{
return this._topAnomalousServices != null && this._topAnomalousServices.Count > 0;
}
}
}