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/devops-guru/DevOpsGuru_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/devops-guru/model/InsightSeverity.h>
10 #include <aws/devops-guru/model/InsightStatus.h>
11 #include <aws/devops-guru/model/InsightTimeRange.h>
12 #include <aws/devops-guru/model/PredictionTimeRange.h>
13 #include <aws/devops-guru/model/ResourceCollection.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23   class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace DevOpsGuru
27 {
28 namespace Model
29 {
30 
31   /**
32    * <p>Details about a proactive insight. This object is returned by
33    * <code>ListInsights</code>.</p><p><h3>See Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ProactiveInsight">AWS
35    * API Reference</a></p>
36    */
37   class AWS_DEVOPSGURU_API ProactiveInsight
38   {
39   public:
40     ProactiveInsight();
41     ProactiveInsight(Aws::Utils::Json::JsonView jsonValue);
42     ProactiveInsight& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * <p>The ID of the proactive insight. </p>
48      */
GetId()49     inline const Aws::String& GetId() const{ return m_id; }
50 
51     /**
52      * <p>The ID of the proactive insight. </p>
53      */
IdHasBeenSet()54     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
55 
56     /**
57      * <p>The ID of the proactive insight. </p>
58      */
SetId(const Aws::String & value)59     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
60 
61     /**
62      * <p>The ID of the proactive insight. </p>
63      */
SetId(Aws::String && value)64     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
65 
66     /**
67      * <p>The ID of the proactive insight. </p>
68      */
SetId(const char * value)69     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
70 
71     /**
72      * <p>The ID of the proactive insight. </p>
73      */
WithId(const Aws::String & value)74     inline ProactiveInsight& WithId(const Aws::String& value) { SetId(value); return *this;}
75 
76     /**
77      * <p>The ID of the proactive insight. </p>
78      */
WithId(Aws::String && value)79     inline ProactiveInsight& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
80 
81     /**
82      * <p>The ID of the proactive insight. </p>
83      */
WithId(const char * value)84     inline ProactiveInsight& WithId(const char* value) { SetId(value); return *this;}
85 
86 
87     /**
88      * <p>The name of the proactive insight. </p>
89      */
GetName()90     inline const Aws::String& GetName() const{ return m_name; }
91 
92     /**
93      * <p>The name of the proactive insight. </p>
94      */
NameHasBeenSet()95     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
96 
97     /**
98      * <p>The name of the proactive insight. </p>
99      */
SetName(const Aws::String & value)100     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
101 
102     /**
103      * <p>The name of the proactive insight. </p>
104      */
SetName(Aws::String && value)105     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
106 
107     /**
108      * <p>The name of the proactive insight. </p>
109      */
SetName(const char * value)110     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
111 
112     /**
113      * <p>The name of the proactive insight. </p>
114      */
WithName(const Aws::String & value)115     inline ProactiveInsight& WithName(const Aws::String& value) { SetName(value); return *this;}
116 
117     /**
118      * <p>The name of the proactive insight. </p>
119      */
WithName(Aws::String && value)120     inline ProactiveInsight& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
121 
122     /**
123      * <p>The name of the proactive insight. </p>
124      */
WithName(const char * value)125     inline ProactiveInsight& WithName(const char* value) { SetName(value); return *this;}
126 
127 
128     /**
129      * <p>The severity of the proactive insight. </p>
130      */
GetSeverity()131     inline const InsightSeverity& GetSeverity() const{ return m_severity; }
132 
133     /**
134      * <p>The severity of the proactive insight. </p>
135      */
SeverityHasBeenSet()136     inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
137 
138     /**
139      * <p>The severity of the proactive insight. </p>
140      */
SetSeverity(const InsightSeverity & value)141     inline void SetSeverity(const InsightSeverity& value) { m_severityHasBeenSet = true; m_severity = value; }
142 
143     /**
144      * <p>The severity of the proactive insight. </p>
145      */
SetSeverity(InsightSeverity && value)146     inline void SetSeverity(InsightSeverity&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); }
147 
148     /**
149      * <p>The severity of the proactive insight. </p>
150      */
WithSeverity(const InsightSeverity & value)151     inline ProactiveInsight& WithSeverity(const InsightSeverity& value) { SetSeverity(value); return *this;}
152 
153     /**
154      * <p>The severity of the proactive insight. </p>
155      */
WithSeverity(InsightSeverity && value)156     inline ProactiveInsight& WithSeverity(InsightSeverity&& value) { SetSeverity(std::move(value)); return *this;}
157 
158 
159     /**
160      * <p>The status of the proactive insight. </p>
161      */
GetStatus()162     inline const InsightStatus& GetStatus() const{ return m_status; }
163 
164     /**
165      * <p>The status of the proactive insight. </p>
166      */
StatusHasBeenSet()167     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
168 
169     /**
170      * <p>The status of the proactive insight. </p>
171      */
SetStatus(const InsightStatus & value)172     inline void SetStatus(const InsightStatus& value) { m_statusHasBeenSet = true; m_status = value; }
173 
174     /**
175      * <p>The status of the proactive insight. </p>
176      */
SetStatus(InsightStatus && value)177     inline void SetStatus(InsightStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
178 
179     /**
180      * <p>The status of the proactive insight. </p>
181      */
WithStatus(const InsightStatus & value)182     inline ProactiveInsight& WithStatus(const InsightStatus& value) { SetStatus(value); return *this;}
183 
184     /**
185      * <p>The status of the proactive insight. </p>
186      */
WithStatus(InsightStatus && value)187     inline ProactiveInsight& WithStatus(InsightStatus&& value) { SetStatus(std::move(value)); return *this;}
188 
189 
190 
GetInsightTimeRange()191     inline const InsightTimeRange& GetInsightTimeRange() const{ return m_insightTimeRange; }
192 
193 
InsightTimeRangeHasBeenSet()194     inline bool InsightTimeRangeHasBeenSet() const { return m_insightTimeRangeHasBeenSet; }
195 
196 
SetInsightTimeRange(const InsightTimeRange & value)197     inline void SetInsightTimeRange(const InsightTimeRange& value) { m_insightTimeRangeHasBeenSet = true; m_insightTimeRange = value; }
198 
199 
SetInsightTimeRange(InsightTimeRange && value)200     inline void SetInsightTimeRange(InsightTimeRange&& value) { m_insightTimeRangeHasBeenSet = true; m_insightTimeRange = std::move(value); }
201 
202 
WithInsightTimeRange(const InsightTimeRange & value)203     inline ProactiveInsight& WithInsightTimeRange(const InsightTimeRange& value) { SetInsightTimeRange(value); return *this;}
204 
205 
WithInsightTimeRange(InsightTimeRange && value)206     inline ProactiveInsight& WithInsightTimeRange(InsightTimeRange&& value) { SetInsightTimeRange(std::move(value)); return *this;}
207 
208 
209 
GetPredictionTimeRange()210     inline const PredictionTimeRange& GetPredictionTimeRange() const{ return m_predictionTimeRange; }
211 
212 
PredictionTimeRangeHasBeenSet()213     inline bool PredictionTimeRangeHasBeenSet() const { return m_predictionTimeRangeHasBeenSet; }
214 
215 
SetPredictionTimeRange(const PredictionTimeRange & value)216     inline void SetPredictionTimeRange(const PredictionTimeRange& value) { m_predictionTimeRangeHasBeenSet = true; m_predictionTimeRange = value; }
217 
218 
SetPredictionTimeRange(PredictionTimeRange && value)219     inline void SetPredictionTimeRange(PredictionTimeRange&& value) { m_predictionTimeRangeHasBeenSet = true; m_predictionTimeRange = std::move(value); }
220 
221 
WithPredictionTimeRange(const PredictionTimeRange & value)222     inline ProactiveInsight& WithPredictionTimeRange(const PredictionTimeRange& value) { SetPredictionTimeRange(value); return *this;}
223 
224 
WithPredictionTimeRange(PredictionTimeRange && value)225     inline ProactiveInsight& WithPredictionTimeRange(PredictionTimeRange&& value) { SetPredictionTimeRange(std::move(value)); return *this;}
226 
227 
228 
GetResourceCollection()229     inline const ResourceCollection& GetResourceCollection() const{ return m_resourceCollection; }
230 
231 
ResourceCollectionHasBeenSet()232     inline bool ResourceCollectionHasBeenSet() const { return m_resourceCollectionHasBeenSet; }
233 
234 
SetResourceCollection(const ResourceCollection & value)235     inline void SetResourceCollection(const ResourceCollection& value) { m_resourceCollectionHasBeenSet = true; m_resourceCollection = value; }
236 
237 
SetResourceCollection(ResourceCollection && value)238     inline void SetResourceCollection(ResourceCollection&& value) { m_resourceCollectionHasBeenSet = true; m_resourceCollection = std::move(value); }
239 
240 
WithResourceCollection(const ResourceCollection & value)241     inline ProactiveInsight& WithResourceCollection(const ResourceCollection& value) { SetResourceCollection(value); return *this;}
242 
243 
WithResourceCollection(ResourceCollection && value)244     inline ProactiveInsight& WithResourceCollection(ResourceCollection&& value) { SetResourceCollection(std::move(value)); return *this;}
245 
246 
247     /**
248      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
249      * enable the creation of OpstItems insights before they are created for each
250      * insight. </p>
251      */
GetSsmOpsItemId()252     inline const Aws::String& GetSsmOpsItemId() const{ return m_ssmOpsItemId; }
253 
254     /**
255      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
256      * enable the creation of OpstItems insights before they are created for each
257      * insight. </p>
258      */
SsmOpsItemIdHasBeenSet()259     inline bool SsmOpsItemIdHasBeenSet() const { return m_ssmOpsItemIdHasBeenSet; }
260 
261     /**
262      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
263      * enable the creation of OpstItems insights before they are created for each
264      * insight. </p>
265      */
SetSsmOpsItemId(const Aws::String & value)266     inline void SetSsmOpsItemId(const Aws::String& value) { m_ssmOpsItemIdHasBeenSet = true; m_ssmOpsItemId = value; }
267 
268     /**
269      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
270      * enable the creation of OpstItems insights before they are created for each
271      * insight. </p>
272      */
SetSsmOpsItemId(Aws::String && value)273     inline void SetSsmOpsItemId(Aws::String&& value) { m_ssmOpsItemIdHasBeenSet = true; m_ssmOpsItemId = std::move(value); }
274 
275     /**
276      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
277      * enable the creation of OpstItems insights before they are created for each
278      * insight. </p>
279      */
SetSsmOpsItemId(const char * value)280     inline void SetSsmOpsItemId(const char* value) { m_ssmOpsItemIdHasBeenSet = true; m_ssmOpsItemId.assign(value); }
281 
282     /**
283      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
284      * enable the creation of OpstItems insights before they are created for each
285      * insight. </p>
286      */
WithSsmOpsItemId(const Aws::String & value)287     inline ProactiveInsight& WithSsmOpsItemId(const Aws::String& value) { SetSsmOpsItemId(value); return *this;}
288 
289     /**
290      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
291      * enable the creation of OpstItems insights before they are created for each
292      * insight. </p>
293      */
WithSsmOpsItemId(Aws::String && value)294     inline ProactiveInsight& WithSsmOpsItemId(Aws::String&& value) { SetSsmOpsItemId(std::move(value)); return *this;}
295 
296     /**
297      * <p> The ID of the AWS System Manager OpsItem created for this insight. You must
298      * enable the creation of OpstItems insights before they are created for each
299      * insight. </p>
300      */
WithSsmOpsItemId(const char * value)301     inline ProactiveInsight& WithSsmOpsItemId(const char* value) { SetSsmOpsItemId(value); return *this;}
302 
303   private:
304 
305     Aws::String m_id;
306     bool m_idHasBeenSet;
307 
308     Aws::String m_name;
309     bool m_nameHasBeenSet;
310 
311     InsightSeverity m_severity;
312     bool m_severityHasBeenSet;
313 
314     InsightStatus m_status;
315     bool m_statusHasBeenSet;
316 
317     InsightTimeRange m_insightTimeRange;
318     bool m_insightTimeRangeHasBeenSet;
319 
320     PredictionTimeRange m_predictionTimeRange;
321     bool m_predictionTimeRangeHasBeenSet;
322 
323     ResourceCollection m_resourceCollection;
324     bool m_resourceCollectionHasBeenSet;
325 
326     Aws::String m_ssmOpsItemId;
327     bool m_ssmOpsItemIdHasBeenSet;
328   };
329 
330 } // namespace Model
331 } // namespace DevOpsGuru
332 } // namespace Aws
333