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/DateTime.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/lookoutmetrics/model/TimestampColumn.h>
12 #include <aws/lookoutmetrics/model/Frequency.h>
13 #include <aws/lookoutmetrics/model/MetricSource.h>
14 #include <aws/lookoutmetrics/model/Metric.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 template<typename RESULT_TYPE>
20 class AmazonWebServiceResult;
21 
22 namespace Utils
23 {
24 namespace Json
25 {
26   class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace LookoutMetrics
30 {
31 namespace Model
32 {
33   class AWS_LOOKOUTMETRICS_API DescribeMetricSetResult
34   {
35   public:
36     DescribeMetricSetResult();
37     DescribeMetricSetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38     DescribeMetricSetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39 
40 
41     /**
42      * <p>The ARN of the dataset.</p>
43      */
GetMetricSetArn()44     inline const Aws::String& GetMetricSetArn() const{ return m_metricSetArn; }
45 
46     /**
47      * <p>The ARN of the dataset.</p>
48      */
SetMetricSetArn(const Aws::String & value)49     inline void SetMetricSetArn(const Aws::String& value) { m_metricSetArn = value; }
50 
51     /**
52      * <p>The ARN of the dataset.</p>
53      */
SetMetricSetArn(Aws::String && value)54     inline void SetMetricSetArn(Aws::String&& value) { m_metricSetArn = std::move(value); }
55 
56     /**
57      * <p>The ARN of the dataset.</p>
58      */
SetMetricSetArn(const char * value)59     inline void SetMetricSetArn(const char* value) { m_metricSetArn.assign(value); }
60 
61     /**
62      * <p>The ARN of the dataset.</p>
63      */
WithMetricSetArn(const Aws::String & value)64     inline DescribeMetricSetResult& WithMetricSetArn(const Aws::String& value) { SetMetricSetArn(value); return *this;}
65 
66     /**
67      * <p>The ARN of the dataset.</p>
68      */
WithMetricSetArn(Aws::String && value)69     inline DescribeMetricSetResult& WithMetricSetArn(Aws::String&& value) { SetMetricSetArn(std::move(value)); return *this;}
70 
71     /**
72      * <p>The ARN of the dataset.</p>
73      */
WithMetricSetArn(const char * value)74     inline DescribeMetricSetResult& WithMetricSetArn(const char* value) { SetMetricSetArn(value); return *this;}
75 
76 
77     /**
78      * <p>The ARN of the detector that contains the dataset.</p>
79      */
GetAnomalyDetectorArn()80     inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; }
81 
82     /**
83      * <p>The ARN of the detector that contains the dataset.</p>
84      */
SetAnomalyDetectorArn(const Aws::String & value)85     inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArn = value; }
86 
87     /**
88      * <p>The ARN of the detector that contains the dataset.</p>
89      */
SetAnomalyDetectorArn(Aws::String && value)90     inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArn = std::move(value); }
91 
92     /**
93      * <p>The ARN of the detector that contains the dataset.</p>
94      */
SetAnomalyDetectorArn(const char * value)95     inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArn.assign(value); }
96 
97     /**
98      * <p>The ARN of the detector that contains the dataset.</p>
99      */
WithAnomalyDetectorArn(const Aws::String & value)100     inline DescribeMetricSetResult& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;}
101 
102     /**
103      * <p>The ARN of the detector that contains the dataset.</p>
104      */
WithAnomalyDetectorArn(Aws::String && value)105     inline DescribeMetricSetResult& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;}
106 
107     /**
108      * <p>The ARN of the detector that contains the dataset.</p>
109      */
WithAnomalyDetectorArn(const char * value)110     inline DescribeMetricSetResult& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;}
111 
112 
113     /**
114      * <p>The name of the dataset.</p>
115      */
GetMetricSetName()116     inline const Aws::String& GetMetricSetName() const{ return m_metricSetName; }
117 
118     /**
119      * <p>The name of the dataset.</p>
120      */
SetMetricSetName(const Aws::String & value)121     inline void SetMetricSetName(const Aws::String& value) { m_metricSetName = value; }
122 
123     /**
124      * <p>The name of the dataset.</p>
125      */
SetMetricSetName(Aws::String && value)126     inline void SetMetricSetName(Aws::String&& value) { m_metricSetName = std::move(value); }
127 
128     /**
129      * <p>The name of the dataset.</p>
130      */
SetMetricSetName(const char * value)131     inline void SetMetricSetName(const char* value) { m_metricSetName.assign(value); }
132 
133     /**
134      * <p>The name of the dataset.</p>
135      */
WithMetricSetName(const Aws::String & value)136     inline DescribeMetricSetResult& WithMetricSetName(const Aws::String& value) { SetMetricSetName(value); return *this;}
137 
138     /**
139      * <p>The name of the dataset.</p>
140      */
WithMetricSetName(Aws::String && value)141     inline DescribeMetricSetResult& WithMetricSetName(Aws::String&& value) { SetMetricSetName(std::move(value)); return *this;}
142 
143     /**
144      * <p>The name of the dataset.</p>
145      */
WithMetricSetName(const char * value)146     inline DescribeMetricSetResult& WithMetricSetName(const char* value) { SetMetricSetName(value); return *this;}
147 
148 
149     /**
150      * <p>The dataset's description.</p>
151      */
GetMetricSetDescription()152     inline const Aws::String& GetMetricSetDescription() const{ return m_metricSetDescription; }
153 
154     /**
155      * <p>The dataset's description.</p>
156      */
SetMetricSetDescription(const Aws::String & value)157     inline void SetMetricSetDescription(const Aws::String& value) { m_metricSetDescription = value; }
158 
159     /**
160      * <p>The dataset's description.</p>
161      */
SetMetricSetDescription(Aws::String && value)162     inline void SetMetricSetDescription(Aws::String&& value) { m_metricSetDescription = std::move(value); }
163 
164     /**
165      * <p>The dataset's description.</p>
166      */
SetMetricSetDescription(const char * value)167     inline void SetMetricSetDescription(const char* value) { m_metricSetDescription.assign(value); }
168 
169     /**
170      * <p>The dataset's description.</p>
171      */
WithMetricSetDescription(const Aws::String & value)172     inline DescribeMetricSetResult& WithMetricSetDescription(const Aws::String& value) { SetMetricSetDescription(value); return *this;}
173 
174     /**
175      * <p>The dataset's description.</p>
176      */
WithMetricSetDescription(Aws::String && value)177     inline DescribeMetricSetResult& WithMetricSetDescription(Aws::String&& value) { SetMetricSetDescription(std::move(value)); return *this;}
178 
179     /**
180      * <p>The dataset's description.</p>
181      */
WithMetricSetDescription(const char * value)182     inline DescribeMetricSetResult& WithMetricSetDescription(const char* value) { SetMetricSetDescription(value); return *this;}
183 
184 
185     /**
186      * <p>The time at which the dataset was created.</p>
187      */
GetCreationTime()188     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
189 
190     /**
191      * <p>The time at which the dataset was created.</p>
192      */
SetCreationTime(const Aws::Utils::DateTime & value)193     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; }
194 
195     /**
196      * <p>The time at which the dataset was created.</p>
197      */
SetCreationTime(Aws::Utils::DateTime && value)198     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); }
199 
200     /**
201      * <p>The time at which the dataset was created.</p>
202      */
WithCreationTime(const Aws::Utils::DateTime & value)203     inline DescribeMetricSetResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
204 
205     /**
206      * <p>The time at which the dataset was created.</p>
207      */
WithCreationTime(Aws::Utils::DateTime && value)208     inline DescribeMetricSetResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
209 
210 
211     /**
212      * <p>The time at which the dataset was last modified.</p>
213      */
GetLastModificationTime()214     inline const Aws::Utils::DateTime& GetLastModificationTime() const{ return m_lastModificationTime; }
215 
216     /**
217      * <p>The time at which the dataset was last modified.</p>
218      */
SetLastModificationTime(const Aws::Utils::DateTime & value)219     inline void SetLastModificationTime(const Aws::Utils::DateTime& value) { m_lastModificationTime = value; }
220 
221     /**
222      * <p>The time at which the dataset was last modified.</p>
223      */
SetLastModificationTime(Aws::Utils::DateTime && value)224     inline void SetLastModificationTime(Aws::Utils::DateTime&& value) { m_lastModificationTime = std::move(value); }
225 
226     /**
227      * <p>The time at which the dataset was last modified.</p>
228      */
WithLastModificationTime(const Aws::Utils::DateTime & value)229     inline DescribeMetricSetResult& WithLastModificationTime(const Aws::Utils::DateTime& value) { SetLastModificationTime(value); return *this;}
230 
231     /**
232      * <p>The time at which the dataset was last modified.</p>
233      */
WithLastModificationTime(Aws::Utils::DateTime && value)234     inline DescribeMetricSetResult& WithLastModificationTime(Aws::Utils::DateTime&& value) { SetLastModificationTime(std::move(value)); return *this;}
235 
236 
237     /**
238      * <p>The offset in seconds. Only supported for S3 and Redshift datasources.</p>
239      */
GetOffset()240     inline int GetOffset() const{ return m_offset; }
241 
242     /**
243      * <p>The offset in seconds. Only supported for S3 and Redshift datasources.</p>
244      */
SetOffset(int value)245     inline void SetOffset(int value) { m_offset = value; }
246 
247     /**
248      * <p>The offset in seconds. Only supported for S3 and Redshift datasources.</p>
249      */
WithOffset(int value)250     inline DescribeMetricSetResult& WithOffset(int value) { SetOffset(value); return *this;}
251 
252 
253     /**
254      * <p>A list of the metrics defined by the dataset.</p>
255      */
GetMetricList()256     inline const Aws::Vector<Metric>& GetMetricList() const{ return m_metricList; }
257 
258     /**
259      * <p>A list of the metrics defined by the dataset.</p>
260      */
SetMetricList(const Aws::Vector<Metric> & value)261     inline void SetMetricList(const Aws::Vector<Metric>& value) { m_metricList = value; }
262 
263     /**
264      * <p>A list of the metrics defined by the dataset.</p>
265      */
SetMetricList(Aws::Vector<Metric> && value)266     inline void SetMetricList(Aws::Vector<Metric>&& value) { m_metricList = std::move(value); }
267 
268     /**
269      * <p>A list of the metrics defined by the dataset.</p>
270      */
WithMetricList(const Aws::Vector<Metric> & value)271     inline DescribeMetricSetResult& WithMetricList(const Aws::Vector<Metric>& value) { SetMetricList(value); return *this;}
272 
273     /**
274      * <p>A list of the metrics defined by the dataset.</p>
275      */
WithMetricList(Aws::Vector<Metric> && value)276     inline DescribeMetricSetResult& WithMetricList(Aws::Vector<Metric>&& value) { SetMetricList(std::move(value)); return *this;}
277 
278     /**
279      * <p>A list of the metrics defined by the dataset.</p>
280      */
AddMetricList(const Metric & value)281     inline DescribeMetricSetResult& AddMetricList(const Metric& value) { m_metricList.push_back(value); return *this; }
282 
283     /**
284      * <p>A list of the metrics defined by the dataset.</p>
285      */
AddMetricList(Metric && value)286     inline DescribeMetricSetResult& AddMetricList(Metric&& value) { m_metricList.push_back(std::move(value)); return *this; }
287 
288 
289     /**
290      * <p>Contains information about the column used for tracking time in your source
291      * data.</p>
292      */
GetTimestampColumn()293     inline const TimestampColumn& GetTimestampColumn() const{ return m_timestampColumn; }
294 
295     /**
296      * <p>Contains information about the column used for tracking time in your source
297      * data.</p>
298      */
SetTimestampColumn(const TimestampColumn & value)299     inline void SetTimestampColumn(const TimestampColumn& value) { m_timestampColumn = value; }
300 
301     /**
302      * <p>Contains information about the column used for tracking time in your source
303      * data.</p>
304      */
SetTimestampColumn(TimestampColumn && value)305     inline void SetTimestampColumn(TimestampColumn&& value) { m_timestampColumn = std::move(value); }
306 
307     /**
308      * <p>Contains information about the column used for tracking time in your source
309      * data.</p>
310      */
WithTimestampColumn(const TimestampColumn & value)311     inline DescribeMetricSetResult& WithTimestampColumn(const TimestampColumn& value) { SetTimestampColumn(value); return *this;}
312 
313     /**
314      * <p>Contains information about the column used for tracking time in your source
315      * data.</p>
316      */
WithTimestampColumn(TimestampColumn && value)317     inline DescribeMetricSetResult& WithTimestampColumn(TimestampColumn&& value) { SetTimestampColumn(std::move(value)); return *this;}
318 
319 
320     /**
321      * <p>A list of the dimensions chosen for analysis.</p>
322      */
GetDimensionList()323     inline const Aws::Vector<Aws::String>& GetDimensionList() const{ return m_dimensionList; }
324 
325     /**
326      * <p>A list of the dimensions chosen for analysis.</p>
327      */
SetDimensionList(const Aws::Vector<Aws::String> & value)328     inline void SetDimensionList(const Aws::Vector<Aws::String>& value) { m_dimensionList = value; }
329 
330     /**
331      * <p>A list of the dimensions chosen for analysis.</p>
332      */
SetDimensionList(Aws::Vector<Aws::String> && value)333     inline void SetDimensionList(Aws::Vector<Aws::String>&& value) { m_dimensionList = std::move(value); }
334 
335     /**
336      * <p>A list of the dimensions chosen for analysis.</p>
337      */
WithDimensionList(const Aws::Vector<Aws::String> & value)338     inline DescribeMetricSetResult& WithDimensionList(const Aws::Vector<Aws::String>& value) { SetDimensionList(value); return *this;}
339 
340     /**
341      * <p>A list of the dimensions chosen for analysis.</p>
342      */
WithDimensionList(Aws::Vector<Aws::String> && value)343     inline DescribeMetricSetResult& WithDimensionList(Aws::Vector<Aws::String>&& value) { SetDimensionList(std::move(value)); return *this;}
344 
345     /**
346      * <p>A list of the dimensions chosen for analysis.</p>
347      */
AddDimensionList(const Aws::String & value)348     inline DescribeMetricSetResult& AddDimensionList(const Aws::String& value) { m_dimensionList.push_back(value); return *this; }
349 
350     /**
351      * <p>A list of the dimensions chosen for analysis.</p>
352      */
AddDimensionList(Aws::String && value)353     inline DescribeMetricSetResult& AddDimensionList(Aws::String&& value) { m_dimensionList.push_back(std::move(value)); return *this; }
354 
355     /**
356      * <p>A list of the dimensions chosen for analysis.</p>
357      */
AddDimensionList(const char * value)358     inline DescribeMetricSetResult& AddDimensionList(const char* value) { m_dimensionList.push_back(value); return *this; }
359 
360 
361     /**
362      * <p>The interval at which the data will be analyzed for anomalies.</p>
363      */
GetMetricSetFrequency()364     inline const Frequency& GetMetricSetFrequency() const{ return m_metricSetFrequency; }
365 
366     /**
367      * <p>The interval at which the data will be analyzed for anomalies.</p>
368      */
SetMetricSetFrequency(const Frequency & value)369     inline void SetMetricSetFrequency(const Frequency& value) { m_metricSetFrequency = value; }
370 
371     /**
372      * <p>The interval at which the data will be analyzed for anomalies.</p>
373      */
SetMetricSetFrequency(Frequency && value)374     inline void SetMetricSetFrequency(Frequency&& value) { m_metricSetFrequency = std::move(value); }
375 
376     /**
377      * <p>The interval at which the data will be analyzed for anomalies.</p>
378      */
WithMetricSetFrequency(const Frequency & value)379     inline DescribeMetricSetResult& WithMetricSetFrequency(const Frequency& value) { SetMetricSetFrequency(value); return *this;}
380 
381     /**
382      * <p>The interval at which the data will be analyzed for anomalies.</p>
383      */
WithMetricSetFrequency(Frequency && value)384     inline DescribeMetricSetResult& WithMetricSetFrequency(Frequency&& value) { SetMetricSetFrequency(std::move(value)); return *this;}
385 
386 
387     /**
388      * <p>The time zone in which the dataset's data was recorded.</p>
389      */
GetTimezone()390     inline const Aws::String& GetTimezone() const{ return m_timezone; }
391 
392     /**
393      * <p>The time zone in which the dataset's data was recorded.</p>
394      */
SetTimezone(const Aws::String & value)395     inline void SetTimezone(const Aws::String& value) { m_timezone = value; }
396 
397     /**
398      * <p>The time zone in which the dataset's data was recorded.</p>
399      */
SetTimezone(Aws::String && value)400     inline void SetTimezone(Aws::String&& value) { m_timezone = std::move(value); }
401 
402     /**
403      * <p>The time zone in which the dataset's data was recorded.</p>
404      */
SetTimezone(const char * value)405     inline void SetTimezone(const char* value) { m_timezone.assign(value); }
406 
407     /**
408      * <p>The time zone in which the dataset's data was recorded.</p>
409      */
WithTimezone(const Aws::String & value)410     inline DescribeMetricSetResult& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;}
411 
412     /**
413      * <p>The time zone in which the dataset's data was recorded.</p>
414      */
WithTimezone(Aws::String && value)415     inline DescribeMetricSetResult& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;}
416 
417     /**
418      * <p>The time zone in which the dataset's data was recorded.</p>
419      */
WithTimezone(const char * value)420     inline DescribeMetricSetResult& WithTimezone(const char* value) { SetTimezone(value); return *this;}
421 
422 
423     /**
424      * <p>Contains information about the dataset's source data.</p>
425      */
GetMetricSource()426     inline const MetricSource& GetMetricSource() const{ return m_metricSource; }
427 
428     /**
429      * <p>Contains information about the dataset's source data.</p>
430      */
SetMetricSource(const MetricSource & value)431     inline void SetMetricSource(const MetricSource& value) { m_metricSource = value; }
432 
433     /**
434      * <p>Contains information about the dataset's source data.</p>
435      */
SetMetricSource(MetricSource && value)436     inline void SetMetricSource(MetricSource&& value) { m_metricSource = std::move(value); }
437 
438     /**
439      * <p>Contains information about the dataset's source data.</p>
440      */
WithMetricSource(const MetricSource & value)441     inline DescribeMetricSetResult& WithMetricSource(const MetricSource& value) { SetMetricSource(value); return *this;}
442 
443     /**
444      * <p>Contains information about the dataset's source data.</p>
445      */
WithMetricSource(MetricSource && value)446     inline DescribeMetricSetResult& WithMetricSource(MetricSource&& value) { SetMetricSource(std::move(value)); return *this;}
447 
448   private:
449 
450     Aws::String m_metricSetArn;
451 
452     Aws::String m_anomalyDetectorArn;
453 
454     Aws::String m_metricSetName;
455 
456     Aws::String m_metricSetDescription;
457 
458     Aws::Utils::DateTime m_creationTime;
459 
460     Aws::Utils::DateTime m_lastModificationTime;
461 
462     int m_offset;
463 
464     Aws::Vector<Metric> m_metricList;
465 
466     TimestampColumn m_timestampColumn;
467 
468     Aws::Vector<Aws::String> m_dimensionList;
469 
470     Frequency m_metricSetFrequency;
471 
472     Aws::String m_timezone;
473 
474     MetricSource m_metricSource;
475   };
476 
477 } // namespace Model
478 } // namespace LookoutMetrics
479 } // namespace Aws
480