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/transcribe/TranscribeService_EXPORTS.h>
8 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace TranscribeService
20 {
21 namespace Model
22 {
23 
24   /**
25    * <p>A time range, set in seconds, between two points in the call.</p><p><h3>See
26    * Also:</h3>   <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/transcribe-2017-10-26/AbsoluteTimeRange">AWS
28    * API Reference</a></p>
29    */
30   class AWS_TRANSCRIBESERVICE_API AbsoluteTimeRange
31   {
32   public:
33     AbsoluteTimeRange();
34     AbsoluteTimeRange(Aws::Utils::Json::JsonView jsonValue);
35     AbsoluteTimeRange& operator=(Aws::Utils::Json::JsonView jsonValue);
36     Aws::Utils::Json::JsonValue Jsonize() const;
37 
38 
39     /**
40      * <p>A value that indicates the beginning of the time range in seconds. To set
41      * absolute time range, you must specify a start time and an end time. For example,
42      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
43      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
44      * 10,000 milliseconds and 50,000 milliseconds into the call.</p>
45      */
GetStartTime()46     inline long long GetStartTime() const{ return m_startTime; }
47 
48     /**
49      * <p>A value that indicates the beginning of the time range in seconds. To set
50      * absolute time range, you must specify a start time and an end time. For example,
51      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
52      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
53      * 10,000 milliseconds and 50,000 milliseconds into the call.</p>
54      */
StartTimeHasBeenSet()55     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
56 
57     /**
58      * <p>A value that indicates the beginning of the time range in seconds. To set
59      * absolute time range, you must specify a start time and an end time. For example,
60      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
61      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
62      * 10,000 milliseconds and 50,000 milliseconds into the call.</p>
63      */
SetStartTime(long long value)64     inline void SetStartTime(long long value) { m_startTimeHasBeenSet = true; m_startTime = value; }
65 
66     /**
67      * <p>A value that indicates the beginning of the time range in seconds. To set
68      * absolute time range, you must specify a start time and an end time. For example,
69      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
70      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
71      * 10,000 milliseconds and 50,000 milliseconds into the call.</p>
72      */
WithStartTime(long long value)73     inline AbsoluteTimeRange& WithStartTime(long long value) { SetStartTime(value); return *this;}
74 
75 
76     /**
77      * <p>A value that indicates the end of the time range in milliseconds. To set
78      * absolute time range, you must specify a start time and an end time. For example,
79      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
80      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
81      * 10,000 milliseconds and 50,000 milliseconds into the call. </p>
82      */
GetEndTime()83     inline long long GetEndTime() const{ return m_endTime; }
84 
85     /**
86      * <p>A value that indicates the end of the time range in milliseconds. To set
87      * absolute time range, you must specify a start time and an end time. For example,
88      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
89      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
90      * 10,000 milliseconds and 50,000 milliseconds into the call. </p>
91      */
EndTimeHasBeenSet()92     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
93 
94     /**
95      * <p>A value that indicates the end of the time range in milliseconds. To set
96      * absolute time range, you must specify a start time and an end time. For example,
97      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
98      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
99      * 10,000 milliseconds and 50,000 milliseconds into the call. </p>
100      */
SetEndTime(long long value)101     inline void SetEndTime(long long value) { m_endTimeHasBeenSet = true; m_endTime = value; }
102 
103     /**
104      * <p>A value that indicates the end of the time range in milliseconds. To set
105      * absolute time range, you must specify a start time and an end time. For example,
106      * if you specify the following values:</p> <ul> <li> <p>StartTime - 10000</p>
107      * </li> <li> <p>Endtime - 50000</p> </li> </ul> <p>The time range is set between
108      * 10,000 milliseconds and 50,000 milliseconds into the call. </p>
109      */
WithEndTime(long long value)110     inline AbsoluteTimeRange& WithEndTime(long long value) { SetEndTime(value); return *this;}
111 
112 
113     /**
114      * <p>A time range from the beginning of the call to the value that you've
115      * specified. For example, if you specify 100000, the time range is set to the
116      * first 100,000 milliseconds of the call.</p>
117      */
GetFirst()118     inline long long GetFirst() const{ return m_first; }
119 
120     /**
121      * <p>A time range from the beginning of the call to the value that you've
122      * specified. For example, if you specify 100000, the time range is set to the
123      * first 100,000 milliseconds of the call.</p>
124      */
FirstHasBeenSet()125     inline bool FirstHasBeenSet() const { return m_firstHasBeenSet; }
126 
127     /**
128      * <p>A time range from the beginning of the call to the value that you've
129      * specified. For example, if you specify 100000, the time range is set to the
130      * first 100,000 milliseconds of the call.</p>
131      */
SetFirst(long long value)132     inline void SetFirst(long long value) { m_firstHasBeenSet = true; m_first = value; }
133 
134     /**
135      * <p>A time range from the beginning of the call to the value that you've
136      * specified. For example, if you specify 100000, the time range is set to the
137      * first 100,000 milliseconds of the call.</p>
138      */
WithFirst(long long value)139     inline AbsoluteTimeRange& WithFirst(long long value) { SetFirst(value); return *this;}
140 
141 
142     /**
143      * <p>A time range from the value that you've specified to the end of the call. For
144      * example, if you specify 100000, the time range is set to the last 100,000
145      * milliseconds of the call.</p>
146      */
GetLast()147     inline long long GetLast() const{ return m_last; }
148 
149     /**
150      * <p>A time range from the value that you've specified to the end of the call. For
151      * example, if you specify 100000, the time range is set to the last 100,000
152      * milliseconds of the call.</p>
153      */
LastHasBeenSet()154     inline bool LastHasBeenSet() const { return m_lastHasBeenSet; }
155 
156     /**
157      * <p>A time range from the value that you've specified to the end of the call. For
158      * example, if you specify 100000, the time range is set to the last 100,000
159      * milliseconds of the call.</p>
160      */
SetLast(long long value)161     inline void SetLast(long long value) { m_lastHasBeenSet = true; m_last = value; }
162 
163     /**
164      * <p>A time range from the value that you've specified to the end of the call. For
165      * example, if you specify 100000, the time range is set to the last 100,000
166      * milliseconds of the call.</p>
167      */
WithLast(long long value)168     inline AbsoluteTimeRange& WithLast(long long value) { SetLast(value); return *this;}
169 
170   private:
171 
172     long long m_startTime;
173     bool m_startTimeHasBeenSet;
174 
175     long long m_endTime;
176     bool m_endTimeHasBeenSet;
177 
178     long long m_first;
179     bool m_firstHasBeenSet;
180 
181     long long m_last;
182     bool m_lastHasBeenSet;
183   };
184 
185 } // namespace Model
186 } // namespace TranscribeService
187 } // namespace Aws
188