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 <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace LookoutMetrics
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Details about a group of anomalous metrics.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/AnomalyGroupSummary">AWS
29    * API Reference</a></p>
30    */
31   class AWS_LOOKOUTMETRICS_API AnomalyGroupSummary
32   {
33   public:
34     AnomalyGroupSummary();
35     AnomalyGroupSummary(Aws::Utils::Json::JsonView jsonValue);
36     AnomalyGroupSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The start time for the group.</p>
42      */
GetStartTime()43     inline const Aws::String& GetStartTime() const{ return m_startTime; }
44 
45     /**
46      * <p>The start time for the group.</p>
47      */
StartTimeHasBeenSet()48     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
49 
50     /**
51      * <p>The start time for the group.</p>
52      */
SetStartTime(const Aws::String & value)53     inline void SetStartTime(const Aws::String& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
54 
55     /**
56      * <p>The start time for the group.</p>
57      */
SetStartTime(Aws::String && value)58     inline void SetStartTime(Aws::String&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
59 
60     /**
61      * <p>The start time for the group.</p>
62      */
SetStartTime(const char * value)63     inline void SetStartTime(const char* value) { m_startTimeHasBeenSet = true; m_startTime.assign(value); }
64 
65     /**
66      * <p>The start time for the group.</p>
67      */
WithStartTime(const Aws::String & value)68     inline AnomalyGroupSummary& WithStartTime(const Aws::String& value) { SetStartTime(value); return *this;}
69 
70     /**
71      * <p>The start time for the group.</p>
72      */
WithStartTime(Aws::String && value)73     inline AnomalyGroupSummary& WithStartTime(Aws::String&& value) { SetStartTime(std::move(value)); return *this;}
74 
75     /**
76      * <p>The start time for the group.</p>
77      */
WithStartTime(const char * value)78     inline AnomalyGroupSummary& WithStartTime(const char* value) { SetStartTime(value); return *this;}
79 
80 
81     /**
82      * <p>The end time for the group.</p>
83      */
GetEndTime()84     inline const Aws::String& GetEndTime() const{ return m_endTime; }
85 
86     /**
87      * <p>The end time for the group.</p>
88      */
EndTimeHasBeenSet()89     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
90 
91     /**
92      * <p>The end time for the group.</p>
93      */
SetEndTime(const Aws::String & value)94     inline void SetEndTime(const Aws::String& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
95 
96     /**
97      * <p>The end time for the group.</p>
98      */
SetEndTime(Aws::String && value)99     inline void SetEndTime(Aws::String&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
100 
101     /**
102      * <p>The end time for the group.</p>
103      */
SetEndTime(const char * value)104     inline void SetEndTime(const char* value) { m_endTimeHasBeenSet = true; m_endTime.assign(value); }
105 
106     /**
107      * <p>The end time for the group.</p>
108      */
WithEndTime(const Aws::String & value)109     inline AnomalyGroupSummary& WithEndTime(const Aws::String& value) { SetEndTime(value); return *this;}
110 
111     /**
112      * <p>The end time for the group.</p>
113      */
WithEndTime(Aws::String && value)114     inline AnomalyGroupSummary& WithEndTime(Aws::String&& value) { SetEndTime(std::move(value)); return *this;}
115 
116     /**
117      * <p>The end time for the group.</p>
118      */
WithEndTime(const char * value)119     inline AnomalyGroupSummary& WithEndTime(const char* value) { SetEndTime(value); return *this;}
120 
121 
122     /**
123      * <p>The ID of the anomaly group.</p>
124      */
GetAnomalyGroupId()125     inline const Aws::String& GetAnomalyGroupId() const{ return m_anomalyGroupId; }
126 
127     /**
128      * <p>The ID of the anomaly group.</p>
129      */
AnomalyGroupIdHasBeenSet()130     inline bool AnomalyGroupIdHasBeenSet() const { return m_anomalyGroupIdHasBeenSet; }
131 
132     /**
133      * <p>The ID of the anomaly group.</p>
134      */
SetAnomalyGroupId(const Aws::String & value)135     inline void SetAnomalyGroupId(const Aws::String& value) { m_anomalyGroupIdHasBeenSet = true; m_anomalyGroupId = value; }
136 
137     /**
138      * <p>The ID of the anomaly group.</p>
139      */
SetAnomalyGroupId(Aws::String && value)140     inline void SetAnomalyGroupId(Aws::String&& value) { m_anomalyGroupIdHasBeenSet = true; m_anomalyGroupId = std::move(value); }
141 
142     /**
143      * <p>The ID of the anomaly group.</p>
144      */
SetAnomalyGroupId(const char * value)145     inline void SetAnomalyGroupId(const char* value) { m_anomalyGroupIdHasBeenSet = true; m_anomalyGroupId.assign(value); }
146 
147     /**
148      * <p>The ID of the anomaly group.</p>
149      */
WithAnomalyGroupId(const Aws::String & value)150     inline AnomalyGroupSummary& WithAnomalyGroupId(const Aws::String& value) { SetAnomalyGroupId(value); return *this;}
151 
152     /**
153      * <p>The ID of the anomaly group.</p>
154      */
WithAnomalyGroupId(Aws::String && value)155     inline AnomalyGroupSummary& WithAnomalyGroupId(Aws::String&& value) { SetAnomalyGroupId(std::move(value)); return *this;}
156 
157     /**
158      * <p>The ID of the anomaly group.</p>
159      */
WithAnomalyGroupId(const char * value)160     inline AnomalyGroupSummary& WithAnomalyGroupId(const char* value) { SetAnomalyGroupId(value); return *this;}
161 
162 
163     /**
164      * <p>The severity score of the group.</p>
165      */
GetAnomalyGroupScore()166     inline double GetAnomalyGroupScore() const{ return m_anomalyGroupScore; }
167 
168     /**
169      * <p>The severity score of the group.</p>
170      */
AnomalyGroupScoreHasBeenSet()171     inline bool AnomalyGroupScoreHasBeenSet() const { return m_anomalyGroupScoreHasBeenSet; }
172 
173     /**
174      * <p>The severity score of the group.</p>
175      */
SetAnomalyGroupScore(double value)176     inline void SetAnomalyGroupScore(double value) { m_anomalyGroupScoreHasBeenSet = true; m_anomalyGroupScore = value; }
177 
178     /**
179      * <p>The severity score of the group.</p>
180      */
WithAnomalyGroupScore(double value)181     inline AnomalyGroupSummary& WithAnomalyGroupScore(double value) { SetAnomalyGroupScore(value); return *this;}
182 
183 
184     /**
185      * <p>The name of the primary affected measure for the group.</p>
186      */
GetPrimaryMetricName()187     inline const Aws::String& GetPrimaryMetricName() const{ return m_primaryMetricName; }
188 
189     /**
190      * <p>The name of the primary affected measure for the group.</p>
191      */
PrimaryMetricNameHasBeenSet()192     inline bool PrimaryMetricNameHasBeenSet() const { return m_primaryMetricNameHasBeenSet; }
193 
194     /**
195      * <p>The name of the primary affected measure for the group.</p>
196      */
SetPrimaryMetricName(const Aws::String & value)197     inline void SetPrimaryMetricName(const Aws::String& value) { m_primaryMetricNameHasBeenSet = true; m_primaryMetricName = value; }
198 
199     /**
200      * <p>The name of the primary affected measure for the group.</p>
201      */
SetPrimaryMetricName(Aws::String && value)202     inline void SetPrimaryMetricName(Aws::String&& value) { m_primaryMetricNameHasBeenSet = true; m_primaryMetricName = std::move(value); }
203 
204     /**
205      * <p>The name of the primary affected measure for the group.</p>
206      */
SetPrimaryMetricName(const char * value)207     inline void SetPrimaryMetricName(const char* value) { m_primaryMetricNameHasBeenSet = true; m_primaryMetricName.assign(value); }
208 
209     /**
210      * <p>The name of the primary affected measure for the group.</p>
211      */
WithPrimaryMetricName(const Aws::String & value)212     inline AnomalyGroupSummary& WithPrimaryMetricName(const Aws::String& value) { SetPrimaryMetricName(value); return *this;}
213 
214     /**
215      * <p>The name of the primary affected measure for the group.</p>
216      */
WithPrimaryMetricName(Aws::String && value)217     inline AnomalyGroupSummary& WithPrimaryMetricName(Aws::String&& value) { SetPrimaryMetricName(std::move(value)); return *this;}
218 
219     /**
220      * <p>The name of the primary affected measure for the group.</p>
221      */
WithPrimaryMetricName(const char * value)222     inline AnomalyGroupSummary& WithPrimaryMetricName(const char* value) { SetPrimaryMetricName(value); return *this;}
223 
224   private:
225 
226     Aws::String m_startTime;
227     bool m_startTimeHasBeenSet;
228 
229     Aws::String m_endTime;
230     bool m_endTimeHasBeenSet;
231 
232     Aws::String m_anomalyGroupId;
233     bool m_anomalyGroupIdHasBeenSet;
234 
235     double m_anomalyGroupScore;
236     bool m_anomalyGroupScoreHasBeenSet;
237 
238     Aws::String m_primaryMetricName;
239     bool m_primaryMetricNameHasBeenSet;
240   };
241 
242 } // namespace Model
243 } // namespace LookoutMetrics
244 } // namespace Aws
245