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: _knowledge_base_data.rs
    path of file: ./repos/aws-sdk-rust/sdk/qconnect/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>Information about the knowledge base.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct KnowledgeBaseData {
    /// <p>The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Amazon Q Content resource to it.</p>
    pub knowledge_base_id: ::std::string::String,
    /// <p>The Amazon Resource Name (ARN) of the knowledge base.</p>
    pub knowledge_base_arn: ::std::string::String,
    /// <p>The name of the knowledge base.</p>
    pub name: ::std::string::String,
    /// <p>The type of knowledge base.</p>
    pub knowledge_base_type: crate::types::KnowledgeBaseType,
    /// <p>The status of the knowledge base.</p>
    pub status: crate::types::KnowledgeBaseStatus,
    /// <p>An epoch timestamp indicating the most 
    
    pub fn build(self) -> ::std::result::Result<crate::types::KnowledgeBaseData, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::KnowledgeBaseData {
            knowledge_base_id: self.knowledge_base_id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "knowledge_base_id",
                    "knowledge_base_id was not specified but it is required when building KnowledgeBaseData",
                )
            })?,
            knowledge_base_arn: self.knowledge_base_arn.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "knowledge_base_arn",
                    "knowledge_base_arn was not specified but it is required when building KnowledgeBaseData",
                )
            })?,
            name: self.name.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "name",
                    "name was not specified but it is required when building KnowledgeBaseData",
                )
            })?,
            knowledge_base_type: self.knowledge_base_type.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "knowledge_base_type",
                    "knowledge_base_type was not specified but it is required when building KnowledgeBaseData",
                )
            })?,
            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 KnowledgeBaseData",
                )
            })?,
            last_content_modification_time: self.last_content_modification_time,
            source_configuration: self.source_configuration,
            rendering_configuration: self.rendering_configuration,
            server_side_encryption_configuration: self.server_side_encryption_configuration,
            description: self.description,
            tags: self.tags,
        })
    }