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/medialive/MediaLive_EXPORTS.h>
8 #include <aws/medialive/model/LastFrameClippingBehavior.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace MediaLive
23 {
24 namespace Model
25 {
26 
27   /**
28    * Settings to identify the end of the clip.<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopTimecode">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API StopTimecode
33   {
34   public:
35     StopTimecode();
36     StopTimecode(Aws::Utils::Json::JsonView jsonValue);
37     StopTimecode& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * If you specify a StopTimecode in an input (in order to clip the file), you can
43      * specify if you want the clip to exclude (the default) or include the frame
44      * specified by the timecode.
45      */
GetLastFrameClippingBehavior()46     inline const LastFrameClippingBehavior& GetLastFrameClippingBehavior() const{ return m_lastFrameClippingBehavior; }
47 
48     /**
49      * If you specify a StopTimecode in an input (in order to clip the file), you can
50      * specify if you want the clip to exclude (the default) or include the frame
51      * specified by the timecode.
52      */
LastFrameClippingBehaviorHasBeenSet()53     inline bool LastFrameClippingBehaviorHasBeenSet() const { return m_lastFrameClippingBehaviorHasBeenSet; }
54 
55     /**
56      * If you specify a StopTimecode in an input (in order to clip the file), you can
57      * specify if you want the clip to exclude (the default) or include the frame
58      * specified by the timecode.
59      */
SetLastFrameClippingBehavior(const LastFrameClippingBehavior & value)60     inline void SetLastFrameClippingBehavior(const LastFrameClippingBehavior& value) { m_lastFrameClippingBehaviorHasBeenSet = true; m_lastFrameClippingBehavior = value; }
61 
62     /**
63      * If you specify a StopTimecode in an input (in order to clip the file), you can
64      * specify if you want the clip to exclude (the default) or include the frame
65      * specified by the timecode.
66      */
SetLastFrameClippingBehavior(LastFrameClippingBehavior && value)67     inline void SetLastFrameClippingBehavior(LastFrameClippingBehavior&& value) { m_lastFrameClippingBehaviorHasBeenSet = true; m_lastFrameClippingBehavior = std::move(value); }
68 
69     /**
70      * If you specify a StopTimecode in an input (in order to clip the file), you can
71      * specify if you want the clip to exclude (the default) or include the frame
72      * specified by the timecode.
73      */
WithLastFrameClippingBehavior(const LastFrameClippingBehavior & value)74     inline StopTimecode& WithLastFrameClippingBehavior(const LastFrameClippingBehavior& value) { SetLastFrameClippingBehavior(value); return *this;}
75 
76     /**
77      * If you specify a StopTimecode in an input (in order to clip the file), you can
78      * specify if you want the clip to exclude (the default) or include the frame
79      * specified by the timecode.
80      */
WithLastFrameClippingBehavior(LastFrameClippingBehavior && value)81     inline StopTimecode& WithLastFrameClippingBehavior(LastFrameClippingBehavior&& value) { SetLastFrameClippingBehavior(std::move(value)); return *this;}
82 
83 
84     /**
85      * The timecode for the frame where you want to stop the clip. Optional; if not
86      * specified, the clip continues to the end of the file. Enter the timecode as
87      * HH:MM:SS:FF or HH:MM:SS;FF.
88      */
GetTimecode()89     inline const Aws::String& GetTimecode() const{ return m_timecode; }
90 
91     /**
92      * The timecode for the frame where you want to stop the clip. Optional; if not
93      * specified, the clip continues to the end of the file. Enter the timecode as
94      * HH:MM:SS:FF or HH:MM:SS;FF.
95      */
TimecodeHasBeenSet()96     inline bool TimecodeHasBeenSet() const { return m_timecodeHasBeenSet; }
97 
98     /**
99      * The timecode for the frame where you want to stop the clip. Optional; if not
100      * specified, the clip continues to the end of the file. Enter the timecode as
101      * HH:MM:SS:FF or HH:MM:SS;FF.
102      */
SetTimecode(const Aws::String & value)103     inline void SetTimecode(const Aws::String& value) { m_timecodeHasBeenSet = true; m_timecode = value; }
104 
105     /**
106      * The timecode for the frame where you want to stop the clip. Optional; if not
107      * specified, the clip continues to the end of the file. Enter the timecode as
108      * HH:MM:SS:FF or HH:MM:SS;FF.
109      */
SetTimecode(Aws::String && value)110     inline void SetTimecode(Aws::String&& value) { m_timecodeHasBeenSet = true; m_timecode = std::move(value); }
111 
112     /**
113      * The timecode for the frame where you want to stop the clip. Optional; if not
114      * specified, the clip continues to the end of the file. Enter the timecode as
115      * HH:MM:SS:FF or HH:MM:SS;FF.
116      */
SetTimecode(const char * value)117     inline void SetTimecode(const char* value) { m_timecodeHasBeenSet = true; m_timecode.assign(value); }
118 
119     /**
120      * The timecode for the frame where you want to stop the clip. Optional; if not
121      * specified, the clip continues to the end of the file. Enter the timecode as
122      * HH:MM:SS:FF or HH:MM:SS;FF.
123      */
WithTimecode(const Aws::String & value)124     inline StopTimecode& WithTimecode(const Aws::String& value) { SetTimecode(value); return *this;}
125 
126     /**
127      * The timecode for the frame where you want to stop the clip. Optional; if not
128      * specified, the clip continues to the end of the file. Enter the timecode as
129      * HH:MM:SS:FF or HH:MM:SS;FF.
130      */
WithTimecode(Aws::String && value)131     inline StopTimecode& WithTimecode(Aws::String&& value) { SetTimecode(std::move(value)); return *this;}
132 
133     /**
134      * The timecode for the frame where you want to stop the clip. Optional; if not
135      * specified, the clip continues to the end of the file. Enter the timecode as
136      * HH:MM:SS:FF or HH:MM:SS;FF.
137      */
WithTimecode(const char * value)138     inline StopTimecode& WithTimecode(const char* value) { SetTimecode(value); return *this;}
139 
140   private:
141 
142     LastFrameClippingBehavior m_lastFrameClippingBehavior;
143     bool m_lastFrameClippingBehaviorHasBeenSet;
144 
145     Aws::String m_timecode;
146     bool m_timecodeHasBeenSet;
147   };
148 
149 } // namespace Model
150 } // namespace MediaLive
151 } // namespace Aws
152