aws-sdk-cloudwatch 1.109.1

AWS SDK for Amazon CloudWatch
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_put_metric_alarm_input_input(
    encoder: &mut ::aws_smithy_cbor::Encoder,
    #[allow(unused)] input: &crate::operation::put_metric_alarm::PutMetricAlarmInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    encoder.begin_map();
    if let Some(var_1) = &input.alarm_name {
        encoder.str("AlarmName").str(var_1.as_str());
    }
    if let Some(var_2) = &input.alarm_description {
        encoder.str("AlarmDescription").str(var_2.as_str());
    }
    if let Some(var_3) = &input.actions_enabled {
        encoder.str("ActionsEnabled").boolean(*var_3);
    }
    if let Some(var_4) = &input.ok_actions {
        encoder.str("OKActions");
        encoder.array((*var_4).len());
        for item_5 in var_4 {
            {
                encoder.str(item_5.as_str());
            }
        }
    }
    if let Some(var_6) = &input.alarm_actions {
        encoder.str("AlarmActions");
        encoder.array((*var_6).len());
        for item_7 in var_6 {
            {
                encoder.str(item_7.as_str());
            }
        }
    }
    if let Some(var_8) = &input.insufficient_data_actions {
        encoder.str("InsufficientDataActions");
        encoder.array((*var_8).len());
        for item_9 in var_8 {
            {
                encoder.str(item_9.as_str());
            }
        }
    }
    if let Some(var_10) = &input.metric_name {
        encoder.str("MetricName").str(var_10.as_str());
    }
    if let Some(var_11) = &input.namespace {
        encoder.str("Namespace").str(var_11.as_str());
    }
    if let Some(var_12) = &input.statistic {
        encoder.str("Statistic").str(var_12.as_str());
    }
    if let Some(var_13) = &input.extended_statistic {
        encoder.str("ExtendedStatistic").str(var_13.as_str());
    }
    if let Some(var_14) = &input.dimensions {
        encoder.str("Dimensions");
        encoder.array((*var_14).len());
        for item_15 in var_14 {
            {
                crate::protocol_serde::shape_dimension::ser_dimension(encoder, item_15)?;
            }
        }
    }
    if let Some(var_16) = &input.period {
        encoder.str("Period").integer(*var_16);
    }
    if let Some(var_17) = &input.unit {
        encoder.str("Unit").str(var_17.as_str());
    }
    if let Some(var_18) = &input.evaluation_periods {
        encoder.str("EvaluationPeriods").integer(*var_18);
    }
    if let Some(var_19) = &input.datapoints_to_alarm {
        encoder.str("DatapointsToAlarm").integer(*var_19);
    }
    if let Some(var_20) = &input.threshold {
        encoder.str("Threshold").double(*var_20);
    }
    if let Some(var_21) = &input.comparison_operator {
        encoder.str("ComparisonOperator").str(var_21.as_str());
    }
    if let Some(var_22) = &input.treat_missing_data {
        encoder.str("TreatMissingData").str(var_22.as_str());
    }
    if let Some(var_23) = &input.evaluate_low_sample_count_percentile {
        encoder.str("EvaluateLowSampleCountPercentile").str(var_23.as_str());
    }
    if let Some(var_24) = &input.metrics {
        encoder.str("Metrics");
        encoder.array((*var_24).len());
        for item_25 in var_24 {
            {
                crate::protocol_serde::shape_metric_data_query::ser_metric_data_query(encoder, item_25)?;
            }
        }
    }
    if let Some(var_26) = &input.tags {
        encoder.str("Tags");
        encoder.array((*var_26).len());
        for item_27 in var_26 {
            {
                crate::protocol_serde::shape_tag::ser_tag(encoder, item_27)?;
            }
        }
    }
    if let Some(var_28) = &input.threshold_metric_id {
        encoder.str("ThresholdMetricId").str(var_28.as_str());
    }
    if let Some(var_29) = &input.evaluation_criteria {
        encoder.str("EvaluationCriteria");
        crate::protocol_serde::shape_evaluation_criteria::ser_evaluation_criteria(encoder, var_29)?;
    }
    if let Some(var_30) = &input.evaluation_interval {
        encoder.str("EvaluationInterval").integer(*var_30);
    }
    encoder.end();
    Ok(())
}