pub fn ser_generate_mac_emv_pin_change_input_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::generate_mac_emv_pin_change::GenerateMacEmvPinChangeInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.derivation_method_attributes {
#[allow(unused_mut)]
let mut object_2 = object.key("DerivationMethodAttributes").start_object();
crate::protocol_serde::shape_derivation_method_attributes::ser_derivation_method_attributes(&mut object_2, var_1)?;
object_2.finish();
}
if let Some(var_3) = &input.message_data {
object.key("MessageData").string(var_3.as_str());
}
if let Some(var_4) = &input.new_encrypted_pin_block {
object.key("NewEncryptedPinBlock").string(var_4.as_str());
}
if let Some(var_5) = &input.new_pin_pek_identifier {
object.key("NewPinPekIdentifier").string(var_5.as_str());
}
if let Some(var_6) = &input.pin_block_format {
object.key("PinBlockFormat").string(var_6.as_str());
}
if let Some(var_7) = &input.secure_messaging_confidentiality_key_identifier {
object.key("SecureMessagingConfidentialityKeyIdentifier").string(var_7.as_str());
}
if let Some(var_8) = &input.secure_messaging_integrity_key_identifier {
object.key("SecureMessagingIntegrityKeyIdentifier").string(var_8.as_str());
}
Ok(())
}