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: _data_encryption_metadata.rs
    path of file: ./repos/aws-sdk-rust/sdk/cleanrooms/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>The settings for client-side encryption for cryptographic computing.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DataEncryptionMetadata {
    /// <p>Indicates whether encrypted tables can contain cleartext data (<code>TRUE</code>) or are to cryptographically process every column (<code>FALSE</code>).</p>
    pub allow_cleartext: bool,
    /// <p>Indicates whether Fingerprint columns can contain duplicate entries (<code>TRUE</code>) or are to contain only non-repeated values (<code>FALSE</code>).</p>
    pub allow_duplicates: bool,
    /// <p>Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name (<code>TRUE</code>) or can only be joined on Fingerprint columns of the same name (<code>FALSE</code>).</p>
    pub allow_joins_on_columns_with_different_names: bool,
    /// <p>Indicates whether NULL values are to be copied as NULL to encrypted tables (<code>TRUE</code>) or cryptographically processed (<code>FALSE</code>).</p>
    pub preserve_nulls: bool,
}
impl DataEncryptionMetadata {
    /// <p>Indicates whether encrypted tables can contain cleartext data (<code>TRUE</code>) or are to cryptographically process eve
    
    pub fn build(self) -> ::std::result::Result<crate::types::DataEncryptionMetadata, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::DataEncryptionMetadata {
            allow_cleartext: self.allow_cleartext.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "allow_cleartext",
                    "allow_cleartext was not specified but it is required when building DataEncryptionMetadata",
                )
            })?,
            allow_duplicates: self.allow_duplicates.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "allow_duplicates",
                    "allow_duplicates was not specified but it is required when building DataEncryptionMetadata",
                )
            })?,
            allow_joins_on_columns_with_different_names: self.allow_joins_on_columns_with_different_names.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "allow_joins_on_columns_with_different_names",
                    "allow_joins_on_columns_with_different_names was not specified but it is required when building DataEncryptionMetadata",
                )
            })?,
            preserve_nulls: self.preserve_nulls.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "preserve_nulls",
                    "preserve_nulls was not specified but it is required when building DataEncryptionMetadata",
                )
            })?,
        })
    }