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/core/utils/memory/stl/AWSString.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 MediaLive
22 {
23 namespace Model
24 {
25 
26   /**
27    * Settings to specify the rendering of motion graphics into the video
28    * stream.<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/MotionGraphicsActivateScheduleActionSettings">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API MotionGraphicsActivateScheduleActionSettings
33   {
34   public:
35     MotionGraphicsActivateScheduleActionSettings();
36     MotionGraphicsActivateScheduleActionSettings(Aws::Utils::Json::JsonView jsonValue);
37     MotionGraphicsActivateScheduleActionSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * Duration (in milliseconds) that motion graphics should render on to the video
43      * stream. Leaving out this property or setting to 0 will result in rendering
44      * continuing until a deactivate action is processed.
45      */
GetDuration()46     inline long long GetDuration() const{ return m_duration; }
47 
48     /**
49      * Duration (in milliseconds) that motion graphics should render on to the video
50      * stream. Leaving out this property or setting to 0 will result in rendering
51      * continuing until a deactivate action is processed.
52      */
DurationHasBeenSet()53     inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
54 
55     /**
56      * Duration (in milliseconds) that motion graphics should render on to the video
57      * stream. Leaving out this property or setting to 0 will result in rendering
58      * continuing until a deactivate action is processed.
59      */
SetDuration(long long value)60     inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; }
61 
62     /**
63      * Duration (in milliseconds) that motion graphics should render on to the video
64      * stream. Leaving out this property or setting to 0 will result in rendering
65      * continuing until a deactivate action is processed.
66      */
WithDuration(long long value)67     inline MotionGraphicsActivateScheduleActionSettings& WithDuration(long long value) { SetDuration(value); return *this;}
68 
69 
70     /**
71      * Key used to extract the password from EC2 Parameter store
72      */
GetPasswordParam()73     inline const Aws::String& GetPasswordParam() const{ return m_passwordParam; }
74 
75     /**
76      * Key used to extract the password from EC2 Parameter store
77      */
PasswordParamHasBeenSet()78     inline bool PasswordParamHasBeenSet() const { return m_passwordParamHasBeenSet; }
79 
80     /**
81      * Key used to extract the password from EC2 Parameter store
82      */
SetPasswordParam(const Aws::String & value)83     inline void SetPasswordParam(const Aws::String& value) { m_passwordParamHasBeenSet = true; m_passwordParam = value; }
84 
85     /**
86      * Key used to extract the password from EC2 Parameter store
87      */
SetPasswordParam(Aws::String && value)88     inline void SetPasswordParam(Aws::String&& value) { m_passwordParamHasBeenSet = true; m_passwordParam = std::move(value); }
89 
90     /**
91      * Key used to extract the password from EC2 Parameter store
92      */
SetPasswordParam(const char * value)93     inline void SetPasswordParam(const char* value) { m_passwordParamHasBeenSet = true; m_passwordParam.assign(value); }
94 
95     /**
96      * Key used to extract the password from EC2 Parameter store
97      */
WithPasswordParam(const Aws::String & value)98     inline MotionGraphicsActivateScheduleActionSettings& WithPasswordParam(const Aws::String& value) { SetPasswordParam(value); return *this;}
99 
100     /**
101      * Key used to extract the password from EC2 Parameter store
102      */
WithPasswordParam(Aws::String && value)103     inline MotionGraphicsActivateScheduleActionSettings& WithPasswordParam(Aws::String&& value) { SetPasswordParam(std::move(value)); return *this;}
104 
105     /**
106      * Key used to extract the password from EC2 Parameter store
107      */
WithPasswordParam(const char * value)108     inline MotionGraphicsActivateScheduleActionSettings& WithPasswordParam(const char* value) { SetPasswordParam(value); return *this;}
109 
110 
111     /**
112      * URI of the HTML5 content to be rendered into the live stream.
113      */
GetUrl()114     inline const Aws::String& GetUrl() const{ return m_url; }
115 
116     /**
117      * URI of the HTML5 content to be rendered into the live stream.
118      */
UrlHasBeenSet()119     inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
120 
121     /**
122      * URI of the HTML5 content to be rendered into the live stream.
123      */
SetUrl(const Aws::String & value)124     inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; }
125 
126     /**
127      * URI of the HTML5 content to be rendered into the live stream.
128      */
SetUrl(Aws::String && value)129     inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); }
130 
131     /**
132      * URI of the HTML5 content to be rendered into the live stream.
133      */
SetUrl(const char * value)134     inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); }
135 
136     /**
137      * URI of the HTML5 content to be rendered into the live stream.
138      */
WithUrl(const Aws::String & value)139     inline MotionGraphicsActivateScheduleActionSettings& WithUrl(const Aws::String& value) { SetUrl(value); return *this;}
140 
141     /**
142      * URI of the HTML5 content to be rendered into the live stream.
143      */
WithUrl(Aws::String && value)144     inline MotionGraphicsActivateScheduleActionSettings& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;}
145 
146     /**
147      * URI of the HTML5 content to be rendered into the live stream.
148      */
WithUrl(const char * value)149     inline MotionGraphicsActivateScheduleActionSettings& WithUrl(const char* value) { SetUrl(value); return *this;}
150 
151 
152     /**
153      * Documentation update needed
154      */
GetUsername()155     inline const Aws::String& GetUsername() const{ return m_username; }
156 
157     /**
158      * Documentation update needed
159      */
UsernameHasBeenSet()160     inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; }
161 
162     /**
163      * Documentation update needed
164      */
SetUsername(const Aws::String & value)165     inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; }
166 
167     /**
168      * Documentation update needed
169      */
SetUsername(Aws::String && value)170     inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); }
171 
172     /**
173      * Documentation update needed
174      */
SetUsername(const char * value)175     inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); }
176 
177     /**
178      * Documentation update needed
179      */
WithUsername(const Aws::String & value)180     inline MotionGraphicsActivateScheduleActionSettings& WithUsername(const Aws::String& value) { SetUsername(value); return *this;}
181 
182     /**
183      * Documentation update needed
184      */
WithUsername(Aws::String && value)185     inline MotionGraphicsActivateScheduleActionSettings& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;}
186 
187     /**
188      * Documentation update needed
189      */
WithUsername(const char * value)190     inline MotionGraphicsActivateScheduleActionSettings& WithUsername(const char* value) { SetUsername(value); return *this;}
191 
192   private:
193 
194     long long m_duration;
195     bool m_durationHasBeenSet;
196 
197     Aws::String m_passwordParam;
198     bool m_passwordParamHasBeenSet;
199 
200     Aws::String m_url;
201     bool m_urlHasBeenSet;
202 
203     Aws::String m_username;
204     bool m_usernameHasBeenSet;
205   };
206 
207 } // namespace Model
208 } // namespace MediaLive
209 } // namespace Aws
210