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: _codegen_job.rs
    path of file: ./repos/aws-sdk-rust/sdk/amplifyuibuilder/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>Describes the configuration for a code generation job that is associated with an Amplify app.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CodegenJob {
    /// <p>The unique ID for the code generation job.</p>
    pub id: ::std::string::String,
    /// <p>The ID of the Amplify app associated with the code generation job.</p>
    pub app_id: ::std::string::String,
    /// <p>The name of the backend environment associated with the code generation job.</p>
    pub environment_name: ::std::string::String,
    /// <p>Describes the configuration information for rendering the UI component associated with the code generation job.</p>
    pub render_config: ::std::option::Option<crate::types::CodegenJobRenderConfig>,
    /// <p>Describes the data schema for a code generation job.</p>
    pub generic_data_schema: ::std::option::Option<crate::types::CodegenJobGenericDataSchema>,
   
    
    pub fn build(self) -> ::std::result::Result<crate::types::CodegenJob, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::CodegenJob {
            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 CodegenJob",
                )
            })?,
            app_id: self.app_id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "app_id",
                    "app_id was not specified but it is required when building CodegenJob",
                )
            })?,
            environment_name: self.environment_name.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "environment_name",
                    "environment_name was not specified but it is required when building CodegenJob",
                )
            })?,
            render_config: self.render_config,
            generic_data_schema: self.generic_data_schema,
            auto_generate_forms: self.auto_generate_forms,
            features: self.features,
            status: self.status,
            status_message: self.status_message,
            asset: self.asset,
            tags: self.tags,
            created_at: self.created_at,
            modified_at: self.modified_at,
            dependencies: self.dependencies,
        })
    }