pub fn ser_push_notification_template_request(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::PushNotificationTemplateRequest,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.adm {
#[allow(unused_mut)]
let mut object_2 = object.key("ADM").start_object();
crate::protocol_serde::shape_android_push_notification_template::ser_android_push_notification_template(&mut object_2, var_1)?;
object_2.finish();
}
if let Some(var_3) = &input.apns {
#[allow(unused_mut)]
let mut object_4 = object.key("APNS").start_object();
crate::protocol_serde::shape_apns_push_notification_template::ser_apns_push_notification_template(&mut object_4, var_3)?;
object_4.finish();
}
if let Some(var_5) = &input.baidu {
#[allow(unused_mut)]
let mut object_6 = object.key("Baidu").start_object();
crate::protocol_serde::shape_android_push_notification_template::ser_android_push_notification_template(&mut object_6, var_5)?;
object_6.finish();
}
if let Some(var_7) = &input.default_value {
#[allow(unused_mut)]
let mut object_8 = object.key("Default").start_object();
crate::protocol_serde::shape_default_push_notification_template::ser_default_push_notification_template(&mut object_8, var_7)?;
object_8.finish();
}
if let Some(var_9) = &input.default_substitutions {
object.key("DefaultSubstitutions").string(var_9.as_str());
}
if let Some(var_10) = &input.gcm {
#[allow(unused_mut)]
let mut object_11 = object.key("GCM").start_object();
crate::protocol_serde::shape_android_push_notification_template::ser_android_push_notification_template(&mut object_11, var_10)?;
object_11.finish();
}
if let Some(var_12) = &input.recommender_id {
object.key("RecommenderId").string(var_12.as_str());
}
if let Some(var_13) = &input.tags {
#[allow(unused_mut)]
let mut object_14 = object.key("tags").start_object();
for (key_15, value_16) in var_13 {
{
object_14.key(key_15.as_str()).string(value_16.as_str());
}
}
object_14.finish();
}
if let Some(var_17) = &input.template_description {
object.key("TemplateDescription").string(var_17.as_str());
}
Ok(())
}