aws_sdk_medialive/types/
_encoder_settings.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// Encoder Settings
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct EncoderSettings {
7    /// Placeholder documentation for __listOfAudioDescription
8    pub audio_descriptions: ::std::option::Option<::std::vec::Vec<crate::types::AudioDescription>>,
9    /// Settings for ad avail blanking.
10    pub avail_blanking: ::std::option::Option<crate::types::AvailBlanking>,
11    /// Event-wide configuration settings for ad avail insertion.
12    pub avail_configuration: ::std::option::Option<crate::types::AvailConfiguration>,
13    /// Settings for blackout slate.
14    pub blackout_slate: ::std::option::Option<crate::types::BlackoutSlate>,
15    /// Settings for caption decriptions
16    pub caption_descriptions: ::std::option::Option<::std::vec::Vec<crate::types::CaptionDescription>>,
17    /// Feature Activations
18    pub feature_activations: ::std::option::Option<crate::types::FeatureActivations>,
19    /// Configuration settings that apply to the event as a whole.
20    pub global_configuration: ::std::option::Option<crate::types::GlobalConfiguration>,
21    /// Settings for motion graphics.
22    pub motion_graphics_configuration: ::std::option::Option<crate::types::MotionGraphicsConfiguration>,
23    /// Nielsen configuration settings.
24    pub nielsen_configuration: ::std::option::Option<crate::types::NielsenConfiguration>,
25    /// Placeholder documentation for __listOfOutputGroup
26    pub output_groups: ::std::option::Option<::std::vec::Vec<crate::types::OutputGroup>>,
27    /// Contains settings used to acquire and adjust timecode information from inputs.
28    pub timecode_config: ::std::option::Option<crate::types::TimecodeConfig>,
29    /// Placeholder documentation for __listOfVideoDescription
30    pub video_descriptions: ::std::option::Option<::std::vec::Vec<crate::types::VideoDescription>>,
31    /// Thumbnail configuration settings.
32    pub thumbnail_configuration: ::std::option::Option<crate::types::ThumbnailConfiguration>,
33    /// Color Correction Settings
34    pub color_correction_settings: ::std::option::Option<crate::types::ColorCorrectionSettings>,
35}
36impl EncoderSettings {
37    /// Placeholder documentation for __listOfAudioDescription
38    ///
39    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.audio_descriptions.is_none()`.
40    pub fn audio_descriptions(&self) -> &[crate::types::AudioDescription] {
41        self.audio_descriptions.as_deref().unwrap_or_default()
42    }
43    /// Settings for ad avail blanking.
44    pub fn avail_blanking(&self) -> ::std::option::Option<&crate::types::AvailBlanking> {
45        self.avail_blanking.as_ref()
46    }
47    /// Event-wide configuration settings for ad avail insertion.
48    pub fn avail_configuration(&self) -> ::std::option::Option<&crate::types::AvailConfiguration> {
49        self.avail_configuration.as_ref()
50    }
51    /// Settings for blackout slate.
52    pub fn blackout_slate(&self) -> ::std::option::Option<&crate::types::BlackoutSlate> {
53        self.blackout_slate.as_ref()
54    }
55    /// Settings for caption decriptions
56    ///
57    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.caption_descriptions.is_none()`.
58    pub fn caption_descriptions(&self) -> &[crate::types::CaptionDescription] {
59        self.caption_descriptions.as_deref().unwrap_or_default()
60    }
61    /// Feature Activations
62    pub fn feature_activations(&self) -> ::std::option::Option<&crate::types::FeatureActivations> {
63        self.feature_activations.as_ref()
64    }
65    /// Configuration settings that apply to the event as a whole.
66    pub fn global_configuration(&self) -> ::std::option::Option<&crate::types::GlobalConfiguration> {
67        self.global_configuration.as_ref()
68    }
69    /// Settings for motion graphics.
70    pub fn motion_graphics_configuration(&self) -> ::std::option::Option<&crate::types::MotionGraphicsConfiguration> {
71        self.motion_graphics_configuration.as_ref()
72    }
73    /// Nielsen configuration settings.
74    pub fn nielsen_configuration(&self) -> ::std::option::Option<&crate::types::NielsenConfiguration> {
75        self.nielsen_configuration.as_ref()
76    }
77    /// Placeholder documentation for __listOfOutputGroup
78    ///
79    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.output_groups.is_none()`.
80    pub fn output_groups(&self) -> &[crate::types::OutputGroup] {
81        self.output_groups.as_deref().unwrap_or_default()
82    }
83    /// Contains settings used to acquire and adjust timecode information from inputs.
84    pub fn timecode_config(&self) -> ::std::option::Option<&crate::types::TimecodeConfig> {
85        self.timecode_config.as_ref()
86    }
87    /// Placeholder documentation for __listOfVideoDescription
88    ///
89    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.video_descriptions.is_none()`.
90    pub fn video_descriptions(&self) -> &[crate::types::VideoDescription] {
91        self.video_descriptions.as_deref().unwrap_or_default()
92    }
93    /// Thumbnail configuration settings.
94    pub fn thumbnail_configuration(&self) -> ::std::option::Option<&crate::types::ThumbnailConfiguration> {
95        self.thumbnail_configuration.as_ref()
96    }
97    /// Color Correction Settings
98    pub fn color_correction_settings(&self) -> ::std::option::Option<&crate::types::ColorCorrectionSettings> {
99        self.color_correction_settings.as_ref()
100    }
101}
102impl EncoderSettings {
103    /// Creates a new builder-style object to manufacture [`EncoderSettings`](crate::types::EncoderSettings).
104    pub fn builder() -> crate::types::builders::EncoderSettingsBuilder {
105        crate::types::builders::EncoderSettingsBuilder::default()
106    }
107}
108
109/// A builder for [`EncoderSettings`](crate::types::EncoderSettings).
110#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
111#[non_exhaustive]
112pub struct EncoderSettingsBuilder {
113    pub(crate) audio_descriptions: ::std::option::Option<::std::vec::Vec<crate::types::AudioDescription>>,
114    pub(crate) avail_blanking: ::std::option::Option<crate::types::AvailBlanking>,
115    pub(crate) avail_configuration: ::std::option::Option<crate::types::AvailConfiguration>,
116    pub(crate) blackout_slate: ::std::option::Option<crate::types::BlackoutSlate>,
117    pub(crate) caption_descriptions: ::std::option::Option<::std::vec::Vec<crate::types::CaptionDescription>>,
118    pub(crate) feature_activations: ::std::option::Option<crate::types::FeatureActivations>,
119    pub(crate) global_configuration: ::std::option::Option<crate::types::GlobalConfiguration>,
120    pub(crate) motion_graphics_configuration: ::std::option::Option<crate::types::MotionGraphicsConfiguration>,
121    pub(crate) nielsen_configuration: ::std::option::Option<crate::types::NielsenConfiguration>,
122    pub(crate) output_groups: ::std::option::Option<::std::vec::Vec<crate::types::OutputGroup>>,
123    pub(crate) timecode_config: ::std::option::Option<crate::types::TimecodeConfig>,
124    pub(crate) video_descriptions: ::std::option::Option<::std::vec::Vec<crate::types::VideoDescription>>,
125    pub(crate) thumbnail_configuration: ::std::option::Option<crate::types::ThumbnailConfiguration>,
126    pub(crate) color_correction_settings: ::std::option::Option<crate::types::ColorCorrectionSettings>,
127}
128impl EncoderSettingsBuilder {
129    /// Appends an item to `audio_descriptions`.
130    ///
131    /// To override the contents of this collection use [`set_audio_descriptions`](Self::set_audio_descriptions).
132    ///
133    /// Placeholder documentation for __listOfAudioDescription
134    pub fn audio_descriptions(mut self, input: crate::types::AudioDescription) -> Self {
135        let mut v = self.audio_descriptions.unwrap_or_default();
136        v.push(input);
137        self.audio_descriptions = ::std::option::Option::Some(v);
138        self
139    }
140    /// Placeholder documentation for __listOfAudioDescription
141    pub fn set_audio_descriptions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AudioDescription>>) -> Self {
142        self.audio_descriptions = input;
143        self
144    }
145    /// Placeholder documentation for __listOfAudioDescription
146    pub fn get_audio_descriptions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AudioDescription>> {
147        &self.audio_descriptions
148    }
149    /// Settings for ad avail blanking.
150    pub fn avail_blanking(mut self, input: crate::types::AvailBlanking) -> Self {
151        self.avail_blanking = ::std::option::Option::Some(input);
152        self
153    }
154    /// Settings for ad avail blanking.
155    pub fn set_avail_blanking(mut self, input: ::std::option::Option<crate::types::AvailBlanking>) -> Self {
156        self.avail_blanking = input;
157        self
158    }
159    /// Settings for ad avail blanking.
160    pub fn get_avail_blanking(&self) -> &::std::option::Option<crate::types::AvailBlanking> {
161        &self.avail_blanking
162    }
163    /// Event-wide configuration settings for ad avail insertion.
164    pub fn avail_configuration(mut self, input: crate::types::AvailConfiguration) -> Self {
165        self.avail_configuration = ::std::option::Option::Some(input);
166        self
167    }
168    /// Event-wide configuration settings for ad avail insertion.
169    pub fn set_avail_configuration(mut self, input: ::std::option::Option<crate::types::AvailConfiguration>) -> Self {
170        self.avail_configuration = input;
171        self
172    }
173    /// Event-wide configuration settings for ad avail insertion.
174    pub fn get_avail_configuration(&self) -> &::std::option::Option<crate::types::AvailConfiguration> {
175        &self.avail_configuration
176    }
177    /// Settings for blackout slate.
178    pub fn blackout_slate(mut self, input: crate::types::BlackoutSlate) -> Self {
179        self.blackout_slate = ::std::option::Option::Some(input);
180        self
181    }
182    /// Settings for blackout slate.
183    pub fn set_blackout_slate(mut self, input: ::std::option::Option<crate::types::BlackoutSlate>) -> Self {
184        self.blackout_slate = input;
185        self
186    }
187    /// Settings for blackout slate.
188    pub fn get_blackout_slate(&self) -> &::std::option::Option<crate::types::BlackoutSlate> {
189        &self.blackout_slate
190    }
191    /// Appends an item to `caption_descriptions`.
192    ///
193    /// To override the contents of this collection use [`set_caption_descriptions`](Self::set_caption_descriptions).
194    ///
195    /// Settings for caption decriptions
196    pub fn caption_descriptions(mut self, input: crate::types::CaptionDescription) -> Self {
197        let mut v = self.caption_descriptions.unwrap_or_default();
198        v.push(input);
199        self.caption_descriptions = ::std::option::Option::Some(v);
200        self
201    }
202    /// Settings for caption decriptions
203    pub fn set_caption_descriptions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::CaptionDescription>>) -> Self {
204        self.caption_descriptions = input;
205        self
206    }
207    /// Settings for caption decriptions
208    pub fn get_caption_descriptions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::CaptionDescription>> {
209        &self.caption_descriptions
210    }
211    /// Feature Activations
212    pub fn feature_activations(mut self, input: crate::types::FeatureActivations) -> Self {
213        self.feature_activations = ::std::option::Option::Some(input);
214        self
215    }
216    /// Feature Activations
217    pub fn set_feature_activations(mut self, input: ::std::option::Option<crate::types::FeatureActivations>) -> Self {
218        self.feature_activations = input;
219        self
220    }
221    /// Feature Activations
222    pub fn get_feature_activations(&self) -> &::std::option::Option<crate::types::FeatureActivations> {
223        &self.feature_activations
224    }
225    /// Configuration settings that apply to the event as a whole.
226    pub fn global_configuration(mut self, input: crate::types::GlobalConfiguration) -> Self {
227        self.global_configuration = ::std::option::Option::Some(input);
228        self
229    }
230    /// Configuration settings that apply to the event as a whole.
231    pub fn set_global_configuration(mut self, input: ::std::option::Option<crate::types::GlobalConfiguration>) -> Self {
232        self.global_configuration = input;
233        self
234    }
235    /// Configuration settings that apply to the event as a whole.
236    pub fn get_global_configuration(&self) -> &::std::option::Option<crate::types::GlobalConfiguration> {
237        &self.global_configuration
238    }
239    /// Settings for motion graphics.
240    pub fn motion_graphics_configuration(mut self, input: crate::types::MotionGraphicsConfiguration) -> Self {
241        self.motion_graphics_configuration = ::std::option::Option::Some(input);
242        self
243    }
244    /// Settings for motion graphics.
245    pub fn set_motion_graphics_configuration(mut self, input: ::std::option::Option<crate::types::MotionGraphicsConfiguration>) -> Self {
246        self.motion_graphics_configuration = input;
247        self
248    }
249    /// Settings for motion graphics.
250    pub fn get_motion_graphics_configuration(&self) -> &::std::option::Option<crate::types::MotionGraphicsConfiguration> {
251        &self.motion_graphics_configuration
252    }
253    /// Nielsen configuration settings.
254    pub fn nielsen_configuration(mut self, input: crate::types::NielsenConfiguration) -> Self {
255        self.nielsen_configuration = ::std::option::Option::Some(input);
256        self
257    }
258    /// Nielsen configuration settings.
259    pub fn set_nielsen_configuration(mut self, input: ::std::option::Option<crate::types::NielsenConfiguration>) -> Self {
260        self.nielsen_configuration = input;
261        self
262    }
263    /// Nielsen configuration settings.
264    pub fn get_nielsen_configuration(&self) -> &::std::option::Option<crate::types::NielsenConfiguration> {
265        &self.nielsen_configuration
266    }
267    /// Appends an item to `output_groups`.
268    ///
269    /// To override the contents of this collection use [`set_output_groups`](Self::set_output_groups).
270    ///
271    /// Placeholder documentation for __listOfOutputGroup
272    pub fn output_groups(mut self, input: crate::types::OutputGroup) -> Self {
273        let mut v = self.output_groups.unwrap_or_default();
274        v.push(input);
275        self.output_groups = ::std::option::Option::Some(v);
276        self
277    }
278    /// Placeholder documentation for __listOfOutputGroup
279    pub fn set_output_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OutputGroup>>) -> Self {
280        self.output_groups = input;
281        self
282    }
283    /// Placeholder documentation for __listOfOutputGroup
284    pub fn get_output_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OutputGroup>> {
285        &self.output_groups
286    }
287    /// Contains settings used to acquire and adjust timecode information from inputs.
288    /// This field is required.
289    pub fn timecode_config(mut self, input: crate::types::TimecodeConfig) -> Self {
290        self.timecode_config = ::std::option::Option::Some(input);
291        self
292    }
293    /// Contains settings used to acquire and adjust timecode information from inputs.
294    pub fn set_timecode_config(mut self, input: ::std::option::Option<crate::types::TimecodeConfig>) -> Self {
295        self.timecode_config = input;
296        self
297    }
298    /// Contains settings used to acquire and adjust timecode information from inputs.
299    pub fn get_timecode_config(&self) -> &::std::option::Option<crate::types::TimecodeConfig> {
300        &self.timecode_config
301    }
302    /// Appends an item to `video_descriptions`.
303    ///
304    /// To override the contents of this collection use [`set_video_descriptions`](Self::set_video_descriptions).
305    ///
306    /// Placeholder documentation for __listOfVideoDescription
307    pub fn video_descriptions(mut self, input: crate::types::VideoDescription) -> Self {
308        let mut v = self.video_descriptions.unwrap_or_default();
309        v.push(input);
310        self.video_descriptions = ::std::option::Option::Some(v);
311        self
312    }
313    /// Placeholder documentation for __listOfVideoDescription
314    pub fn set_video_descriptions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VideoDescription>>) -> Self {
315        self.video_descriptions = input;
316        self
317    }
318    /// Placeholder documentation for __listOfVideoDescription
319    pub fn get_video_descriptions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VideoDescription>> {
320        &self.video_descriptions
321    }
322    /// Thumbnail configuration settings.
323    pub fn thumbnail_configuration(mut self, input: crate::types::ThumbnailConfiguration) -> Self {
324        self.thumbnail_configuration = ::std::option::Option::Some(input);
325        self
326    }
327    /// Thumbnail configuration settings.
328    pub fn set_thumbnail_configuration(mut self, input: ::std::option::Option<crate::types::ThumbnailConfiguration>) -> Self {
329        self.thumbnail_configuration = input;
330        self
331    }
332    /// Thumbnail configuration settings.
333    pub fn get_thumbnail_configuration(&self) -> &::std::option::Option<crate::types::ThumbnailConfiguration> {
334        &self.thumbnail_configuration
335    }
336    /// Color Correction Settings
337    pub fn color_correction_settings(mut self, input: crate::types::ColorCorrectionSettings) -> Self {
338        self.color_correction_settings = ::std::option::Option::Some(input);
339        self
340    }
341    /// Color Correction Settings
342    pub fn set_color_correction_settings(mut self, input: ::std::option::Option<crate::types::ColorCorrectionSettings>) -> Self {
343        self.color_correction_settings = input;
344        self
345    }
346    /// Color Correction Settings
347    pub fn get_color_correction_settings(&self) -> &::std::option::Option<crate::types::ColorCorrectionSettings> {
348        &self.color_correction_settings
349    }
350    /// Consumes the builder and constructs a [`EncoderSettings`](crate::types::EncoderSettings).
351    pub fn build(self) -> crate::types::EncoderSettings {
352        crate::types::EncoderSettings {
353            audio_descriptions: self.audio_descriptions,
354            avail_blanking: self.avail_blanking,
355            avail_configuration: self.avail_configuration,
356            blackout_slate: self.blackout_slate,
357            caption_descriptions: self.caption_descriptions,
358            feature_activations: self.feature_activations,
359            global_configuration: self.global_configuration,
360            motion_graphics_configuration: self.motion_graphics_configuration,
361            nielsen_configuration: self.nielsen_configuration,
362            output_groups: self.output_groups,
363            timecode_config: self.timecode_config,
364            video_descriptions: self.video_descriptions,
365            thumbnail_configuration: self.thumbnail_configuration,
366            color_correction_settings: self.color_correction_settings,
367        }
368    }
369}