pub fn ser_apns_message(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::ApnsMessage,
) -> Result<(), ::aws_smithy_http::operation::error::SerializationError> {
if let Some(var_1) = &input.apns_push_type {
object.key("APNSPushType").string(var_1.as_str());
}
if let Some(var_2) = &input.action {
object.key("Action").string(var_2.as_str());
}
if let Some(var_3) = &input.badge {
object.key("Badge").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_3).into()),
);
}
if let Some(var_4) = &input.body {
object.key("Body").string(var_4.as_str());
}
if let Some(var_5) = &input.category {
object.key("Category").string(var_5.as_str());
}
if let Some(var_6) = &input.collapse_id {
object.key("CollapseId").string(var_6.as_str());
}
if let Some(var_7) = &input.data {
#[allow(unused_mut)]
let mut object_8 = object.key("Data").start_object();
for (key_9, value_10) in var_7 {
{
object_8.key(key_9.as_str()).string(value_10.as_str());
}
}
object_8.finish();
}
if let Some(var_11) = &input.media_url {
object.key("MediaUrl").string(var_11.as_str());
}
if let Some(var_12) = &input.preferred_authentication_method {
object.key("PreferredAuthenticationMethod").string(var_12.as_str());
}
if let Some(var_13) = &input.priority {
object.key("Priority").string(var_13.as_str());
}
if let Some(var_14) = &input.raw_content {
object.key("RawContent").string(var_14.as_str());
}
if let Some(var_15) = &input.silent_push {
object.key("SilentPush").boolean(*var_15);
}
if let Some(var_16) = &input.sound {
object.key("Sound").string(var_16.as_str());
}
if let Some(var_17) = &input.substitutions {
#[allow(unused_mut)]
let mut object_18 = object.key("Substitutions").start_object();
for (key_19, value_20) in var_17 {
{
let mut array_21 = object_18.key(key_19.as_str()).start_array();
for item_22 in value_20 {
{
array_21.value().string(item_22.as_str());
}
}
array_21.finish();
}
}
object_18.finish();
}
if let Some(var_23) = &input.thread_id {
object.key("ThreadId").string(var_23.as_str());
}
if let Some(var_24) = &input.time_to_live {
object.key("TimeToLive").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_24).into()),
);
}
if let Some(var_25) = &input.title {
object.key("Title").string(var_25.as_str());
}
if let Some(var_26) = &input.url {
object.key("Url").string(var_26.as_str());
}
Ok(())
}