pub fn ser_start_copy_job_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::start_copy_job::StartCopyJobInput,
) -> Result<(), ::aws_smithy_http::operation::error::SerializationError> {
if let Some(var_1) = &input.destination_backup_vault_arn {
object.key("DestinationBackupVaultArn").string(var_1.as_str());
}
if let Some(var_2) = &input.iam_role_arn {
object.key("IamRoleArn").string(var_2.as_str());
}
if let Some(var_3) = &input.idempotency_token {
object.key("IdempotencyToken").string(var_3.as_str());
}
if let Some(var_4) = &input.lifecycle {
#[allow(unused_mut)]
let mut object_5 = object.key("Lifecycle").start_object();
crate::protocol_serde::shape_lifecycle::ser_lifecycle(&mut object_5, var_4)?;
object_5.finish();
}
if let Some(var_6) = &input.recovery_point_arn {
object.key("RecoveryPointArn").string(var_6.as_str());
}
if let Some(var_7) = &input.source_backup_vault_name {
object.key("SourceBackupVaultName").string(var_7.as_str());
}
Ok(())
}