#[allow(unused_mut)]
pub fn ser_metric_datum(
mut writer: ::aws_smithy_query::QueryValueWriter,
input: &crate::types::MetricDatum,
) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> {
#[allow(unused_mut)]
let mut scope_1 = writer.prefix("MetricName");
if let Some(var_2) = &input.metric_name {
scope_1.string(var_2);
}
#[allow(unused_mut)]
let mut scope_3 = writer.prefix("Dimensions");
if let Some(var_4) = &input.dimensions {
let mut list_6 = scope_3.start_list(false, None);
for item_5 in var_4 {
#[allow(unused_mut)]
let mut entry_7 = list_6.entry();
crate::protocol_serde::shape_dimension::ser_dimension(entry_7, item_5)?;
}
list_6.finish();
}
#[allow(unused_mut)]
let mut scope_8 = writer.prefix("Timestamp");
if let Some(var_9) = &input.timestamp {
scope_8.date_time(var_9, ::aws_smithy_types::date_time::Format::DateTime)?;
}
#[allow(unused_mut)]
let mut scope_10 = writer.prefix("Value");
if let Some(var_11) = &input.value {
scope_10.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::Float((*var_11).into()),
);
}
#[allow(unused_mut)]
let mut scope_12 = writer.prefix("StatisticValues");
if let Some(var_13) = &input.statistic_values {
crate::protocol_serde::shape_statistic_set::ser_statistic_set(scope_12, var_13)?;
}
#[allow(unused_mut)]
let mut scope_14 = writer.prefix("Values");
if let Some(var_15) = &input.values {
let mut list_17 = scope_14.start_list(false, None);
for item_16 in var_15 {
#[allow(unused_mut)]
let mut entry_18 = list_17.entry();
entry_18.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::Float((*item_16).into()),
);
}
list_17.finish();
}
#[allow(unused_mut)]
let mut scope_19 = writer.prefix("Counts");
if let Some(var_20) = &input.counts {
let mut list_22 = scope_19.start_list(false, None);
for item_21 in var_20 {
#[allow(unused_mut)]
let mut entry_23 = list_22.entry();
entry_23.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::Float((*item_21).into()),
);
}
list_22.finish();
}
#[allow(unused_mut)]
let mut scope_24 = writer.prefix("Unit");
if let Some(var_25) = &input.unit {
scope_24.string(var_25.as_str());
}
#[allow(unused_mut)]
let mut scope_26 = writer.prefix("StorageResolution");
if let Some(var_27) = &input.storage_resolution {
scope_26.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_27).into()),
);
}
Ok(())
}