/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace XRay { namespace Model { /** *

Information that describes an insight.

See Also:

AWS * API Reference

*/ class InsightSummary { public: AWS_XRAY_API InsightSummary(); AWS_XRAY_API InsightSummary(Aws::Utils::Json::JsonView jsonValue); AWS_XRAY_API InsightSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_XRAY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The insights unique identifier.

*/ inline const Aws::String& GetInsightId() const{ return m_insightId; } /** *

The insights unique identifier.

*/ inline bool InsightIdHasBeenSet() const { return m_insightIdHasBeenSet; } /** *

The insights unique identifier.

*/ inline void SetInsightId(const Aws::String& value) { m_insightIdHasBeenSet = true; m_insightId = value; } /** *

The insights unique identifier.

*/ inline void SetInsightId(Aws::String&& value) { m_insightIdHasBeenSet = true; m_insightId = std::move(value); } /** *

The insights unique identifier.

*/ inline void SetInsightId(const char* value) { m_insightIdHasBeenSet = true; m_insightId.assign(value); } /** *

The insights unique identifier.

*/ inline InsightSummary& WithInsightId(const Aws::String& value) { SetInsightId(value); return *this;} /** *

The insights unique identifier.

*/ inline InsightSummary& WithInsightId(Aws::String&& value) { SetInsightId(std::move(value)); return *this;} /** *

The insights unique identifier.

*/ inline InsightSummary& WithInsightId(const char* value) { SetInsightId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline const Aws::String& GetGroupARN() const{ return m_groupARN; } /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline bool GroupARNHasBeenSet() const { return m_groupARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline void SetGroupARN(const Aws::String& value) { m_groupARNHasBeenSet = true; m_groupARN = value; } /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline void SetGroupARN(Aws::String&& value) { m_groupARNHasBeenSet = true; m_groupARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline void SetGroupARN(const char* value) { m_groupARNHasBeenSet = true; m_groupARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline InsightSummary& WithGroupARN(const Aws::String& value) { SetGroupARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline InsightSummary& WithGroupARN(Aws::String&& value) { SetGroupARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the group that the insight belongs to.

*/ inline InsightSummary& WithGroupARN(const char* value) { SetGroupARN(value); return *this;} /** *

The name of the group that the insight belongs to.

*/ inline const Aws::String& GetGroupName() const{ return m_groupName; } /** *

The name of the group that the insight belongs to.

*/ inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } /** *

The name of the group that the insight belongs to.

*/ inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; } /** *

The name of the group that the insight belongs to.

*/ inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = std::move(value); } /** *

The name of the group that the insight belongs to.

*/ inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); } /** *

The name of the group that the insight belongs to.

*/ inline InsightSummary& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;} /** *

The name of the group that the insight belongs to.

*/ inline InsightSummary& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;} /** *

The name of the group that the insight belongs to.

*/ inline InsightSummary& WithGroupName(const char* value) { SetGroupName(value); return *this;} inline const ServiceId& GetRootCauseServiceId() const{ return m_rootCauseServiceId; } inline bool RootCauseServiceIdHasBeenSet() const { return m_rootCauseServiceIdHasBeenSet; } inline void SetRootCauseServiceId(const ServiceId& value) { m_rootCauseServiceIdHasBeenSet = true; m_rootCauseServiceId = value; } inline void SetRootCauseServiceId(ServiceId&& value) { m_rootCauseServiceIdHasBeenSet = true; m_rootCauseServiceId = std::move(value); } inline InsightSummary& WithRootCauseServiceId(const ServiceId& value) { SetRootCauseServiceId(value); return *this;} inline InsightSummary& WithRootCauseServiceId(ServiceId&& value) { SetRootCauseServiceId(std::move(value)); return *this;} /** *

Categories The categories that label and describe the type of insight.

*/ inline const Aws::Vector& GetCategories() const{ return m_categories; } /** *

Categories The categories that label and describe the type of insight.

*/ inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } /** *

Categories The categories that label and describe the type of insight.

*/ inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } /** *

Categories The categories that label and describe the type of insight.

*/ inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } /** *

Categories The categories that label and describe the type of insight.

*/ inline InsightSummary& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} /** *

Categories The categories that label and describe the type of insight.

*/ inline InsightSummary& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} /** *

Categories The categories that label and describe the type of insight.

*/ inline InsightSummary& AddCategories(const InsightCategory& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } /** *

Categories The categories that label and describe the type of insight.

*/ inline InsightSummary& AddCategories(InsightCategory&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } /** *

The current state of the insight.

*/ inline const InsightState& GetState() const{ return m_state; } /** *

The current state of the insight.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the insight.

*/ inline void SetState(const InsightState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the insight.

*/ inline void SetState(InsightState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the insight.

*/ inline InsightSummary& WithState(const InsightState& value) { SetState(value); return *this;} /** *

The current state of the insight.

*/ inline InsightSummary& WithState(InsightState&& value) { SetState(std::move(value)); return *this;} /** *

The time, in Unix seconds, at which the insight began.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The time, in Unix seconds, at which the insight began.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The time, in Unix seconds, at which the insight began.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

The time, in Unix seconds, at which the insight began.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

The time, in Unix seconds, at which the insight began.

*/ inline InsightSummary& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The time, in Unix seconds, at which the insight began.

*/ inline InsightSummary& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

The time, in Unix seconds, at which the insight ended.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The time, in Unix seconds, at which the insight ended.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The time, in Unix seconds, at which the insight ended.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

The time, in Unix seconds, at which the insight ended.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

The time, in Unix seconds, at which the insight ended.

*/ inline InsightSummary& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The time, in Unix seconds, at which the insight ended.

*/ inline InsightSummary& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

A brief description of the insight.

*/ inline const Aws::String& GetSummary() const{ return m_summary; } /** *

A brief description of the insight.

*/ inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } /** *

A brief description of the insight.

*/ inline void SetSummary(const Aws::String& value) { m_summaryHasBeenSet = true; m_summary = value; } /** *

A brief description of the insight.

*/ inline void SetSummary(Aws::String&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } /** *

A brief description of the insight.

*/ inline void SetSummary(const char* value) { m_summaryHasBeenSet = true; m_summary.assign(value); } /** *

A brief description of the insight.

*/ inline InsightSummary& WithSummary(const Aws::String& value) { SetSummary(value); return *this;} /** *

A brief description of the insight.

*/ inline InsightSummary& WithSummary(Aws::String&& value) { SetSummary(std::move(value)); return *this;} /** *

A brief description of the insight.

*/ inline InsightSummary& WithSummary(const char* value) { SetSummary(value); return *this;} /** *

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. *

*/ inline const RequestImpactStatistics& GetClientRequestImpactStatistics() const{ return m_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. *

*/ inline bool ClientRequestImpactStatisticsHasBeenSet() const { return m_clientRequestImpactStatisticsHasBeenSet; } /** *

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. *

*/ inline void SetClientRequestImpactStatistics(const RequestImpactStatistics& value) { m_clientRequestImpactStatisticsHasBeenSet = true; m_clientRequestImpactStatistics = value; } /** *

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. *

*/ inline void SetClientRequestImpactStatistics(RequestImpactStatistics&& value) { m_clientRequestImpactStatisticsHasBeenSet = true; m_clientRequestImpactStatistics = std::move(value); } /** *

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. *

*/ inline InsightSummary& WithClientRequestImpactStatistics(const RequestImpactStatistics& value) { SetClientRequestImpactStatistics(value); return *this;} /** *

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. *

*/ inline InsightSummary& WithClientRequestImpactStatistics(RequestImpactStatistics&& value) { SetClientRequestImpactStatistics(std::move(value)); return *this;} /** *

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. *

*/ inline const RequestImpactStatistics& GetRootCauseServiceRequestImpactStatistics() const{ return m_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. *

*/ inline bool RootCauseServiceRequestImpactStatisticsHasBeenSet() const { return m_rootCauseServiceRequestImpactStatisticsHasBeenSet; } /** *

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. *

*/ inline void SetRootCauseServiceRequestImpactStatistics(const RequestImpactStatistics& value) { m_rootCauseServiceRequestImpactStatisticsHasBeenSet = true; m_rootCauseServiceRequestImpactStatistics = value; } /** *

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. *

*/ inline void SetRootCauseServiceRequestImpactStatistics(RequestImpactStatistics&& value) { m_rootCauseServiceRequestImpactStatisticsHasBeenSet = true; m_rootCauseServiceRequestImpactStatistics = std::move(value); } /** *

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. *

*/ inline InsightSummary& WithRootCauseServiceRequestImpactStatistics(const RequestImpactStatistics& value) { SetRootCauseServiceRequestImpactStatistics(value); return *this;} /** *

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. *

*/ inline InsightSummary& WithRootCauseServiceRequestImpactStatistics(RequestImpactStatistics&& value) { SetRootCauseServiceRequestImpactStatistics(std::move(value)); return *this;} /** *

The service within the insight that is most impacted by the incident.

*/ inline const Aws::Vector& GetTopAnomalousServices() const{ return m_topAnomalousServices; } /** *

The service within the insight that is most impacted by the incident.

*/ inline bool TopAnomalousServicesHasBeenSet() const { return m_topAnomalousServicesHasBeenSet; } /** *

The service within the insight that is most impacted by the incident.

*/ inline void SetTopAnomalousServices(const Aws::Vector& value) { m_topAnomalousServicesHasBeenSet = true; m_topAnomalousServices = value; } /** *

The service within the insight that is most impacted by the incident.

*/ inline void SetTopAnomalousServices(Aws::Vector&& value) { m_topAnomalousServicesHasBeenSet = true; m_topAnomalousServices = std::move(value); } /** *

The service within the insight that is most impacted by the incident.

*/ inline InsightSummary& WithTopAnomalousServices(const Aws::Vector& value) { SetTopAnomalousServices(value); return *this;} /** *

The service within the insight that is most impacted by the incident.

*/ inline InsightSummary& WithTopAnomalousServices(Aws::Vector&& value) { SetTopAnomalousServices(std::move(value)); return *this;} /** *

The service within the insight that is most impacted by the incident.

*/ inline InsightSummary& AddTopAnomalousServices(const AnomalousService& value) { m_topAnomalousServicesHasBeenSet = true; m_topAnomalousServices.push_back(value); return *this; } /** *

The service within the insight that is most impacted by the incident.

*/ inline InsightSummary& AddTopAnomalousServices(AnomalousService&& value) { m_topAnomalousServicesHasBeenSet = true; m_topAnomalousServices.push_back(std::move(value)); return *this; } /** *

The time, in Unix seconds, that the insight was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdateTime() const{ return m_lastUpdateTime; } /** *

The time, in Unix seconds, that the insight was last updated.

*/ inline bool LastUpdateTimeHasBeenSet() const { return m_lastUpdateTimeHasBeenSet; } /** *

The time, in Unix seconds, that the insight was last updated.

*/ inline void SetLastUpdateTime(const Aws::Utils::DateTime& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = value; } /** *

The time, in Unix seconds, that the insight was last updated.

*/ inline void SetLastUpdateTime(Aws::Utils::DateTime&& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = std::move(value); } /** *

The time, in Unix seconds, that the insight was last updated.

*/ inline InsightSummary& WithLastUpdateTime(const Aws::Utils::DateTime& value) { SetLastUpdateTime(value); return *this;} /** *

The time, in Unix seconds, that the insight was last updated.

*/ inline InsightSummary& WithLastUpdateTime(Aws::Utils::DateTime&& value) { SetLastUpdateTime(std::move(value)); return *this;} private: Aws::String m_insightId; bool m_insightIdHasBeenSet = false; Aws::String m_groupARN; bool m_groupARNHasBeenSet = false; Aws::String m_groupName; bool m_groupNameHasBeenSet = false; ServiceId m_rootCauseServiceId; bool m_rootCauseServiceIdHasBeenSet = false; Aws::Vector m_categories; bool m_categoriesHasBeenSet = false; InsightState m_state; bool m_stateHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::String m_summary; bool m_summaryHasBeenSet = false; RequestImpactStatistics m_clientRequestImpactStatistics; bool m_clientRequestImpactStatisticsHasBeenSet = false; RequestImpactStatistics m_rootCauseServiceRequestImpactStatistics; bool m_rootCauseServiceRequestImpactStatisticsHasBeenSet = false; Aws::Vector m_topAnomalousServices; bool m_topAnomalousServicesHasBeenSet = false; Aws::Utils::DateTime m_lastUpdateTime; bool m_lastUpdateTimeHasBeenSet = false; }; } // namespace Model } // namespace XRay } // namespace Aws