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_create_association_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::create_association::CreateAssociationInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.name {
        object.key("Name").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.instance_id {
        object.key("InstanceId").string(var_3.as_str());
    }
    if let Some(var_4) = &input.parameters {
        #[allow(unused_mut)]
        let mut object_5 = object.key("Parameters").start_object();
        for (key_6, value_7) in var_4 {
            {
                let mut array_8 = object_5.key(key_6.as_str()).start_array();
                for item_9 in value_7 {
                    {
                        array_8.value().string(item_9.as_str());
                    }
                }
                array_8.finish();
            }
        }
        object_5.finish();
    }
    if let Some(var_10) = &input.targets {
        let mut array_11 = object.key("Targets").start_array();
        for item_12 in var_10 {
            {
                #[allow(unused_mut)]
                let mut object_13 = array_11.value().start_object();
                crate::protocol_serde::shape_target::ser_target(&mut object_13, item_12)?;
                object_13.finish();
            }
        }
        array_11.finish();
    }
    if let Some(var_14) = &input.schedule_expression {
        object.key("ScheduleExpression").string(var_14.as_str());
    }
    if let Some(var_15) = &input.output_location {
        #[allow(unused_mut)]
        let mut object_16 = object.key("OutputLocation").start_object();
        crate::protocol_serde::shape_instance_association_output_location::ser_instance_association_output_location(&mut object_16, var_15)?;
        object_16.finish();
    }
    if let Some(var_17) = &input.association_name {
        object.key("AssociationName").string(var_17.as_str());
    }
    if let Some(var_18) = &input.automation_target_parameter_name {
        object.key("AutomationTargetParameterName").string(var_18.as_str());
    }
    if let Some(var_19) = &input.max_errors {
        object.key("MaxErrors").string(var_19.as_str());
    }
    if let Some(var_20) = &input.max_concurrency {
        object.key("MaxConcurrency").string(var_20.as_str());
    }
    if let Some(var_21) = &input.compliance_severity {
        object.key("ComplianceSeverity").string(var_21.as_str());
    }
    if let Some(var_22) = &input.sync_compliance {
        object.key("SyncCompliance").string(var_22.as_str());
    }
    if let Some(var_23) = &input.apply_only_at_cron_interval {
        object.key("ApplyOnlyAtCronInterval").boolean(*var_23);
    }
    if let Some(var_24) = &input.calendar_names {
        let mut array_25 = object.key("CalendarNames").start_array();
        for item_26 in var_24 {
            {
                array_25.value().string(item_26.as_str());
            }
        }
        array_25.finish();
    }
    if let Some(var_27) = &input.target_locations {
        let mut array_28 = object.key("TargetLocations").start_array();
        for item_29 in var_27 {
            {
                #[allow(unused_mut)]
                let mut object_30 = array_28.value().start_object();
                crate::protocol_serde::shape_target_location::ser_target_location(&mut object_30, item_29)?;
                object_30.finish();
            }
        }
        array_28.finish();
    }
    if let Some(var_31) = &input.schedule_offset {
        object.key("ScheduleOffset").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_31).into()),
        );
    }
    if let Some(var_32) = &input.duration {
        object.key("Duration").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_32).into()),
        );
    }
    if let Some(var_33) = &input.target_maps {
        let mut array_34 = object.key("TargetMaps").start_array();
        for item_35 in var_33 {
            {
                #[allow(unused_mut)]
                let mut object_36 = array_34.value().start_object();
                for (key_37, value_38) in item_35 {
                    {
                        let mut array_39 = object_36.key(key_37.as_str()).start_array();
                        for item_40 in value_38 {
                            {
                                array_39.value().string(item_40.as_str());
                            }
                        }
                        array_39.finish();
                    }
                }
                object_36.finish();
            }
        }
        array_34.finish();
    }
    if let Some(var_41) = &input.tags {
        let mut array_42 = object.key("Tags").start_array();
        for item_43 in var_41 {
            {
                #[allow(unused_mut)]
                let mut object_44 = array_42.value().start_object();
                crate::protocol_serde::shape_tag::ser_tag(&mut object_44, item_43)?;
                object_44.finish();
            }
        }
        array_42.finish();
    }
    if let Some(var_45) = &input.alarm_configuration {
        #[allow(unused_mut)]
        let mut object_46 = object.key("AlarmConfiguration").start_object();
        crate::protocol_serde::shape_alarm_configuration::ser_alarm_configuration(&mut object_46, var_45)?;
        object_46.finish();
    }
    if let Some(var_47) = &input.association_dispatch_assume_role {
        object.key("AssociationDispatchAssumeRole").string(var_47.as_str());
    }
    Ok(())
}