You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: _stream_configuration_create.rs
    path of file: ./repos/aws-sdk-rust/sdk/nimble/src/types
    
    the code of the file until where you have to start completion: // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>Configuration for streaming workstations created using this launch profile.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StreamConfigurationCreate {
    /// <p>Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client.</p>
    pub clipboard_mode: crate::types::StreamingClipboardMode,
    /// <p>The EC2 instance types that users can select from when launching a streaming session with this launch profile.</p>
    pub ec2_instance_types: ::std::vec::Vec<crate::types::StreamingInstanceType>,
    /// <p>The length of time, in minutes, that a streaming session can be active before it is stopped or terminated. After this point, Nimble Studio automatically terminates or stops the session. The default length of time is 690 minutes, and the maximum length of time is 30 days.</p>
    pub max_session_length_in_minutes: i32,
    /// <p>The streaming images that users can select from when launching a streaming session with this launch profile.</p>
    pub streaming_image_ids: ::std::vec::Vec<::std::string::String>,
    /// <p>Integer that determines if you can start and stop your sessions and 
    
    pub fn build(self) -> ::std::result::Result<crate::types::StreamConfigurationCreate, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::StreamConfigurationCreate {
            clipboard_mode: self.clipboard_mode.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "clipboard_mode",
                    "clipboard_mode was not specified but it is required when building StreamConfigurationCreate",
                )
            })?,
            ec2_instance_types: self.ec2_instance_types.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "ec2_instance_types",
                    "ec2_instance_types was not specified but it is required when building StreamConfigurationCreate",
                )
            })?,
            max_session_length_in_minutes: self.max_session_length_in_minutes.unwrap_or(690),
            streaming_image_ids: self.streaming_image_ids.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "streaming_image_ids",
                    "streaming_image_ids was not specified but it is required when building StreamConfigurationCreate",
                )
            })?,
            max_stopped_session_length_in_minutes: self.max_stopped_session_length_in_minutes.unwrap_or_default(),
            session_storage: self.session_storage,
            session_backup: self.session_backup,
            session_persistence_mode: self.session_persistence_mode,
            volume_configuration: self.volume_configuration,
            automatic_termination_mode: self.automatic_termination_mode,
        })
    }