aws-sdk-sagemakermetrics 0.2.0

AWS SDK for Amazon SageMaker Metrics Service
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn serialize_structure_crate_input_batch_put_metrics_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::BatchPutMetricsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_1) = &input.metric_data {
        let mut array_2 = object.key("MetricData").start_array();
        for item_3 in var_1 {
            {
                #[allow(unused_mut)]
                let mut object_4 = array_2.value().start_object();
                crate::json_ser::serialize_structure_crate_model_raw_metric_data(
                    &mut object_4,
                    item_3,
                )?;
                object_4.finish();
            }
        }
        array_2.finish();
    }
    if let Some(var_5) = &input.trial_component_name {
        object.key("TrialComponentName").string(var_5.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_model_raw_metric_data(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::RawMetricData,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_6) = &input.metric_name {
        object.key("MetricName").string(var_6.as_str());
    }
    if let Some(var_7) = &input.timestamp {
        object
            .key("Timestamp")
            .date_time(var_7, aws_smithy_types::date_time::Format::EpochSeconds)?;
    }
    if let Some(var_8) = &input.step {
        object.key("Step").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_8).into()),
        );
    }
    {
        object.key("Value").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::Float((input.value).into()),
        );
    }
    Ok(())
}