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: _mail_from_attributes.rs
    path of file: ./repos/aws-sdk-rust/sdk/pinpointemail/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 list of attributes that are associated with a MAIL FROM domain.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct MailFromAttributes {
    /// <p>The name of a domain that an email identity uses as a custom MAIL FROM domain.</p>
    pub mail_from_domain: ::std::string::String,
    /// <p>The status of the MAIL FROM domain. This status can have the following values:</p>
    /// <ul>
    /// <li>
    /// <p><code>PENDING</code> – Amazon Pinpoint hasn't started searching for the MX record yet.</p></li>
    /// <li>
    /// <p><code>SUCCESS</code> – Amazon Pinpoint detected the required MX record for the MAIL FROM domain.</p></li>
    /// <li>
    /// <p><code>FAILED</code> – Amazon Pinpoint can't find the required MX record, or 
    
    pub fn build(self) -> ::std::result::Result<crate::types::MailFromAttributes, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::MailFromAttributes {
            mail_from_domain: self.mail_from_domain.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "mail_from_domain",
                    "mail_from_domain was not specified but it is required when building MailFromAttributes",
                )
            })?,
            mail_from_domain_status: self.mail_from_domain_status.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "mail_from_domain_status",
                    "mail_from_domain_status was not specified but it is required when building MailFromAttributes",
                )
            })?,
            behavior_on_mx_failure: self.behavior_on_mx_failure.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "behavior_on_mx_failure",
                    "behavior_on_mx_failure was not specified but it is required when building MailFromAttributes",
                )
            })?,
        })
    }