pub fn ser_export_key_material(
object_2: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::ExportKeyMaterial,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
match input {
crate::types::ExportKeyMaterial::Tr31KeyBlock(inner) => {
#[allow(unused_mut)]
let mut object_1 = object_2.key("Tr31KeyBlock").start_object();
crate::protocol_serde::shape_export_tr31_key_block::ser_export_tr31_key_block(&mut object_1, inner)?;
object_1.finish();
}
crate::types::ExportKeyMaterial::Tr34KeyBlock(inner) => {
#[allow(unused_mut)]
let mut object_2 = object_2.key("Tr34KeyBlock").start_object();
crate::protocol_serde::shape_export_tr34_key_block::ser_export_tr34_key_block(&mut object_2, inner)?;
object_2.finish();
}
crate::types::ExportKeyMaterial::KeyCryptogram(inner) => {
#[allow(unused_mut)]
let mut object_3 = object_2.key("KeyCryptogram").start_object();
crate::protocol_serde::shape_export_key_cryptogram::ser_export_key_cryptogram(&mut object_3, inner)?;
object_3.finish();
}
crate::types::ExportKeyMaterial::DiffieHellmanTr31KeyBlock(inner) => {
#[allow(unused_mut)]
let mut object_4 = object_2.key("DiffieHellmanTr31KeyBlock").start_object();
crate::protocol_serde::shape_export_diffie_hellman_tr31_key_block::ser_export_diffie_hellman_tr31_key_block(&mut object_4, inner)?;
object_4.finish();
}
crate::types::ExportKeyMaterial::As2805KeyCryptogram(inner) => {
#[allow(unused_mut)]
let mut object_5 = object_2.key("As2805KeyCryptogram").start_object();
crate::protocol_serde::shape_export_as2805_key_cryptogram::ser_export_as2805_key_cryptogram(&mut object_5, inner)?;
object_5.finish();
}
crate::types::ExportKeyMaterial::Unknown => {
return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant(
"ExportKeyMaterial",
))
}
}
Ok(())
}