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/DateTime.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 DevOpsGuru
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p> A time range that specifies when the observed unusual behavior in an anomaly
28    * started and ended. This is different from <code>AnomalyReportedTimeRange</code>,
29    * which specifies the time range when DevOps Guru opens and then closes an
30    * anomaly. </p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/AnomalyTimeRange">AWS
32    * API Reference</a></p>
33    */
34   class AWS_DEVOPSGURU_API AnomalyTimeRange
35   {
36   public:
37     AnomalyTimeRange();
38     AnomalyTimeRange(Aws::Utils::Json::JsonView jsonValue);
39     AnomalyTimeRange& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p> The time when the anomalous behavior started. </p>
45      */
GetStartTime()46     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
47 
48     /**
49      * <p> The time when the anomalous behavior started. </p>
50      */
StartTimeHasBeenSet()51     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
52 
53     /**
54      * <p> The time when the anomalous behavior started. </p>
55      */
SetStartTime(const Aws::Utils::DateTime & value)56     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
57 
58     /**
59      * <p> The time when the anomalous behavior started. </p>
60      */
SetStartTime(Aws::Utils::DateTime && value)61     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
62 
63     /**
64      * <p> The time when the anomalous behavior started. </p>
65      */
WithStartTime(const Aws::Utils::DateTime & value)66     inline AnomalyTimeRange& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
67 
68     /**
69      * <p> The time when the anomalous behavior started. </p>
70      */
WithStartTime(Aws::Utils::DateTime && value)71     inline AnomalyTimeRange& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
72 
73 
74     /**
75      * <p> The time when the anomalous behavior ended. </p>
76      */
GetEndTime()77     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
78 
79     /**
80      * <p> The time when the anomalous behavior ended. </p>
81      */
EndTimeHasBeenSet()82     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
83 
84     /**
85      * <p> The time when the anomalous behavior ended. </p>
86      */
SetEndTime(const Aws::Utils::DateTime & value)87     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
88 
89     /**
90      * <p> The time when the anomalous behavior ended. </p>
91      */
SetEndTime(Aws::Utils::DateTime && value)92     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
93 
94     /**
95      * <p> The time when the anomalous behavior ended. </p>
96      */
WithEndTime(const Aws::Utils::DateTime & value)97     inline AnomalyTimeRange& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
98 
99     /**
100      * <p> The time when the anomalous behavior ended. </p>
101      */
WithEndTime(Aws::Utils::DateTime && value)102     inline AnomalyTimeRange& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
103 
104   private:
105 
106     Aws::Utils::DateTime m_startTime;
107     bool m_startTimeHasBeenSet;
108 
109     Aws::Utils::DateTime m_endTime;
110     bool m_endTimeHasBeenSet;
111   };
112 
113 } // namespace Model
114 } // namespace DevOpsGuru
115 } // namespace Aws
116