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: _component_child.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>A nested UI configuration within a parent <code>Component</code>.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ComponentChild {
    /// <p>The type of the child component.</p>
    pub component_type: ::std::string::String,
    /// <p>The name of the child component.</p>
    pub name: ::std::string::String,
    /// <p>Describes the properties of the child component. You can't specify <code>tags</code> as a valid property for <code>properties</code>.</p>
    pub properties: ::std::collections::HashMap<::std::string::String, crate::types::ComponentProperty>,
    /// <p>The list of <code>ComponentChild</code> instances for this component.</p>
    pub children: ::std::option::Option<::std::vec::Vec<crate::types::ComponentChild>>,
    /// <p>Describes the events that can be raised 
    
    pub fn build(self) -> ::std::result::Result<crate::types::ComponentChild, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::ComponentChild {
            component_type: self.component_type.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "component_type",
                    "component_type was not specified but it is required when building ComponentChild",
                )
            })?,
            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 ComponentChild",
                )
            })?,
            properties: self.properties.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "properties",
                    "properties was not specified but it is required when building ComponentChild",
                )
            })?,
            children: self.children,
            events: self.events,
            source_id: self.source_id,
        })
    }