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(())
}