aws-sdk-medialive 0.26.0

AWS SDK for AWS Elemental MediaLive
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateInput`](crate::operation::create_input::builders::CreateInputFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`destinations(Vec<InputDestinationRequest>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::destinations) / [`set_destinations(Option<Vec<InputDestinationRequest>>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_destinations): Destination settings for PUSH type inputs.
    ///   - [`input_devices(Vec<InputDeviceSettings>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::input_devices) / [`set_input_devices(Option<Vec<InputDeviceSettings>>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_input_devices): Settings for the devices.
    ///   - [`input_security_groups(Vec<String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::input_security_groups) / [`set_input_security_groups(Option<Vec<String>>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_input_security_groups): A list of security groups referenced by IDs to attach to the input.
    ///   - [`media_connect_flows(Vec<MediaConnectFlowRequest>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::media_connect_flows) / [`set_media_connect_flows(Option<Vec<MediaConnectFlowRequest>>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_media_connect_flows): 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.
    ///   - [`name(impl Into<String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_name): Name of the input.
    ///   - [`request_id(impl Into<String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::request_id) / [`set_request_id(Option<String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_request_id): Unique identifier of the request to ensure the request is handled exactly once in case of retries.
    ///   - [`role_arn(impl Into<String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_role_arn): The Amazon Resource Name (ARN) of the role this input assumes during and after creation.
    ///   - [`sources(Vec<InputSourceRequest>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::sources) / [`set_sources(Option<Vec<InputSourceRequest>>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_sources): 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.
    ///   - [`tags(HashMap<String, String>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::tags) / [`set_tags(Option<HashMap<String, String>>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_tags): A collection of key-value pairs.
    ///   - [`r#type(InputType)`](crate::operation::create_input::builders::CreateInputFluentBuilder::type) / [`set_type(Option<InputType>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_type): The different types of inputs that AWS Elemental MediaLive supports.
    ///   - [`vpc(InputVpcRequest)`](crate::operation::create_input::builders::CreateInputFluentBuilder::vpc) / [`set_vpc(Option<InputVpcRequest>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_vpc): 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.
    /// - On success, responds with [`CreateInputOutput`](crate::operation::create_input::CreateInputOutput) with field(s):
    ///   - [`input(Option<Input>)`](crate::operation::create_input::CreateInputOutput::input): Placeholder documentation for Input
    /// - On failure, responds with [`SdkError<CreateInputError>`](crate::operation::create_input::CreateInputError)
    pub fn create_input(
        &self,
    ) -> crate::operation::create_input::builders::CreateInputFluentBuilder {
        crate::operation::create_input::builders::CreateInputFluentBuilder::new(self.handle.clone())
    }
}