aws-sdk-ssm 1.112.0

AWS SDK for Amazon Simple Systems Manager (SSM)
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_start_automation_execution_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::start_automation_execution::StartAutomationExecutionInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.document_name {
        object.key("DocumentName").string(var_1.as_str());
    }
    if let Some(var_2) = &input.document_version {
        object.key("DocumentVersion").string(var_2.as_str());
    }
    if let Some(var_3) = &input.parameters {
        #[allow(unused_mut)]
        let mut object_4 = object.key("Parameters").start_object();
        for (key_5, value_6) in var_3 {
            {
                let mut array_7 = object_4.key(key_5.as_str()).start_array();
                for item_8 in value_6 {
                    {
                        array_7.value().string(item_8.as_str());
                    }
                }
                array_7.finish();
            }
        }
        object_4.finish();
    }
    if let Some(var_9) = &input.client_token {
        object.key("ClientToken").string(var_9.as_str());
    }
    if let Some(var_10) = &input.mode {
        object.key("Mode").string(var_10.as_str());
    }
    if let Some(var_11) = &input.target_parameter_name {
        object.key("TargetParameterName").string(var_11.as_str());
    }
    if let Some(var_12) = &input.targets {
        let mut array_13 = object.key("Targets").start_array();
        for item_14 in var_12 {
            {
                #[allow(unused_mut)]
                let mut object_15 = array_13.value().start_object();
                crate::protocol_serde::shape_target::ser_target(&mut object_15, item_14)?;
                object_15.finish();
            }
        }
        array_13.finish();
    }
    if let Some(var_16) = &input.target_maps {
        let mut array_17 = object.key("TargetMaps").start_array();
        for item_18 in var_16 {
            {
                #[allow(unused_mut)]
                let mut object_19 = array_17.value().start_object();
                for (key_20, value_21) in item_18 {
                    {
                        let mut array_22 = object_19.key(key_20.as_str()).start_array();
                        for item_23 in value_21 {
                            {
                                array_22.value().string(item_23.as_str());
                            }
                        }
                        array_22.finish();
                    }
                }
                object_19.finish();
            }
        }
        array_17.finish();
    }
    if let Some(var_24) = &input.max_concurrency {
        object.key("MaxConcurrency").string(var_24.as_str());
    }
    if let Some(var_25) = &input.max_errors {
        object.key("MaxErrors").string(var_25.as_str());
    }
    if let Some(var_26) = &input.target_locations {
        let mut array_27 = object.key("TargetLocations").start_array();
        for item_28 in var_26 {
            {
                #[allow(unused_mut)]
                let mut object_29 = array_27.value().start_object();
                crate::protocol_serde::shape_target_location::ser_target_location(&mut object_29, item_28)?;
                object_29.finish();
            }
        }
        array_27.finish();
    }
    if let Some(var_30) = &input.tags {
        let mut array_31 = object.key("Tags").start_array();
        for item_32 in var_30 {
            {
                #[allow(unused_mut)]
                let mut object_33 = array_31.value().start_object();
                crate::protocol_serde::shape_tag::ser_tag(&mut object_33, item_32)?;
                object_33.finish();
            }
        }
        array_31.finish();
    }
    if let Some(var_34) = &input.alarm_configuration {
        #[allow(unused_mut)]
        let mut object_35 = object.key("AlarmConfiguration").start_object();
        crate::protocol_serde::shape_alarm_configuration::ser_alarm_configuration(&mut object_35, var_34)?;
        object_35.finish();
    }
    if let Some(var_36) = &input.target_locations_url {
        object.key("TargetLocationsURL").string(var_36.as_str());
    }
    Ok(())
}