pub fn ser_update_metric_attribution_input_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::update_metric_attribution::UpdateMetricAttributionInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.add_metrics {
let mut array_2 = object.key("addMetrics").start_array();
for item_3 in var_1 {
{
#[allow(unused_mut)]
let mut object_4 = array_2.value().start_object();
crate::protocol_serde::shape_metric_attribute::ser_metric_attribute(&mut object_4, item_3)?;
object_4.finish();
}
}
array_2.finish();
}
if let Some(var_5) = &input.remove_metrics {
let mut array_6 = object.key("removeMetrics").start_array();
for item_7 in var_5 {
{
array_6.value().string(item_7.as_str());
}
}
array_6.finish();
}
if let Some(var_8) = &input.metrics_output_config {
#[allow(unused_mut)]
let mut object_9 = object.key("metricsOutputConfig").start_object();
crate::protocol_serde::shape_metric_attribution_output::ser_metric_attribution_output(&mut object_9, var_8)?;
object_9.finish();
}
if let Some(var_10) = &input.metric_attribution_arn {
object.key("metricAttributionArn").string(var_10.as_str());
}
Ok(())
}