pub fn ser_source_configuration(
object_51: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::SourceConfiguration,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
match input {
crate::types::SourceConfiguration::DatabaseClone(inner) => {
#[allow(unused_mut)]
let mut object_1 = object_51.key("databaseClone").start_object();
crate::protocol_serde::shape_database_clone_configuration::ser_database_clone_configuration(&mut object_1, inner)?;
object_1.finish();
}
crate::types::SourceConfiguration::RestoreFromBackup(inner) => {
#[allow(unused_mut)]
let mut object_2 = object_51.key("restoreFromBackup").start_object();
crate::protocol_serde::shape_restore_from_backup_configuration::ser_restore_from_backup_configuration(&mut object_2, inner)?;
object_2.finish();
}
crate::types::SourceConfiguration::PointInTimeRestore(inner) => {
#[allow(unused_mut)]
let mut object_3 = object_51.key("pointInTimeRestore").start_object();
crate::protocol_serde::shape_point_in_time_restore_configuration::ser_point_in_time_restore_configuration(&mut object_3, inner)?;
object_3.finish();
}
crate::types::SourceConfiguration::CrossRegionDataGuard(inner) => {
#[allow(unused_mut)]
let mut object_4 = object_51.key("crossRegionDataGuard").start_object();
crate::protocol_serde::shape_cross_region_data_guard_configuration::ser_cross_region_data_guard_configuration(&mut object_4, inner)?;
object_4.finish();
}
crate::types::SourceConfiguration::CrossRegionDisasterRecovery(inner) => {
#[allow(unused_mut)]
let mut object_5 = object_51.key("crossRegionDisasterRecovery").start_object();
crate::protocol_serde::shape_cross_region_disaster_recovery_configuration::ser_cross_region_disaster_recovery_configuration(
&mut object_5,
inner,
)?;
object_5.finish();
}
crate::types::SourceConfiguration::CloneToRefreshable(inner) => {
#[allow(unused_mut)]
let mut object_6 = object_51.key("cloneToRefreshable").start_object();
crate::protocol_serde::shape_clone_to_refreshable_configuration::ser_clone_to_refreshable_configuration(&mut object_6, inner)?;
object_6.finish();
}
crate::types::SourceConfiguration::Unknown => {
return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant(
"SourceConfiguration",
))
}
}
Ok(())
}