// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_tool_specification(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::types::ToolSpecification,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    {
        object.key("name").string(input.name.as_str());
    }
    if let Some(var_1) = &input.description {
        object.key("description").string(var_1.as_str());
    }
    if let Some(var_2) = &input.input_schema {
        #[allow(unused_mut)]
        let mut object_3 = object.key("inputSchema").start_object();
        crate::protocol_serde::shape_tool_input_schema::ser_tool_input_schema(&mut object_3, var_2)?;
        object_3.finish();
    }
    if let Some(var_4) = &input.strict {
        object.key("strict").boolean(*var_4);
    }
    Ok(())
}
