aws-sdk-paymentcryptography 1.106.0

AWS SDK for Payment Cryptography Control Plane
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
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(())
}