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: _export_dukpt_initial_key.rs
    path of file: ./repos/aws-sdk-rust/sdk/paymentcryptography/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>Parameter information for IPEK generation during export.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ExportDukptInitialKey {
    /// <p>The KSN for IPEK generation using DUKPT.</p>
    /// <p>KSN must be padded before sending to Amazon Web Services Payment Cryptography. KSN hex length should be 20 for a TDES_2KEY key or 24 for an AES key.</p>
    pub key_serial_
    
    pub fn build(self) -> ::std::result::Result<crate::types::ExportDukptInitialKey, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::ExportDukptInitialKey {
            key_serial_number: self.key_serial_number.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "key_serial_number",
                    "key_serial_number was not specified but it is required when building ExportDukptInitialKey",
                )
            })?,
        })
    }