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>The time range of a cost estimation.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/CostEstimationTimeRange">AWS
29    * API Reference</a></p>
30    */
31   class AWS_DEVOPSGURU_API CostEstimationTimeRange
32   {
33   public:
34     CostEstimationTimeRange();
35     CostEstimationTimeRange(Aws::Utils::Json::JsonView jsonValue);
36     CostEstimationTimeRange& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The start time of the cost estimation.</p>
42      */
GetStartTime()43     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
44 
45     /**
46      * <p>The start time of the cost estimation.</p>
47      */
StartTimeHasBeenSet()48     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
49 
50     /**
51      * <p>The start time of the cost estimation.</p>
52      */
SetStartTime(const Aws::Utils::DateTime & value)53     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
54 
55     /**
56      * <p>The start time of the cost estimation.</p>
57      */
SetStartTime(Aws::Utils::DateTime && value)58     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
59 
60     /**
61      * <p>The start time of the cost estimation.</p>
62      */
WithStartTime(const Aws::Utils::DateTime & value)63     inline CostEstimationTimeRange& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
64 
65     /**
66      * <p>The start time of the cost estimation.</p>
67      */
WithStartTime(Aws::Utils::DateTime && value)68     inline CostEstimationTimeRange& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
69 
70 
71     /**
72      * <p>The end time of the cost estimation.</p>
73      */
GetEndTime()74     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
75 
76     /**
77      * <p>The end time of the cost estimation.</p>
78      */
EndTimeHasBeenSet()79     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
80 
81     /**
82      * <p>The end time of the cost estimation.</p>
83      */
SetEndTime(const Aws::Utils::DateTime & value)84     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
85 
86     /**
87      * <p>The end time of the cost estimation.</p>
88      */
SetEndTime(Aws::Utils::DateTime && value)89     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
90 
91     /**
92      * <p>The end time of the cost estimation.</p>
93      */
WithEndTime(const Aws::Utils::DateTime & value)94     inline CostEstimationTimeRange& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
95 
96     /**
97      * <p>The end time of the cost estimation.</p>
98      */
WithEndTime(Aws::Utils::DateTime && value)99     inline CostEstimationTimeRange& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
100 
101   private:
102 
103     Aws::Utils::DateTime m_startTime;
104     bool m_startTimeHasBeenSet;
105 
106     Aws::Utils::DateTime m_endTime;
107     bool m_endTimeHasBeenSet;
108   };
109 
110 } // namespace Model
111 } // namespace DevOpsGuru
112 } // namespace Aws
113