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/mediatailor/MediaTailor_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/mediatailor/model/AdBreak.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace MediaTailor
27 {
28 namespace Model
29 {
30   class AWS_MEDIATAILOR_API DescribeProgramResult
31   {
32   public:
33     DescribeProgramResult();
34     DescribeProgramResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     DescribeProgramResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>The ad break configuration settings.</p>
40      */
GetAdBreaks()41     inline const Aws::Vector<AdBreak>& GetAdBreaks() const{ return m_adBreaks; }
42 
43     /**
44      * <p>The ad break configuration settings.</p>
45      */
SetAdBreaks(const Aws::Vector<AdBreak> & value)46     inline void SetAdBreaks(const Aws::Vector<AdBreak>& value) { m_adBreaks = value; }
47 
48     /**
49      * <p>The ad break configuration settings.</p>
50      */
SetAdBreaks(Aws::Vector<AdBreak> && value)51     inline void SetAdBreaks(Aws::Vector<AdBreak>&& value) { m_adBreaks = std::move(value); }
52 
53     /**
54      * <p>The ad break configuration settings.</p>
55      */
WithAdBreaks(const Aws::Vector<AdBreak> & value)56     inline DescribeProgramResult& WithAdBreaks(const Aws::Vector<AdBreak>& value) { SetAdBreaks(value); return *this;}
57 
58     /**
59      * <p>The ad break configuration settings.</p>
60      */
WithAdBreaks(Aws::Vector<AdBreak> && value)61     inline DescribeProgramResult& WithAdBreaks(Aws::Vector<AdBreak>&& value) { SetAdBreaks(std::move(value)); return *this;}
62 
63     /**
64      * <p>The ad break configuration settings.</p>
65      */
AddAdBreaks(const AdBreak & value)66     inline DescribeProgramResult& AddAdBreaks(const AdBreak& value) { m_adBreaks.push_back(value); return *this; }
67 
68     /**
69      * <p>The ad break configuration settings.</p>
70      */
AddAdBreaks(AdBreak && value)71     inline DescribeProgramResult& AddAdBreaks(AdBreak&& value) { m_adBreaks.push_back(std::move(value)); return *this; }
72 
73 
74     /**
75      * <p>The ARN of the program.</p>
76      */
GetArn()77     inline const Aws::String& GetArn() const{ return m_arn; }
78 
79     /**
80      * <p>The ARN of the program.</p>
81      */
SetArn(const Aws::String & value)82     inline void SetArn(const Aws::String& value) { m_arn = value; }
83 
84     /**
85      * <p>The ARN of the program.</p>
86      */
SetArn(Aws::String && value)87     inline void SetArn(Aws::String&& value) { m_arn = std::move(value); }
88 
89     /**
90      * <p>The ARN of the program.</p>
91      */
SetArn(const char * value)92     inline void SetArn(const char* value) { m_arn.assign(value); }
93 
94     /**
95      * <p>The ARN of the program.</p>
96      */
WithArn(const Aws::String & value)97     inline DescribeProgramResult& WithArn(const Aws::String& value) { SetArn(value); return *this;}
98 
99     /**
100      * <p>The ARN of the program.</p>
101      */
WithArn(Aws::String && value)102     inline DescribeProgramResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
103 
104     /**
105      * <p>The ARN of the program.</p>
106      */
WithArn(const char * value)107     inline DescribeProgramResult& WithArn(const char* value) { SetArn(value); return *this;}
108 
109 
110     /**
111      * <p>The name of the channel that the program belongs to.</p>
112      */
GetChannelName()113     inline const Aws::String& GetChannelName() const{ return m_channelName; }
114 
115     /**
116      * <p>The name of the channel that the program belongs to.</p>
117      */
SetChannelName(const Aws::String & value)118     inline void SetChannelName(const Aws::String& value) { m_channelName = value; }
119 
120     /**
121      * <p>The name of the channel that the program belongs to.</p>
122      */
SetChannelName(Aws::String && value)123     inline void SetChannelName(Aws::String&& value) { m_channelName = std::move(value); }
124 
125     /**
126      * <p>The name of the channel that the program belongs to.</p>
127      */
SetChannelName(const char * value)128     inline void SetChannelName(const char* value) { m_channelName.assign(value); }
129 
130     /**
131      * <p>The name of the channel that the program belongs to.</p>
132      */
WithChannelName(const Aws::String & value)133     inline DescribeProgramResult& WithChannelName(const Aws::String& value) { SetChannelName(value); return *this;}
134 
135     /**
136      * <p>The name of the channel that the program belongs to.</p>
137      */
WithChannelName(Aws::String && value)138     inline DescribeProgramResult& WithChannelName(Aws::String&& value) { SetChannelName(std::move(value)); return *this;}
139 
140     /**
141      * <p>The name of the channel that the program belongs to.</p>
142      */
WithChannelName(const char * value)143     inline DescribeProgramResult& WithChannelName(const char* value) { SetChannelName(value); return *this;}
144 
145 
146     /**
147      * <p>The timestamp of when the program was created.</p>
148      */
GetCreationTime()149     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
150 
151     /**
152      * <p>The timestamp of when the program was created.</p>
153      */
SetCreationTime(const Aws::Utils::DateTime & value)154     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; }
155 
156     /**
157      * <p>The timestamp of when the program was created.</p>
158      */
SetCreationTime(Aws::Utils::DateTime && value)159     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); }
160 
161     /**
162      * <p>The timestamp of when the program was created.</p>
163      */
WithCreationTime(const Aws::Utils::DateTime & value)164     inline DescribeProgramResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
165 
166     /**
167      * <p>The timestamp of when the program was created.</p>
168      */
WithCreationTime(Aws::Utils::DateTime && value)169     inline DescribeProgramResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
170 
171 
172     /**
173      * <p>The name of the program.</p>
174      */
GetProgramName()175     inline const Aws::String& GetProgramName() const{ return m_programName; }
176 
177     /**
178      * <p>The name of the program.</p>
179      */
SetProgramName(const Aws::String & value)180     inline void SetProgramName(const Aws::String& value) { m_programName = value; }
181 
182     /**
183      * <p>The name of the program.</p>
184      */
SetProgramName(Aws::String && value)185     inline void SetProgramName(Aws::String&& value) { m_programName = std::move(value); }
186 
187     /**
188      * <p>The name of the program.</p>
189      */
SetProgramName(const char * value)190     inline void SetProgramName(const char* value) { m_programName.assign(value); }
191 
192     /**
193      * <p>The name of the program.</p>
194      */
WithProgramName(const Aws::String & value)195     inline DescribeProgramResult& WithProgramName(const Aws::String& value) { SetProgramName(value); return *this;}
196 
197     /**
198      * <p>The name of the program.</p>
199      */
WithProgramName(Aws::String && value)200     inline DescribeProgramResult& WithProgramName(Aws::String&& value) { SetProgramName(std::move(value)); return *this;}
201 
202     /**
203      * <p>The name of the program.</p>
204      */
WithProgramName(const char * value)205     inline DescribeProgramResult& WithProgramName(const char* value) { SetProgramName(value); return *this;}
206 
207 
208     /**
209      * <p>The date and time that the program is scheduled to start in ISO 8601 format
210      * and Coordinated Universal Time (UTC). For example, the value
211      * 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.</p>
212      */
GetScheduledStartTime()213     inline const Aws::Utils::DateTime& GetScheduledStartTime() const{ return m_scheduledStartTime; }
214 
215     /**
216      * <p>The date and time that the program is scheduled to start in ISO 8601 format
217      * and Coordinated Universal Time (UTC). For example, the value
218      * 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.</p>
219      */
SetScheduledStartTime(const Aws::Utils::DateTime & value)220     inline void SetScheduledStartTime(const Aws::Utils::DateTime& value) { m_scheduledStartTime = value; }
221 
222     /**
223      * <p>The date and time that the program is scheduled to start in ISO 8601 format
224      * and Coordinated Universal Time (UTC). For example, the value
225      * 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.</p>
226      */
SetScheduledStartTime(Aws::Utils::DateTime && value)227     inline void SetScheduledStartTime(Aws::Utils::DateTime&& value) { m_scheduledStartTime = std::move(value); }
228 
229     /**
230      * <p>The date and time that the program is scheduled to start in ISO 8601 format
231      * and Coordinated Universal Time (UTC). For example, the value
232      * 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.</p>
233      */
WithScheduledStartTime(const Aws::Utils::DateTime & value)234     inline DescribeProgramResult& WithScheduledStartTime(const Aws::Utils::DateTime& value) { SetScheduledStartTime(value); return *this;}
235 
236     /**
237      * <p>The date and time that the program is scheduled to start in ISO 8601 format
238      * and Coordinated Universal Time (UTC). For example, the value
239      * 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.</p>
240      */
WithScheduledStartTime(Aws::Utils::DateTime && value)241     inline DescribeProgramResult& WithScheduledStartTime(Aws::Utils::DateTime&& value) { SetScheduledStartTime(std::move(value)); return *this;}
242 
243 
244     /**
245      * <p>The source location name.</p>
246      */
GetSourceLocationName()247     inline const Aws::String& GetSourceLocationName() const{ return m_sourceLocationName; }
248 
249     /**
250      * <p>The source location name.</p>
251      */
SetSourceLocationName(const Aws::String & value)252     inline void SetSourceLocationName(const Aws::String& value) { m_sourceLocationName = value; }
253 
254     /**
255      * <p>The source location name.</p>
256      */
SetSourceLocationName(Aws::String && value)257     inline void SetSourceLocationName(Aws::String&& value) { m_sourceLocationName = std::move(value); }
258 
259     /**
260      * <p>The source location name.</p>
261      */
SetSourceLocationName(const char * value)262     inline void SetSourceLocationName(const char* value) { m_sourceLocationName.assign(value); }
263 
264     /**
265      * <p>The source location name.</p>
266      */
WithSourceLocationName(const Aws::String & value)267     inline DescribeProgramResult& WithSourceLocationName(const Aws::String& value) { SetSourceLocationName(value); return *this;}
268 
269     /**
270      * <p>The source location name.</p>
271      */
WithSourceLocationName(Aws::String && value)272     inline DescribeProgramResult& WithSourceLocationName(Aws::String&& value) { SetSourceLocationName(std::move(value)); return *this;}
273 
274     /**
275      * <p>The source location name.</p>
276      */
WithSourceLocationName(const char * value)277     inline DescribeProgramResult& WithSourceLocationName(const char* value) { SetSourceLocationName(value); return *this;}
278 
279 
280     /**
281      * <p>The name that's used to refer to a VOD source.</p>
282      */
GetVodSourceName()283     inline const Aws::String& GetVodSourceName() const{ return m_vodSourceName; }
284 
285     /**
286      * <p>The name that's used to refer to a VOD source.</p>
287      */
SetVodSourceName(const Aws::String & value)288     inline void SetVodSourceName(const Aws::String& value) { m_vodSourceName = value; }
289 
290     /**
291      * <p>The name that's used to refer to a VOD source.</p>
292      */
SetVodSourceName(Aws::String && value)293     inline void SetVodSourceName(Aws::String&& value) { m_vodSourceName = std::move(value); }
294 
295     /**
296      * <p>The name that's used to refer to a VOD source.</p>
297      */
SetVodSourceName(const char * value)298     inline void SetVodSourceName(const char* value) { m_vodSourceName.assign(value); }
299 
300     /**
301      * <p>The name that's used to refer to a VOD source.</p>
302      */
WithVodSourceName(const Aws::String & value)303     inline DescribeProgramResult& WithVodSourceName(const Aws::String& value) { SetVodSourceName(value); return *this;}
304 
305     /**
306      * <p>The name that's used to refer to a VOD source.</p>
307      */
WithVodSourceName(Aws::String && value)308     inline DescribeProgramResult& WithVodSourceName(Aws::String&& value) { SetVodSourceName(std::move(value)); return *this;}
309 
310     /**
311      * <p>The name that's used to refer to a VOD source.</p>
312      */
WithVodSourceName(const char * value)313     inline DescribeProgramResult& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;}
314 
315   private:
316 
317     Aws::Vector<AdBreak> m_adBreaks;
318 
319     Aws::String m_arn;
320 
321     Aws::String m_channelName;
322 
323     Aws::Utils::DateTime m_creationTime;
324 
325     Aws::String m_programName;
326 
327     Aws::Utils::DateTime m_scheduledStartTime;
328 
329     Aws::String m_sourceLocationName;
330 
331     Aws::String m_vodSourceName;
332   };
333 
334 } // namespace Model
335 } // namespace MediaTailor
336 } // namespace Aws
337