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}
40impl CreateInputInput {
41 pub fn destinations(&self) -> &[crate::types::InputDestinationRequest] {
45 self.destinations.as_deref().unwrap_or_default()
46 }
47 pub fn input_devices(&self) -> &[crate::types::InputDeviceSettings] {
51 self.input_devices.as_deref().unwrap_or_default()
52 }
53 pub fn input_security_groups(&self) -> &[::std::string::String] {
57 self.input_security_groups.as_deref().unwrap_or_default()
58 }
59 pub fn media_connect_flows(&self) -> &[crate::types::MediaConnectFlowRequest] {
63 self.media_connect_flows.as_deref().unwrap_or_default()
64 }
65 pub fn name(&self) -> ::std::option::Option<&str> {
67 self.name.as_deref()
68 }
69 pub fn request_id(&self) -> ::std::option::Option<&str> {
71 self.request_id.as_deref()
72 }
73 pub fn role_arn(&self) -> ::std::option::Option<&str> {
75 self.role_arn.as_deref()
76 }
77 pub fn sources(&self) -> &[crate::types::InputSourceRequest] {
81 self.sources.as_deref().unwrap_or_default()
82 }
83 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
85 self.tags.as_ref()
86 }
87 pub fn r#type(&self) -> ::std::option::Option<&crate::types::InputType> {
89 self.r#type.as_ref()
90 }
91 pub fn vpc(&self) -> ::std::option::Option<&crate::types::InputVpcRequest> {
93 self.vpc.as_ref()
94 }
95 pub fn srt_settings(&self) -> ::std::option::Option<&crate::types::SrtSettingsRequest> {
97 self.srt_settings.as_ref()
98 }
99 pub fn input_network_location(&self) -> ::std::option::Option<&crate::types::InputNetworkLocation> {
101 self.input_network_location.as_ref()
102 }
103 pub fn multicast_settings(&self) -> ::std::option::Option<&crate::types::MulticastSettingsCreateRequest> {
105 self.multicast_settings.as_ref()
106 }
107 pub fn smpte2110_receiver_group_settings(&self) -> ::std::option::Option<&crate::types::Smpte2110ReceiverGroupSettings> {
109 self.smpte2110_receiver_group_settings.as_ref()
110 }
111 pub fn sdi_sources(&self) -> &[::std::string::String] {
115 self.sdi_sources.as_deref().unwrap_or_default()
116 }
117}
118impl CreateInputInput {
119 pub fn builder() -> crate::operation::create_input::builders::CreateInputInputBuilder {
121 crate::operation::create_input::builders::CreateInputInputBuilder::default()
122 }
123}
124
125#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
127#[non_exhaustive]
128pub struct CreateInputInputBuilder {
129 pub(crate) destinations: ::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>>,
130 pub(crate) input_devices: ::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>>,
131 pub(crate) input_security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
132 pub(crate) media_connect_flows: ::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>>,
133 pub(crate) name: ::std::option::Option<::std::string::String>,
134 pub(crate) request_id: ::std::option::Option<::std::string::String>,
135 pub(crate) role_arn: ::std::option::Option<::std::string::String>,
136 pub(crate) sources: ::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>>,
137 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
138 pub(crate) r#type: ::std::option::Option<crate::types::InputType>,
139 pub(crate) vpc: ::std::option::Option<crate::types::InputVpcRequest>,
140 pub(crate) srt_settings: ::std::option::Option<crate::types::SrtSettingsRequest>,
141 pub(crate) input_network_location: ::std::option::Option<crate::types::InputNetworkLocation>,
142 pub(crate) multicast_settings: ::std::option::Option<crate::types::MulticastSettingsCreateRequest>,
143 pub(crate) smpte2110_receiver_group_settings: ::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings>,
144 pub(crate) sdi_sources: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
145}
146impl CreateInputInputBuilder {
147 pub fn destinations(mut self, input: crate::types::InputDestinationRequest) -> Self {
153 let mut v = self.destinations.unwrap_or_default();
154 v.push(input);
155 self.destinations = ::std::option::Option::Some(v);
156 self
157 }
158 pub fn set_destinations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>>) -> Self {
160 self.destinations = input;
161 self
162 }
163 pub fn get_destinations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputDestinationRequest>> {
165 &self.destinations
166 }
167 pub fn input_devices(mut self, input: crate::types::InputDeviceSettings) -> Self {
173 let mut v = self.input_devices.unwrap_or_default();
174 v.push(input);
175 self.input_devices = ::std::option::Option::Some(v);
176 self
177 }
178 pub fn set_input_devices(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>>) -> Self {
180 self.input_devices = input;
181 self
182 }
183 pub fn get_input_devices(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputDeviceSettings>> {
185 &self.input_devices
186 }
187 pub fn input_security_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
193 let mut v = self.input_security_groups.unwrap_or_default();
194 v.push(input.into());
195 self.input_security_groups = ::std::option::Option::Some(v);
196 self
197 }
198 pub fn set_input_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
200 self.input_security_groups = input;
201 self
202 }
203 pub fn get_input_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
205 &self.input_security_groups
206 }
207 pub fn media_connect_flows(mut self, input: crate::types::MediaConnectFlowRequest) -> Self {
213 let mut v = self.media_connect_flows.unwrap_or_default();
214 v.push(input);
215 self.media_connect_flows = ::std::option::Option::Some(v);
216 self
217 }
218 pub fn set_media_connect_flows(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>>) -> Self {
220 self.media_connect_flows = input;
221 self
222 }
223 pub fn get_media_connect_flows(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::MediaConnectFlowRequest>> {
225 &self.media_connect_flows
226 }
227 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
229 self.name = ::std::option::Option::Some(input.into());
230 self
231 }
232 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
234 self.name = input;
235 self
236 }
237 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
239 &self.name
240 }
241 pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
243 self.request_id = ::std::option::Option::Some(input.into());
244 self
245 }
246 pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
248 self.request_id = input;
249 self
250 }
251 pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
253 &self.request_id
254 }
255 pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
257 self.role_arn = ::std::option::Option::Some(input.into());
258 self
259 }
260 pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
262 self.role_arn = input;
263 self
264 }
265 pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
267 &self.role_arn
268 }
269 pub fn sources(mut self, input: crate::types::InputSourceRequest) -> Self {
275 let mut v = self.sources.unwrap_or_default();
276 v.push(input);
277 self.sources = ::std::option::Option::Some(v);
278 self
279 }
280 pub fn set_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>>) -> Self {
282 self.sources = input;
283 self
284 }
285 pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputSourceRequest>> {
287 &self.sources
288 }
289 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
295 let mut hash_map = self.tags.unwrap_or_default();
296 hash_map.insert(k.into(), v.into());
297 self.tags = ::std::option::Option::Some(hash_map);
298 self
299 }
300 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
302 self.tags = input;
303 self
304 }
305 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
307 &self.tags
308 }
309 pub fn r#type(mut self, input: crate::types::InputType) -> Self {
311 self.r#type = ::std::option::Option::Some(input);
312 self
313 }
314 pub fn set_type(mut self, input: ::std::option::Option<crate::types::InputType>) -> Self {
316 self.r#type = input;
317 self
318 }
319 pub fn get_type(&self) -> &::std::option::Option<crate::types::InputType> {
321 &self.r#type
322 }
323 pub fn vpc(mut self, input: crate::types::InputVpcRequest) -> Self {
325 self.vpc = ::std::option::Option::Some(input);
326 self
327 }
328 pub fn set_vpc(mut self, input: ::std::option::Option<crate::types::InputVpcRequest>) -> Self {
330 self.vpc = input;
331 self
332 }
333 pub fn get_vpc(&self) -> &::std::option::Option<crate::types::InputVpcRequest> {
335 &self.vpc
336 }
337 pub fn srt_settings(mut self, input: crate::types::SrtSettingsRequest) -> Self {
339 self.srt_settings = ::std::option::Option::Some(input);
340 self
341 }
342 pub fn set_srt_settings(mut self, input: ::std::option::Option<crate::types::SrtSettingsRequest>) -> Self {
344 self.srt_settings = input;
345 self
346 }
347 pub fn get_srt_settings(&self) -> &::std::option::Option<crate::types::SrtSettingsRequest> {
349 &self.srt_settings
350 }
351 pub fn input_network_location(mut self, input: crate::types::InputNetworkLocation) -> Self {
353 self.input_network_location = ::std::option::Option::Some(input);
354 self
355 }
356 pub fn set_input_network_location(mut self, input: ::std::option::Option<crate::types::InputNetworkLocation>) -> Self {
358 self.input_network_location = input;
359 self
360 }
361 pub fn get_input_network_location(&self) -> &::std::option::Option<crate::types::InputNetworkLocation> {
363 &self.input_network_location
364 }
365 pub fn multicast_settings(mut self, input: crate::types::MulticastSettingsCreateRequest) -> Self {
367 self.multicast_settings = ::std::option::Option::Some(input);
368 self
369 }
370 pub fn set_multicast_settings(mut self, input: ::std::option::Option<crate::types::MulticastSettingsCreateRequest>) -> Self {
372 self.multicast_settings = input;
373 self
374 }
375 pub fn get_multicast_settings(&self) -> &::std::option::Option<crate::types::MulticastSettingsCreateRequest> {
377 &self.multicast_settings
378 }
379 pub fn smpte2110_receiver_group_settings(mut self, input: crate::types::Smpte2110ReceiverGroupSettings) -> Self {
381 self.smpte2110_receiver_group_settings = ::std::option::Option::Some(input);
382 self
383 }
384 pub fn set_smpte2110_receiver_group_settings(mut self, input: ::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings>) -> Self {
386 self.smpte2110_receiver_group_settings = input;
387 self
388 }
389 pub fn get_smpte2110_receiver_group_settings(&self) -> &::std::option::Option<crate::types::Smpte2110ReceiverGroupSettings> {
391 &self.smpte2110_receiver_group_settings
392 }
393 pub fn sdi_sources(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
399 let mut v = self.sdi_sources.unwrap_or_default();
400 v.push(input.into());
401 self.sdi_sources = ::std::option::Option::Some(v);
402 self
403 }
404 pub fn set_sdi_sources(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
406 self.sdi_sources = input;
407 self
408 }
409 pub fn get_sdi_sources(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
411 &self.sdi_sources
412 }
413 pub fn build(self) -> ::std::result::Result<crate::operation::create_input::CreateInputInput, ::aws_smithy_types::error::operation::BuildError> {
415 ::std::result::Result::Ok(crate::operation::create_input::CreateInputInput {
416 destinations: self.destinations,
417 input_devices: self.input_devices,
418 input_security_groups: self.input_security_groups,
419 media_connect_flows: self.media_connect_flows,
420 name: self.name,
421 request_id: self.request_id,
422 role_arn: self.role_arn,
423 sources: self.sources,
424 tags: self.tags,
425 r#type: self.r#type,
426 vpc: self.vpc,
427 srt_settings: self.srt_settings,
428 input_network_location: self.input_network_location,
429 multicast_settings: self.multicast_settings,
430 smpte2110_receiver_group_settings: self.smpte2110_receiver_group_settings,
431 sdi_sources: self.sdi_sources,
432 })
433 }
434}