1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/lookoutmetrics/LookoutMetrics_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/lookoutmetrics/model/ItemizedMetricStats.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace LookoutMetrics
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Aggregated statistics for a group of anomalous metrics.</p><p><h3>See
30    * Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/AnomalyGroupStatistics">AWS
32    * API Reference</a></p>
33    */
34   class AWS_LOOKOUTMETRICS_API AnomalyGroupStatistics
35   {
36   public:
37     AnomalyGroupStatistics();
38     AnomalyGroupStatistics(Aws::Utils::Json::JsonView jsonValue);
39     AnomalyGroupStatistics& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The start of the time range that was searched.</p>
45      */
GetEvaluationStartDate()46     inline const Aws::String& GetEvaluationStartDate() const{ return m_evaluationStartDate; }
47 
48     /**
49      * <p>The start of the time range that was searched.</p>
50      */
EvaluationStartDateHasBeenSet()51     inline bool EvaluationStartDateHasBeenSet() const { return m_evaluationStartDateHasBeenSet; }
52 
53     /**
54      * <p>The start of the time range that was searched.</p>
55      */
SetEvaluationStartDate(const Aws::String & value)56     inline void SetEvaluationStartDate(const Aws::String& value) { m_evaluationStartDateHasBeenSet = true; m_evaluationStartDate = value; }
57 
58     /**
59      * <p>The start of the time range that was searched.</p>
60      */
SetEvaluationStartDate(Aws::String && value)61     inline void SetEvaluationStartDate(Aws::String&& value) { m_evaluationStartDateHasBeenSet = true; m_evaluationStartDate = std::move(value); }
62 
63     /**
64      * <p>The start of the time range that was searched.</p>
65      */
SetEvaluationStartDate(const char * value)66     inline void SetEvaluationStartDate(const char* value) { m_evaluationStartDateHasBeenSet = true; m_evaluationStartDate.assign(value); }
67 
68     /**
69      * <p>The start of the time range that was searched.</p>
70      */
WithEvaluationStartDate(const Aws::String & value)71     inline AnomalyGroupStatistics& WithEvaluationStartDate(const Aws::String& value) { SetEvaluationStartDate(value); return *this;}
72 
73     /**
74      * <p>The start of the time range that was searched.</p>
75      */
WithEvaluationStartDate(Aws::String && value)76     inline AnomalyGroupStatistics& WithEvaluationStartDate(Aws::String&& value) { SetEvaluationStartDate(std::move(value)); return *this;}
77 
78     /**
79      * <p>The start of the time range that was searched.</p>
80      */
WithEvaluationStartDate(const char * value)81     inline AnomalyGroupStatistics& WithEvaluationStartDate(const char* value) { SetEvaluationStartDate(value); return *this;}
82 
83 
84     /**
85      * <p>The number of groups found.</p>
86      */
GetTotalCount()87     inline int GetTotalCount() const{ return m_totalCount; }
88 
89     /**
90      * <p>The number of groups found.</p>
91      */
TotalCountHasBeenSet()92     inline bool TotalCountHasBeenSet() const { return m_totalCountHasBeenSet; }
93 
94     /**
95      * <p>The number of groups found.</p>
96      */
SetTotalCount(int value)97     inline void SetTotalCount(int value) { m_totalCountHasBeenSet = true; m_totalCount = value; }
98 
99     /**
100      * <p>The number of groups found.</p>
101      */
WithTotalCount(int value)102     inline AnomalyGroupStatistics& WithTotalCount(int value) { SetTotalCount(value); return *this;}
103 
104 
105     /**
106      * <p>Statistics for individual metrics within the group.</p>
107      */
GetItemizedMetricStatsList()108     inline const Aws::Vector<ItemizedMetricStats>& GetItemizedMetricStatsList() const{ return m_itemizedMetricStatsList; }
109 
110     /**
111      * <p>Statistics for individual metrics within the group.</p>
112      */
ItemizedMetricStatsListHasBeenSet()113     inline bool ItemizedMetricStatsListHasBeenSet() const { return m_itemizedMetricStatsListHasBeenSet; }
114 
115     /**
116      * <p>Statistics for individual metrics within the group.</p>
117      */
SetItemizedMetricStatsList(const Aws::Vector<ItemizedMetricStats> & value)118     inline void SetItemizedMetricStatsList(const Aws::Vector<ItemizedMetricStats>& value) { m_itemizedMetricStatsListHasBeenSet = true; m_itemizedMetricStatsList = value; }
119 
120     /**
121      * <p>Statistics for individual metrics within the group.</p>
122      */
SetItemizedMetricStatsList(Aws::Vector<ItemizedMetricStats> && value)123     inline void SetItemizedMetricStatsList(Aws::Vector<ItemizedMetricStats>&& value) { m_itemizedMetricStatsListHasBeenSet = true; m_itemizedMetricStatsList = std::move(value); }
124 
125     /**
126      * <p>Statistics for individual metrics within the group.</p>
127      */
WithItemizedMetricStatsList(const Aws::Vector<ItemizedMetricStats> & value)128     inline AnomalyGroupStatistics& WithItemizedMetricStatsList(const Aws::Vector<ItemizedMetricStats>& value) { SetItemizedMetricStatsList(value); return *this;}
129 
130     /**
131      * <p>Statistics for individual metrics within the group.</p>
132      */
WithItemizedMetricStatsList(Aws::Vector<ItemizedMetricStats> && value)133     inline AnomalyGroupStatistics& WithItemizedMetricStatsList(Aws::Vector<ItemizedMetricStats>&& value) { SetItemizedMetricStatsList(std::move(value)); return *this;}
134 
135     /**
136      * <p>Statistics for individual metrics within the group.</p>
137      */
AddItemizedMetricStatsList(const ItemizedMetricStats & value)138     inline AnomalyGroupStatistics& AddItemizedMetricStatsList(const ItemizedMetricStats& value) { m_itemizedMetricStatsListHasBeenSet = true; m_itemizedMetricStatsList.push_back(value); return *this; }
139 
140     /**
141      * <p>Statistics for individual metrics within the group.</p>
142      */
AddItemizedMetricStatsList(ItemizedMetricStats && value)143     inline AnomalyGroupStatistics& AddItemizedMetricStatsList(ItemizedMetricStats&& value) { m_itemizedMetricStatsListHasBeenSet = true; m_itemizedMetricStatsList.push_back(std::move(value)); return *this; }
144 
145   private:
146 
147     Aws::String m_evaluationStartDate;
148     bool m_evaluationStartDateHasBeenSet;
149 
150     int m_totalCount;
151     bool m_totalCountHasBeenSet;
152 
153     Aws::Vector<ItemizedMetricStats> m_itemizedMetricStatsList;
154     bool m_itemizedMetricStatsListHasBeenSet;
155   };
156 
157 } // namespace Model
158 } // namespace LookoutMetrics
159 } // namespace Aws
160