aws_sdk_medialive/operation/create_input/
_create_input_input.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateInputInput {
7 pub destinations: ::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>>,
9 pub input_devices: ::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>>,
11 pub input_security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
13 pub media_connect_flows: ::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>>,
15 pub name: ::std::option::Option<::std::string::String>,
17 pub request_id: ::std::option::Option<::std::string::String>,
19 pub role_arn: ::std::option::Option<::std::string::String>,
21 pub sources: ::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>>,
23 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
25 pub r#type: ::std::option::Option<crate::types::InputType>,
27 pub vpc: ::std::option::Option<crate::types::InputVpcRequest>,
29 pub srt_settings: ::std::option::Option<crate::types::SrtSettingsRequest>,
31 pub input_network_location: ::std::option::Option<crate::types::InputNetworkLocation>,
33 pub multicast_settings: ::std::option::Option<crate::types::MulticastSettingsCreateRequest>,
35 pub smpte2110_receiver_group_settings: ::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings>,
37 pub sdi_sources: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
39 pub router_settings: ::std::option::Option<crate::types::RouterSettings>,
41}
42impl CreateInputInput {
43 pub fn destinations(&self) -> &[crate::types::InputDestinationRequest] {
47 self.destinations.as_deref().unwrap_or_default()
48 }
49 pub fn input_devices(&self) -> &[crate::types::InputDeviceSettings] {
53 self.input_devices.as_deref().unwrap_or_default()
54 }
55 pub fn input_security_groups(&self) -> &[::std::string::String] {
59 self.input_security_groups.as_deref().unwrap_or_default()
60 }
61 pub fn media_connect_flows(&self) -> &[crate::types::MediaConnectFlowRequest] {
65 self.media_connect_flows.as_deref().unwrap_or_default()
66 }
67 pub fn name(&self) -> ::std::option::Option<&str> {
69 self.name.as_deref()
70 }
71 pub fn request_id(&self) -> ::std::option::Option<&str> {
73 self.request_id.as_deref()
74 }
75 pub fn role_arn(&self) -> ::std::option::Option<&str> {
77 self.role_arn.as_deref()
78 }
79 pub fn sources(&self) -> &[crate::types::InputSourceRequest] {
83 self.sources.as_deref().unwrap_or_default()
84 }
85 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
87 self.tags.as_ref()
88 }
89 pub fn r#type(&self) -> ::std::option::Option<&crate::types::InputType> {
91 self.r#type.as_ref()
92 }
93 pub fn vpc(&self) -> ::std::option::Option<&crate::types::InputVpcRequest> {
95 self.vpc.as_ref()
96 }
97 pub fn srt_settings(&self) -> ::std::option::Option<&crate::types::SrtSettingsRequest> {
99 self.srt_settings.as_ref()
100 }
101 pub fn input_network_location(&self) -> ::std::option::Option<&crate::types::InputNetworkLocation> {
103 self.input_network_location.as_ref()
104 }
105 pub fn multicast_settings(&self) -> ::std::option::Option<&crate::types::MulticastSettingsCreateRequest> {
107 self.multicast_settings.as_ref()
108 }
109 pub fn smpte2110_receiver_group_settings(&self) -> ::std::option::Option<&crate::types::Smpte2110ReceiverGroupSettings> {
111 self.smpte2110_receiver_group_settings.as_ref()
112 }
113 pub fn sdi_sources(&self) -> &[::std::string::String] {
117 self.sdi_sources.as_deref().unwrap_or_default()
118 }
119 pub fn router_settings(&self) -> ::std::option::Option<&crate::types::RouterSettings> {
121 self.router_settings.as_ref()
122 }
123}
124impl CreateInputInput {
125 pub fn builder() -> crate::operation::create_input::builders::CreateInputInputBuilder {
127 crate::operation::create_input::builders::CreateInputInputBuilder::default()
128 }
129}
130
131#[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 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 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 pub fn get_destinations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>> {
172 &self.destinations
173 }
174 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 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 pub fn get_input_devices(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>> {
192 &self.input_devices
193 }
194 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 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 pub fn get_input_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
212 &self.input_security_groups
213 }
214 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 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 pub fn get_media_connect_flows(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>> {
232 &self.media_connect_flows
233 }
234 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 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
241 self.name = input;
242 self
243 }
244 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
246 &self.name
247 }
248 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 pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255 self.request_id = input;
256 self
257 }
258 pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
260 &self.request_id
261 }
262 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 pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
269 self.role_arn = input;
270 self
271 }
272 pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
274 &self.role_arn
275 }
276 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 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 pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>> {
294 &self.sources
295 }
296 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 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 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
314 &self.tags
315 }
316 pub fn r#type(mut self, input: crate::types::InputType) -> Self {
318 self.r#type = ::std::option::Option::Some(input);
319 self
320 }
321 pub fn set_type(mut self, input: ::std::option::Option<crate::types::InputType>) -> Self {
323 self.r#type = input;
324 self
325 }
326 pub fn get_type(&self) -> &::std::option::Option<crate::types::InputType> {
328 &self.r#type
329 }
330 pub fn vpc(mut self, input: crate::types::InputVpcRequest) -> Self {
332 self.vpc = ::std::option::Option::Some(input);
333 self
334 }
335 pub fn set_vpc(mut self, input: ::std::option::Option<crate::types::InputVpcRequest>) -> Self {
337 self.vpc = input;
338 self
339 }
340 pub fn get_vpc(&self) -> &::std::option::Option<crate::types::InputVpcRequest> {
342 &self.vpc
343 }
344 pub fn srt_settings(mut self, input: crate::types::SrtSettingsRequest) -> Self {
346 self.srt_settings = ::std::option::Option::Some(input);
347 self
348 }
349 pub fn set_srt_settings(mut self, input: ::std::option::Option<crate::types::SrtSettingsRequest>) -> Self {
351 self.srt_settings = input;
352 self
353 }
354 pub fn get_srt_settings(&self) -> &::std::option::Option<crate::types::SrtSettingsRequest> {
356 &self.srt_settings
357 }
358 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 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 pub fn get_input_network_location(&self) -> &::std::option::Option<crate::types::InputNetworkLocation> {
370 &self.input_network_location
371 }
372 pub fn multicast_settings(mut self, input: crate::types::MulticastSettingsCreateRequest) -> Self {
374 self.multicast_settings = ::std::option::Option::Some(input);
375 self
376 }
377 pub fn set_multicast_settings(mut self, input: ::std::option::Option<crate::types::MulticastSettingsCreateRequest>) -> Self {
379 self.multicast_settings = input;
380 self
381 }
382 pub fn get_multicast_settings(&self) -> &::std::option::Option<crate::types::MulticastSettingsCreateRequest> {
384 &self.multicast_settings
385 }
386 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 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 pub fn get_smpte2110_receiver_group_settings(&self) -> &::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings> {
398 &self.smpte2110_receiver_group_settings
399 }
400 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 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 pub fn get_sdi_sources(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
418 &self.sdi_sources
419 }
420 pub fn router_settings(mut self, input: crate::types::RouterSettings) -> Self {
422 self.router_settings = ::std::option::Option::Some(input);
423 self
424 }
425 pub fn set_router_settings(mut self, input: ::std::option::Option<crate::types::RouterSettings>) -> Self {
427 self.router_settings = input;
428 self
429 }
430 pub fn get_router_settings(&self) -> &::std::option::Option<crate::types::RouterSettings> {
432 &self.router_settings
433 }
434 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}