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/InputLocation.h>
9 #include <aws/medialive/model/BlackoutSlateNetworkEndBlackout.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <aws/medialive/model/BlackoutSlateState.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace MediaLive
25 {
26 namespace Model
27 {
28 
29   /**
30    * Blackout Slate<p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/BlackoutSlate">AWS
32    * API Reference</a></p>
33    */
34   class AWS_MEDIALIVE_API BlackoutSlate
35   {
36   public:
37     BlackoutSlate();
38     BlackoutSlate(Aws::Utils::Json::JsonView jsonValue);
39     BlackoutSlate& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * Blackout slate image to be used. Leave empty for solid black. Only bmp and png
45      * images are supported.
46      */
GetBlackoutSlateImage()47     inline const InputLocation& GetBlackoutSlateImage() const{ return m_blackoutSlateImage; }
48 
49     /**
50      * Blackout slate image to be used. Leave empty for solid black. Only bmp and png
51      * images are supported.
52      */
BlackoutSlateImageHasBeenSet()53     inline bool BlackoutSlateImageHasBeenSet() const { return m_blackoutSlateImageHasBeenSet; }
54 
55     /**
56      * Blackout slate image to be used. Leave empty for solid black. Only bmp and png
57      * images are supported.
58      */
SetBlackoutSlateImage(const InputLocation & value)59     inline void SetBlackoutSlateImage(const InputLocation& value) { m_blackoutSlateImageHasBeenSet = true; m_blackoutSlateImage = value; }
60 
61     /**
62      * Blackout slate image to be used. Leave empty for solid black. Only bmp and png
63      * images are supported.
64      */
SetBlackoutSlateImage(InputLocation && value)65     inline void SetBlackoutSlateImage(InputLocation&& value) { m_blackoutSlateImageHasBeenSet = true; m_blackoutSlateImage = std::move(value); }
66 
67     /**
68      * Blackout slate image to be used. Leave empty for solid black. Only bmp and png
69      * images are supported.
70      */
WithBlackoutSlateImage(const InputLocation & value)71     inline BlackoutSlate& WithBlackoutSlateImage(const InputLocation& value) { SetBlackoutSlateImage(value); return *this;}
72 
73     /**
74      * Blackout slate image to be used. Leave empty for solid black. Only bmp and png
75      * images are supported.
76      */
WithBlackoutSlateImage(InputLocation && value)77     inline BlackoutSlate& WithBlackoutSlateImage(InputLocation&& value) { SetBlackoutSlateImage(std::move(value)); return *this;}
78 
79 
80     /**
81      * Setting to enabled causes the encoder to blackout the video, audio, and
82      * captions, and raise the "Network Blackout Image" slate when an SCTE104/35
83      * Network End Segmentation Descriptor is encountered. The blackout will be lifted
84      * when the Network Start Segmentation Descriptor is encountered. The Network End
85      * and Network Start descriptors must contain a network ID that matches the value
86      * entered in "Network ID".
87      */
GetNetworkEndBlackout()88     inline const BlackoutSlateNetworkEndBlackout& GetNetworkEndBlackout() const{ return m_networkEndBlackout; }
89 
90     /**
91      * Setting to enabled causes the encoder to blackout the video, audio, and
92      * captions, and raise the "Network Blackout Image" slate when an SCTE104/35
93      * Network End Segmentation Descriptor is encountered. The blackout will be lifted
94      * when the Network Start Segmentation Descriptor is encountered. The Network End
95      * and Network Start descriptors must contain a network ID that matches the value
96      * entered in "Network ID".
97      */
NetworkEndBlackoutHasBeenSet()98     inline bool NetworkEndBlackoutHasBeenSet() const { return m_networkEndBlackoutHasBeenSet; }
99 
100     /**
101      * Setting to enabled causes the encoder to blackout the video, audio, and
102      * captions, and raise the "Network Blackout Image" slate when an SCTE104/35
103      * Network End Segmentation Descriptor is encountered. The blackout will be lifted
104      * when the Network Start Segmentation Descriptor is encountered. The Network End
105      * and Network Start descriptors must contain a network ID that matches the value
106      * entered in "Network ID".
107      */
SetNetworkEndBlackout(const BlackoutSlateNetworkEndBlackout & value)108     inline void SetNetworkEndBlackout(const BlackoutSlateNetworkEndBlackout& value) { m_networkEndBlackoutHasBeenSet = true; m_networkEndBlackout = value; }
109 
110     /**
111      * Setting to enabled causes the encoder to blackout the video, audio, and
112      * captions, and raise the "Network Blackout Image" slate when an SCTE104/35
113      * Network End Segmentation Descriptor is encountered. The blackout will be lifted
114      * when the Network Start Segmentation Descriptor is encountered. The Network End
115      * and Network Start descriptors must contain a network ID that matches the value
116      * entered in "Network ID".
117      */
SetNetworkEndBlackout(BlackoutSlateNetworkEndBlackout && value)118     inline void SetNetworkEndBlackout(BlackoutSlateNetworkEndBlackout&& value) { m_networkEndBlackoutHasBeenSet = true; m_networkEndBlackout = std::move(value); }
119 
120     /**
121      * Setting to enabled causes the encoder to blackout the video, audio, and
122      * captions, and raise the "Network Blackout Image" slate when an SCTE104/35
123      * Network End Segmentation Descriptor is encountered. The blackout will be lifted
124      * when the Network Start Segmentation Descriptor is encountered. The Network End
125      * and Network Start descriptors must contain a network ID that matches the value
126      * entered in "Network ID".
127      */
WithNetworkEndBlackout(const BlackoutSlateNetworkEndBlackout & value)128     inline BlackoutSlate& WithNetworkEndBlackout(const BlackoutSlateNetworkEndBlackout& value) { SetNetworkEndBlackout(value); return *this;}
129 
130     /**
131      * Setting to enabled causes the encoder to blackout the video, audio, and
132      * captions, and raise the "Network Blackout Image" slate when an SCTE104/35
133      * Network End Segmentation Descriptor is encountered. The blackout will be lifted
134      * when the Network Start Segmentation Descriptor is encountered. The Network End
135      * and Network Start descriptors must contain a network ID that matches the value
136      * entered in "Network ID".
137      */
WithNetworkEndBlackout(BlackoutSlateNetworkEndBlackout && value)138     inline BlackoutSlate& WithNetworkEndBlackout(BlackoutSlateNetworkEndBlackout&& value) { SetNetworkEndBlackout(std::move(value)); return *this;}
139 
140 
141     /**
142      * Path to local file to use as Network End Blackout image. Image will be scaled to
143      * fill the entire output raster.
144      */
GetNetworkEndBlackoutImage()145     inline const InputLocation& GetNetworkEndBlackoutImage() const{ return m_networkEndBlackoutImage; }
146 
147     /**
148      * Path to local file to use as Network End Blackout image. Image will be scaled to
149      * fill the entire output raster.
150      */
NetworkEndBlackoutImageHasBeenSet()151     inline bool NetworkEndBlackoutImageHasBeenSet() const { return m_networkEndBlackoutImageHasBeenSet; }
152 
153     /**
154      * Path to local file to use as Network End Blackout image. Image will be scaled to
155      * fill the entire output raster.
156      */
SetNetworkEndBlackoutImage(const InputLocation & value)157     inline void SetNetworkEndBlackoutImage(const InputLocation& value) { m_networkEndBlackoutImageHasBeenSet = true; m_networkEndBlackoutImage = value; }
158 
159     /**
160      * Path to local file to use as Network End Blackout image. Image will be scaled to
161      * fill the entire output raster.
162      */
SetNetworkEndBlackoutImage(InputLocation && value)163     inline void SetNetworkEndBlackoutImage(InputLocation&& value) { m_networkEndBlackoutImageHasBeenSet = true; m_networkEndBlackoutImage = std::move(value); }
164 
165     /**
166      * Path to local file to use as Network End Blackout image. Image will be scaled to
167      * fill the entire output raster.
168      */
WithNetworkEndBlackoutImage(const InputLocation & value)169     inline BlackoutSlate& WithNetworkEndBlackoutImage(const InputLocation& value) { SetNetworkEndBlackoutImage(value); return *this;}
170 
171     /**
172      * Path to local file to use as Network End Blackout image. Image will be scaled to
173      * fill the entire output raster.
174      */
WithNetworkEndBlackoutImage(InputLocation && value)175     inline BlackoutSlate& WithNetworkEndBlackoutImage(InputLocation&& value) { SetNetworkEndBlackoutImage(std::move(value)); return *this;}
176 
177 
178     /**
179      * Provides Network ID that matches EIDR ID format (e.g.,
180      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
181      */
GetNetworkId()182     inline const Aws::String& GetNetworkId() const{ return m_networkId; }
183 
184     /**
185      * Provides Network ID that matches EIDR ID format (e.g.,
186      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
187      */
NetworkIdHasBeenSet()188     inline bool NetworkIdHasBeenSet() const { return m_networkIdHasBeenSet; }
189 
190     /**
191      * Provides Network ID that matches EIDR ID format (e.g.,
192      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
193      */
SetNetworkId(const Aws::String & value)194     inline void SetNetworkId(const Aws::String& value) { m_networkIdHasBeenSet = true; m_networkId = value; }
195 
196     /**
197      * Provides Network ID that matches EIDR ID format (e.g.,
198      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
199      */
SetNetworkId(Aws::String && value)200     inline void SetNetworkId(Aws::String&& value) { m_networkIdHasBeenSet = true; m_networkId = std::move(value); }
201 
202     /**
203      * Provides Network ID that matches EIDR ID format (e.g.,
204      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
205      */
SetNetworkId(const char * value)206     inline void SetNetworkId(const char* value) { m_networkIdHasBeenSet = true; m_networkId.assign(value); }
207 
208     /**
209      * Provides Network ID that matches EIDR ID format (e.g.,
210      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
211      */
WithNetworkId(const Aws::String & value)212     inline BlackoutSlate& WithNetworkId(const Aws::String& value) { SetNetworkId(value); return *this;}
213 
214     /**
215      * Provides Network ID that matches EIDR ID format (e.g.,
216      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
217      */
WithNetworkId(Aws::String && value)218     inline BlackoutSlate& WithNetworkId(Aws::String&& value) { SetNetworkId(std::move(value)); return *this;}
219 
220     /**
221      * Provides Network ID that matches EIDR ID format (e.g.,
222      * "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
223      */
WithNetworkId(const char * value)224     inline BlackoutSlate& WithNetworkId(const char* value) { SetNetworkId(value); return *this;}
225 
226 
227     /**
228      * When set to enabled, causes video, audio and captions to be blanked when
229      * indicated by program metadata.
230      */
GetState()231     inline const BlackoutSlateState& GetState() const{ return m_state; }
232 
233     /**
234      * When set to enabled, causes video, audio and captions to be blanked when
235      * indicated by program metadata.
236      */
StateHasBeenSet()237     inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
238 
239     /**
240      * When set to enabled, causes video, audio and captions to be blanked when
241      * indicated by program metadata.
242      */
SetState(const BlackoutSlateState & value)243     inline void SetState(const BlackoutSlateState& value) { m_stateHasBeenSet = true; m_state = value; }
244 
245     /**
246      * When set to enabled, causes video, audio and captions to be blanked when
247      * indicated by program metadata.
248      */
SetState(BlackoutSlateState && value)249     inline void SetState(BlackoutSlateState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
250 
251     /**
252      * When set to enabled, causes video, audio and captions to be blanked when
253      * indicated by program metadata.
254      */
WithState(const BlackoutSlateState & value)255     inline BlackoutSlate& WithState(const BlackoutSlateState& value) { SetState(value); return *this;}
256 
257     /**
258      * When set to enabled, causes video, audio and captions to be blanked when
259      * indicated by program metadata.
260      */
WithState(BlackoutSlateState && value)261     inline BlackoutSlate& WithState(BlackoutSlateState&& value) { SetState(std::move(value)); return *this;}
262 
263   private:
264 
265     InputLocation m_blackoutSlateImage;
266     bool m_blackoutSlateImageHasBeenSet;
267 
268     BlackoutSlateNetworkEndBlackout m_networkEndBlackout;
269     bool m_networkEndBlackoutHasBeenSet;
270 
271     InputLocation m_networkEndBlackoutImage;
272     bool m_networkEndBlackoutImageHasBeenSet;
273 
274     Aws::String m_networkId;
275     bool m_networkIdHasBeenSet;
276 
277     BlackoutSlateState m_state;
278     bool m_stateHasBeenSet;
279   };
280 
281 } // namespace Model
282 } // namespace MediaLive
283 } // namespace Aws
284