aws_sdk_medialive/operation/create_input/
_create_input_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// The name of the input
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateInputInput {
7    /// Destination settings for PUSH type inputs.
8    pub destinations: ::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>>,
9    /// Settings for the devices.
10    pub input_devices: ::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>>,
11    /// A list of security groups referenced by IDs to attach to the input.
12    pub input_security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
13    /// A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a separate Availability Zone as this ensures your EML input is redundant to AZ issues.
14    pub media_connect_flows: ::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>>,
15    /// Name of the input.
16    pub name: ::std::option::Option<::std::string::String>,
17    /// Unique identifier of the request to ensure the request is handled exactly once in case of retries.
18    pub request_id: ::std::option::Option<::std::string::String>,
19    /// The Amazon Resource Name (ARN) of the role this input assumes during and after creation.
20    pub role_arn: ::std::option::Option<::std::string::String>,
21    /// The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty.
22    pub sources: ::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>>,
23    /// A collection of key-value pairs.
24    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
25    /// The different types of inputs that AWS Elemental MediaLive supports.
26    pub r#type: ::std::option::Option<crate::types::InputType>,
27    /// Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property.
28    pub vpc: ::std::option::Option<crate::types::InputVpcRequest>,
29    /// The settings associated with an SRT input.
30    pub srt_settings: ::std::option::Option<crate::types::SrtSettingsRequest>,
31    /// The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for an input in a customer network.
32    pub input_network_location: ::std::option::Option<crate::types::InputNetworkLocation>,
33    /// Multicast Input settings.
34    pub multicast_settings: ::std::option::Option<crate::types::MulticastSettingsCreateRequest>,
35    /// Include this parameter if the input is a SMPTE 2110 input, to identify the stream sources for this input.
36    pub smpte2110_receiver_group_settings: ::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings>,
37    /// SDI Sources for this Input.
38    pub sdi_sources: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
39    /// This is the collection of settings that are used during the creation of a MediaConnect router input.
40    pub router_settings: ::std::option::Option<crate::types::RouterSettings>,
41}
42impl CreateInputInput {
43    /// Destination settings for PUSH type inputs.
44    ///
45    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.destinations.is_none()`.
46    pub fn destinations(&self) -> &[crate::types::InputDestinationRequest] {
47        self.destinations.as_deref().unwrap_or_default()
48    }
49    /// Settings for the devices.
50    ///
51    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.input_devices.is_none()`.
52    pub fn input_devices(&self) -> &[crate::types::InputDeviceSettings] {
53        self.input_devices.as_deref().unwrap_or_default()
54    }
55    /// A list of security groups referenced by IDs to attach to the input.
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 `.input_security_groups.is_none()`.
58    pub fn input_security_groups(&self) -> &[::std::string::String] {
59        self.input_security_groups.as_deref().unwrap_or_default()
60    }
61    /// A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a separate Availability Zone as this ensures your EML input is redundant to AZ issues.
62    ///
63    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.media_connect_flows.is_none()`.
64    pub fn media_connect_flows(&self) -> &[crate::types::MediaConnectFlowRequest] {
65        self.media_connect_flows.as_deref().unwrap_or_default()
66    }
67    /// Name of the input.
68    pub fn name(&self) -> ::std::option::Option<&str> {
69        self.name.as_deref()
70    }
71    /// Unique identifier of the request to ensure the request is handled exactly once in case of retries.
72    pub fn request_id(&self) -> ::std::option::Option<&str> {
73        self.request_id.as_deref()
74    }
75    /// The Amazon Resource Name (ARN) of the role this input assumes during and after creation.
76    pub fn role_arn(&self) -> ::std::option::Option<&str> {
77        self.role_arn.as_deref()
78    }
79    /// The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty.
80    ///
81    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.sources.is_none()`.
82    pub fn sources(&self) -> &[crate::types::InputSourceRequest] {
83        self.sources.as_deref().unwrap_or_default()
84    }
85    /// A collection of key-value pairs.
86    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
87        self.tags.as_ref()
88    }
89    /// The different types of inputs that AWS Elemental MediaLive supports.
90    pub fn r#type(&self) -> ::std::option::Option<&crate::types::InputType> {
91        self.r#type.as_ref()
92    }
93    /// Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property.
94    pub fn vpc(&self) -> ::std::option::Option<&crate::types::InputVpcRequest> {
95        self.vpc.as_ref()
96    }
97    /// The settings associated with an SRT input.
98    pub fn srt_settings(&self) -> ::std::option::Option<&crate::types::SrtSettingsRequest> {
99        self.srt_settings.as_ref()
100    }
101    /// The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for an input in a customer network.
102    pub fn input_network_location(&self) -> ::std::option::Option<&crate::types::InputNetworkLocation> {
103        self.input_network_location.as_ref()
104    }
105    /// Multicast Input settings.
106    pub fn multicast_settings(&self) -> ::std::option::Option<&crate::types::MulticastSettingsCreateRequest> {
107        self.multicast_settings.as_ref()
108    }
109    /// Include this parameter if the input is a SMPTE 2110 input, to identify the stream sources for this input.
110    pub fn smpte2110_receiver_group_settings(&self) -> ::std::option::Option<&crate::types::Smpte2110ReceiverGroupSettings> {
111        self.smpte2110_receiver_group_settings.as_ref()
112    }
113    /// SDI Sources for this Input.
114    ///
115    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.sdi_sources.is_none()`.
116    pub fn sdi_sources(&self) -> &[::std::string::String] {
117        self.sdi_sources.as_deref().unwrap_or_default()
118    }
119    /// This is the collection of settings that are used during the creation of a MediaConnect router input.
120    pub fn router_settings(&self) -> ::std::option::Option<&crate::types::RouterSettings> {
121        self.router_settings.as_ref()
122    }
123}
124impl CreateInputInput {
125    /// Creates a new builder-style object to manufacture [`CreateInputInput`](crate::operation::create_input::CreateInputInput).
126    pub fn builder() -> crate::operation::create_input::builders::CreateInputInputBuilder {
127        crate::operation::create_input::builders::CreateInputInputBuilder::default()
128    }
129}
130
131/// A builder for [`CreateInputInput`](crate::operation::create_input::CreateInputInput).
132#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
133#[non_exhaustive]
134pub struct CreateInputInputBuilder {
135    pub(crate) destinations: ::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>>,
136    pub(crate) input_devices: ::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>>,
137    pub(crate) input_security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
138    pub(crate) media_connect_flows: ::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>>,
139    pub(crate) name: ::std::option::Option<::std::string::String>,
140    pub(crate) request_id: ::std::option::Option<::std::string::String>,
141    pub(crate) role_arn: ::std::option::Option<::std::string::String>,
142    pub(crate) sources: ::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>>,
143    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
144    pub(crate) r#type: ::std::option::Option<crate::types::InputType>,
145    pub(crate) vpc: ::std::option::Option<crate::types::InputVpcRequest>,
146    pub(crate) srt_settings: ::std::option::Option<crate::types::SrtSettingsRequest>,
147    pub(crate) input_network_location: ::std::option::Option<crate::types::InputNetworkLocation>,
148    pub(crate) multicast_settings: ::std::option::Option<crate::types::MulticastSettingsCreateRequest>,
149    pub(crate) smpte2110_receiver_group_settings: ::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings>,
150    pub(crate) sdi_sources: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
151    pub(crate) router_settings: ::std::option::Option<crate::types::RouterSettings>,
152}
153impl CreateInputInputBuilder {
154    /// Appends an item to `destinations`.
155    ///
156    /// To override the contents of this collection use [`set_destinations`](Self::set_destinations).
157    ///
158    /// Destination settings for PUSH type inputs.
159    pub fn destinations(mut self, input: crate::types::InputDestinationRequest) -> Self {
160        let mut v = self.destinations.unwrap_or_default();
161        v.push(input);
162        self.destinations = ::std::option::Option::Some(v);
163        self
164    }
165    /// Destination settings for PUSH type inputs.
166    pub fn set_destinations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>>) -> Self {
167        self.destinations = input;
168        self
169    }
170    /// Destination settings for PUSH type inputs.
171    pub fn get_destinations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>> {
172        &self.destinations
173    }
174    /// Appends an item to `input_devices`.
175    ///
176    /// To override the contents of this collection use [`set_input_devices`](Self::set_input_devices).
177    ///
178    /// Settings for the devices.
179    pub fn input_devices(mut self, input: crate::types::InputDeviceSettings) -> Self {
180        let mut v = self.input_devices.unwrap_or_default();
181        v.push(input);
182        self.input_devices = ::std::option::Option::Some(v);
183        self
184    }
185    /// Settings for the devices.
186    pub fn set_input_devices(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>>) -> Self {
187        self.input_devices = input;
188        self
189    }
190    /// Settings for the devices.
191    pub fn get_input_devices(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>> {
192        &self.input_devices
193    }
194    /// Appends an item to `input_security_groups`.
195    ///
196    /// To override the contents of this collection use [`set_input_security_groups`](Self::set_input_security_groups).
197    ///
198    /// A list of security groups referenced by IDs to attach to the input.
199    pub fn input_security_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
200        let mut v = self.input_security_groups.unwrap_or_default();
201        v.push(input.into());
202        self.input_security_groups = ::std::option::Option::Some(v);
203        self
204    }
205    /// A list of security groups referenced by IDs to attach to the input.
206    pub fn set_input_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
207        self.input_security_groups = input;
208        self
209    }
210    /// A list of security groups referenced by IDs to attach to the input.
211    pub fn get_input_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
212        &self.input_security_groups
213    }
214    /// Appends an item to `media_connect_flows`.
215    ///
216    /// To override the contents of this collection use [`set_media_connect_flows`](Self::set_media_connect_flows).
217    ///
218    /// A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a separate Availability Zone as this ensures your EML input is redundant to AZ issues.
219    pub fn media_connect_flows(mut self, input: crate::types::MediaConnectFlowRequest) -> Self {
220        let mut v = self.media_connect_flows.unwrap_or_default();
221        v.push(input);
222        self.media_connect_flows = ::std::option::Option::Some(v);
223        self
224    }
225    /// A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a separate Availability Zone as this ensures your EML input is redundant to AZ issues.
226    pub fn set_media_connect_flows(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>>) -> Self {
227        self.media_connect_flows = input;
228        self
229    }
230    /// A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a separate Availability Zone as this ensures your EML input is redundant to AZ issues.
231    pub fn get_media_connect_flows(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>> {
232        &self.media_connect_flows
233    }
234    /// Name of the input.
235    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
236        self.name = ::std::option::Option::Some(input.into());
237        self
238    }
239    /// Name of the input.
240    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
241        self.name = input;
242        self
243    }
244    /// Name of the input.
245    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
246        &self.name
247    }
248    /// Unique identifier of the request to ensure the request is handled exactly once in case of retries.
249    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250        self.request_id = ::std::option::Option::Some(input.into());
251        self
252    }
253    /// Unique identifier of the request to ensure the request is handled exactly once in case of retries.
254    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255        self.request_id = input;
256        self
257    }
258    /// Unique identifier of the request to ensure the request is handled exactly once in case of retries.
259    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
260        &self.request_id
261    }
262    /// The Amazon Resource Name (ARN) of the role this input assumes during and after creation.
263    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
264        self.role_arn = ::std::option::Option::Some(input.into());
265        self
266    }
267    /// The Amazon Resource Name (ARN) of the role this input assumes during and after creation.
268    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
269        self.role_arn = input;
270        self
271    }
272    /// The Amazon Resource Name (ARN) of the role this input assumes during and after creation.
273    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
274        &self.role_arn
275    }
276    /// Appends an item to `sources`.
277    ///
278    /// To override the contents of this collection use [`set_sources`](Self::set_sources).
279    ///
280    /// The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty.
281    pub fn sources(mut self, input: crate::types::InputSourceRequest) -> Self {
282        let mut v = self.sources.unwrap_or_default();
283        v.push(input);
284        self.sources = ::std::option::Option::Some(v);
285        self
286    }
287    /// The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty.
288    pub fn set_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>>) -> Self {
289        self.sources = input;
290        self
291    }
292    /// The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty.
293    pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>> {
294        &self.sources
295    }
296    /// Adds a key-value pair to `tags`.
297    ///
298    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
299    ///
300    /// A collection of key-value pairs.
301    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
302        let mut hash_map = self.tags.unwrap_or_default();
303        hash_map.insert(k.into(), v.into());
304        self.tags = ::std::option::Option::Some(hash_map);
305        self
306    }
307    /// A collection of key-value pairs.
308    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
309        self.tags = input;
310        self
311    }
312    /// A collection of key-value pairs.
313    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
314        &self.tags
315    }
316    /// The different types of inputs that AWS Elemental MediaLive supports.
317    pub fn r#type(mut self, input: crate::types::InputType) -> Self {
318        self.r#type = ::std::option::Option::Some(input);
319        self
320    }
321    /// The different types of inputs that AWS Elemental MediaLive supports.
322    pub fn set_type(mut self, input: ::std::option::Option<crate::types::InputType>) -> Self {
323        self.r#type = input;
324        self
325    }
326    /// The different types of inputs that AWS Elemental MediaLive supports.
327    pub fn get_type(&self) -> &::std::option::Option<crate::types::InputType> {
328        &self.r#type
329    }
330    /// Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property.
331    pub fn vpc(mut self, input: crate::types::InputVpcRequest) -> Self {
332        self.vpc = ::std::option::Option::Some(input);
333        self
334    }
335    /// Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property.
336    pub fn set_vpc(mut self, input: ::std::option::Option<crate::types::InputVpcRequest>) -> Self {
337        self.vpc = input;
338        self
339    }
340    /// Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property.
341    pub fn get_vpc(&self) -> &::std::option::Option<crate::types::InputVpcRequest> {
342        &self.vpc
343    }
344    /// The settings associated with an SRT input.
345    pub fn srt_settings(mut self, input: crate::types::SrtSettingsRequest) -> Self {
346        self.srt_settings = ::std::option::Option::Some(input);
347        self
348    }
349    /// The settings associated with an SRT input.
350    pub fn set_srt_settings(mut self, input: ::std::option::Option<crate::types::SrtSettingsRequest>) -> Self {
351        self.srt_settings = input;
352        self
353    }
354    /// The settings associated with an SRT input.
355    pub fn get_srt_settings(&self) -> &::std::option::Option<crate::types::SrtSettingsRequest> {
356        &self.srt_settings
357    }
358    /// The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for an input in a customer network.
359    pub fn input_network_location(mut self, input: crate::types::InputNetworkLocation) -> Self {
360        self.input_network_location = ::std::option::Option::Some(input);
361        self
362    }
363    /// The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for an input in a customer network.
364    pub fn set_input_network_location(mut self, input: ::std::option::Option<crate::types::InputNetworkLocation>) -> Self {
365        self.input_network_location = input;
366        self
367    }
368    /// The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for an input in a customer network.
369    pub fn get_input_network_location(&self) -> &::std::option::Option<crate::types::InputNetworkLocation> {
370        &self.input_network_location
371    }
372    /// Multicast Input settings.
373    pub fn multicast_settings(mut self, input: crate::types::MulticastSettingsCreateRequest) -> Self {
374        self.multicast_settings = ::std::option::Option::Some(input);
375        self
376    }
377    /// Multicast Input settings.
378    pub fn set_multicast_settings(mut self, input: ::std::option::Option<crate::types::MulticastSettingsCreateRequest>) -> Self {
379        self.multicast_settings = input;
380        self
381    }
382    /// Multicast Input settings.
383    pub fn get_multicast_settings(&self) -> &::std::option::Option<crate::types::MulticastSettingsCreateRequest> {
384        &self.multicast_settings
385    }
386    /// Include this parameter if the input is a SMPTE 2110 input, to identify the stream sources for this input.
387    pub fn smpte2110_receiver_group_settings(mut self, input: crate::types::Smpte2110ReceiverGroupSettings) -> Self {
388        self.smpte2110_receiver_group_settings = ::std::option::Option::Some(input);
389        self
390    }
391    /// Include this parameter if the input is a SMPTE 2110 input, to identify the stream sources for this input.
392    pub fn set_smpte2110_receiver_group_settings(mut self, input: ::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings>) -> Self {
393        self.smpte2110_receiver_group_settings = input;
394        self
395    }
396    /// Include this parameter if the input is a SMPTE 2110 input, to identify the stream sources for this input.
397    pub fn get_smpte2110_receiver_group_settings(&self) -> &::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings> {
398        &self.smpte2110_receiver_group_settings
399    }
400    /// Appends an item to `sdi_sources`.
401    ///
402    /// To override the contents of this collection use [`set_sdi_sources`](Self::set_sdi_sources).
403    ///
404    /// SDI Sources for this Input.
405    pub fn sdi_sources(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
406        let mut v = self.sdi_sources.unwrap_or_default();
407        v.push(input.into());
408        self.sdi_sources = ::std::option::Option::Some(v);
409        self
410    }
411    /// SDI Sources for this Input.
412    pub fn set_sdi_sources(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
413        self.sdi_sources = input;
414        self
415    }
416    /// SDI Sources for this Input.
417    pub fn get_sdi_sources(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
418        &self.sdi_sources
419    }
420    /// This is the collection of settings that are used during the creation of a MediaConnect router input.
421    pub fn router_settings(mut self, input: crate::types::RouterSettings) -> Self {
422        self.router_settings = ::std::option::Option::Some(input);
423        self
424    }
425    /// This is the collection of settings that are used during the creation of a MediaConnect router input.
426    pub fn set_router_settings(mut self, input: ::std::option::Option<crate::types::RouterSettings>) -> Self {
427        self.router_settings = input;
428        self
429    }
430    /// This is the collection of settings that are used during the creation of a MediaConnect router input.
431    pub fn get_router_settings(&self) -> &::std::option::Option<crate::types::RouterSettings> {
432        &self.router_settings
433    }
434    /// Consumes the builder and constructs a [`CreateInputInput`](crate::operation::create_input::CreateInputInput).
435    pub fn build(self) -> ::std::result::Result<crate::operation::create_input::CreateInputInput, ::aws_smithy_types::error::operation::BuildError> {
436        ::std::result::Result::Ok(crate::operation::create_input::CreateInputInput {
437            destinations: self.destinations,
438            input_devices: self.input_devices,
439            input_security_groups: self.input_security_groups,
440            media_connect_flows: self.media_connect_flows,
441            name: self.name,
442            request_id: self.request_id,
443            role_arn: self.role_arn,
444            sources: self.sources,
445            tags: self.tags,
446            r#type: self.r#type,
447            vpc: self.vpc,
448            srt_settings: self.srt_settings,
449            input_network_location: self.input_network_location,
450            multicast_settings: self.multicast_settings,
451            smpte2110_receiver_group_settings: self.smpte2110_receiver_group_settings,
452            sdi_sources: self.sdi_sources,
453            router_settings: self.router_settings,
454        })
455    }
456}