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: _streaming_distribution_summary.rs
    path of file: ./repos/aws-sdk-rust/sdk/cloudfront/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>A summary of the information for a CloudFront streaming distribution.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StreamingDistributionSummary {
    /// <p>The identifier for the distribution, for example, <code>EDFDVBD632BHDS5</code>.</p>
    pub id: ::std::string::String,
    /// <p>The ARN (Amazon Resource Name) for the streaming distribution. For example: <code>arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5</code>, where <code>123456789012</code> is your Amazon Web Services account ID.</p>
    pub arn: ::std::string::String,
    /// <p>Indicates the current status of the distribution. When the status is <code>Deployed</code>, the distribution's information is fully propagated throughout the Amazon CloudFront system.</p>
    pub status: ::std::string::String,
    /// <p>The date and time the distribution was last modified.</p>
    pub last_modified_time: ::aws_smithy_types::DateTime,
    /// <p>The domain name corresponding to the distribution, for example, <code>d111111abcdef8.cloudfront.net</code>.</p>
    pub domain_name: ::std::string::String,
    /// <p>A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.</p>
    pub s3_origin: ::std::option::Option<crate::types::S3Origin>,
    /// <p>A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.</
    
    pub fn build(self) -> ::std::result::Result<crate::types::StreamingDistributionSummary, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::StreamingDistributionSummary {
            id: self.id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "id",
                    "id was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
            arn: self.arn.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "arn",
                    "arn was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
            status: self.status.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "status",
                    "status was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
            last_modified_time: self.last_modified_time.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "last_modified_time",
                    "last_modified_time was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
            domain_name: self.domain_name.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "domain_name",
                    "domain_name was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
            s3_origin: self.s3_origin,
            aliases: self.aliases,
            trusted_signers: self.trusted_signers,
            comment: self.comment.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "comment",
                    "comment was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
            price_class: self.price_class.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "price_class",
                    "price_class was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
            enabled: self.enabled.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "enabled",
                    "enabled was not specified but it is required when building StreamingDistributionSummary",
                )
            })?,
        })
    }