pub fn ser_create_control_mapping_source(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::CreateControlMappingSource,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.source_name {
object.key("sourceName").string(var_1.as_str());
}
if let Some(var_2) = &input.source_description {
object.key("sourceDescription").string(var_2.as_str());
}
if let Some(var_3) = &input.source_set_up_option {
object.key("sourceSetUpOption").string(var_3.as_str());
}
if let Some(var_4) = &input.source_type {
object.key("sourceType").string(var_4.as_str());
}
if let Some(var_5) = &input.source_keyword {
#[allow(unused_mut)]
let mut object_6 = object.key("sourceKeyword").start_object();
crate::protocol_serde::shape_source_keyword::ser_source_keyword(&mut object_6, var_5)?;
object_6.finish();
}
if let Some(var_7) = &input.source_frequency {
object.key("sourceFrequency").string(var_7.as_str());
}
if let Some(var_8) = &input.troubleshooting_text {
object.key("troubleshootingText").string(var_8.as_str());
}
Ok(())
}