pub fn ser_visa_attributes(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::VisaAttributes,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
{
object.key("MajorKeyDerivationMode").string(input.major_key_derivation_mode.as_str());
}
{
object.key("PrimaryAccountNumber").string(input.primary_account_number.as_str());
}
{
object.key("PanSequenceNumber").string(input.pan_sequence_number.as_str());
}
{
object
.key("ApplicationTransactionCounter")
.string(input.application_transaction_counter.as_str());
}
{
object
.key("AuthorizationRequestKeyIdentifier")
.string(input.authorization_request_key_identifier.as_str());
}
if let Some(var_1) = &input.current_pin_attributes {
#[allow(unused_mut)]
let mut object_2 = object.key("CurrentPinAttributes").start_object();
crate::protocol_serde::shape_current_pin_attributes::ser_current_pin_attributes(&mut object_2, var_1)?;
object_2.finish();
}
Ok(())
}