pub fn ser_export_tr34_key_block(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::ExportTr34KeyBlock,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
{
object
.key("CertificateAuthorityPublicKeyIdentifier")
.string(input.certificate_authority_public_key_identifier.as_str());
}
{
object.key("WrappingKeyCertificate").string(input.wrapping_key_certificate.as_str());
}
{
object.key("ExportToken").string(input.export_token.as_str());
}
if let Some(var_1) = &input.signing_key_identifier {
object.key("SigningKeyIdentifier").string(var_1.as_str());
}
if let Some(var_2) = &input.signing_key_certificate {
object.key("SigningKeyCertificate").string(var_2.as_str());
}
{
object.key("KeyBlockFormat").string(input.key_block_format.as_str());
}
if let Some(var_3) = &input.random_nonce {
object.key("RandomNonce").string(var_3.as_str());
}
if let Some(var_4) = &input.key_block_headers {
#[allow(unused_mut)]
let mut object_5 = object.key("KeyBlockHeaders").start_object();
crate::protocol_serde::shape_key_block_headers::ser_key_block_headers(&mut object_5, var_4)?;
object_5.finish();
}
Ok(())
}