// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateInput`](crate::operation::update_input::builders::UpdateInputFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`destinations(InputDestinationRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::destinations) / [`set_destinations(Option<Vec::<InputDestinationRequest>>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_destinations):<br>required: **false**<br>Destination settings for PUSH type inputs.<br>
/// - [`input_devices(InputDeviceRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::input_devices) / [`set_input_devices(Option<Vec::<InputDeviceRequest>>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_input_devices):<br>required: **false**<br>Settings for the devices.<br>
/// - [`input_id(impl Into<String>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::input_id) / [`set_input_id(Option<String>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_input_id):<br>required: **true**<br>Unique ID of the input.<br>
/// - [`input_security_groups(impl Into<String>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::input_security_groups) / [`set_input_security_groups(Option<Vec::<String>>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_input_security_groups):<br>required: **false**<br>A list of security groups referenced by IDs to attach to the input.<br>
/// - [`media_connect_flows(MediaConnectFlowRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::media_connect_flows) / [`set_media_connect_flows(Option<Vec::<MediaConnectFlowRequest>>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_media_connect_flows):<br>required: **false**<br>A list of the MediaConnect Flow ARNs that you want to use as the source of the 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.<br>
/// - [`name(impl Into<String>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_name):<br>required: **false**<br>Name of the input.<br>
/// - [`role_arn(impl Into<String>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_role_arn):<br>required: **false**<br>The Amazon Resource Name (ARN) of the role this input assumes during and after creation.<br>
/// - [`sources(InputSourceRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::sources) / [`set_sources(Option<Vec::<InputSourceRequest>>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_sources):<br>required: **false**<br>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.<br>
/// - [`srt_settings(SrtSettingsRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::srt_settings) / [`set_srt_settings(Option<SrtSettingsRequest>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_srt_settings):<br>required: **false**<br>The settings associated with an SRT input.<br>
/// - [`multicast_settings(MulticastSettingsUpdateRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::multicast_settings) / [`set_multicast_settings(Option<MulticastSettingsUpdateRequest>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_multicast_settings):<br>required: **false**<br>Multicast Input settings.<br>
/// - On success, responds with [`UpdateInputOutput`](crate::operation::update_input::UpdateInputOutput) with field(s):
/// - [`input(Option<Input>)`](crate::operation::update_input::UpdateInputOutput::input): Placeholder documentation for Input
/// - On failure, responds with [`SdkError<UpdateInputError>`](crate::operation::update_input::UpdateInputError)
pub fn update_input(&self) -> crate::operation::update_input::builders::UpdateInputFluentBuilder {
crate::operation::update_input::builders::UpdateInputFluentBuilder::new(self.handle.clone())
}
}