aws-sdk-emr 1.121.0

AWS SDK for Amazon EMR
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_run_job_flow_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::run_job_flow::RunJobFlowInput,
) -> ::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.log_uri {
        object.key("LogUri").string(var_2.as_str());
    }
    if let Some(var_3) = &input.log_encryption_kms_key_id {
        object.key("LogEncryptionKmsKeyId").string(var_3.as_str());
    }
    if let Some(var_4) = &input.additional_info {
        object.key("AdditionalInfo").string(var_4.as_str());
    }
    if let Some(var_5) = &input.ami_version {
        object.key("AmiVersion").string(var_5.as_str());
    }
    if let Some(var_6) = &input.release_label {
        object.key("ReleaseLabel").string(var_6.as_str());
    }
    if let Some(var_7) = &input.instances {
        #[allow(unused_mut)]
        let mut object_8 = object.key("Instances").start_object();
        crate::protocol_serde::shape_job_flow_instances_config::ser_job_flow_instances_config(&mut object_8, var_7)?;
        object_8.finish();
    }
    if let Some(var_9) = &input.steps {
        let mut array_10 = object.key("Steps").start_array();
        for item_11 in var_9 {
            {
                #[allow(unused_mut)]
                let mut object_12 = array_10.value().start_object();
                crate::protocol_serde::shape_step_config::ser_step_config(&mut object_12, item_11)?;
                object_12.finish();
            }
        }
        array_10.finish();
    }
    if let Some(var_13) = &input.step_execution_role_arn {
        object.key("StepExecutionRoleArn").string(var_13.as_str());
    }
    if let Some(var_14) = &input.bootstrap_actions {
        let mut array_15 = object.key("BootstrapActions").start_array();
        for item_16 in var_14 {
            {
                #[allow(unused_mut)]
                let mut object_17 = array_15.value().start_object();
                crate::protocol_serde::shape_bootstrap_action_config::ser_bootstrap_action_config(&mut object_17, item_16)?;
                object_17.finish();
            }
        }
        array_15.finish();
    }
    if let Some(var_18) = &input.supported_products {
        let mut array_19 = object.key("SupportedProducts").start_array();
        for item_20 in var_18 {
            {
                array_19.value().string(item_20.as_str());
            }
        }
        array_19.finish();
    }
    if let Some(var_21) = &input.new_supported_products {
        let mut array_22 = object.key("NewSupportedProducts").start_array();
        for item_23 in var_21 {
            {
                #[allow(unused_mut)]
                let mut object_24 = array_22.value().start_object();
                crate::protocol_serde::shape_supported_product_config::ser_supported_product_config(&mut object_24, item_23)?;
                object_24.finish();
            }
        }
        array_22.finish();
    }
    if let Some(var_25) = &input.applications {
        let mut array_26 = object.key("Applications").start_array();
        for item_27 in var_25 {
            {
                #[allow(unused_mut)]
                let mut object_28 = array_26.value().start_object();
                crate::protocol_serde::shape_application::ser_application(&mut object_28, item_27)?;
                object_28.finish();
            }
        }
        array_26.finish();
    }
    if let Some(var_29) = &input.configurations {
        let mut array_30 = object.key("Configurations").start_array();
        for item_31 in var_29 {
            {
                #[allow(unused_mut)]
                let mut object_32 = array_30.value().start_object();
                crate::protocol_serde::shape_configuration::ser_configuration(&mut object_32, item_31)?;
                object_32.finish();
            }
        }
        array_30.finish();
    }
    if let Some(var_33) = &input.visible_to_all_users {
        object.key("VisibleToAllUsers").boolean(*var_33);
    }
    if let Some(var_34) = &input.job_flow_role {
        object.key("JobFlowRole").string(var_34.as_str());
    }
    if let Some(var_35) = &input.service_role {
        object.key("ServiceRole").string(var_35.as_str());
    }
    if let Some(var_36) = &input.tags {
        let mut array_37 = object.key("Tags").start_array();
        for item_38 in var_36 {
            {
                #[allow(unused_mut)]
                let mut object_39 = array_37.value().start_object();
                crate::protocol_serde::shape_tag::ser_tag(&mut object_39, item_38)?;
                object_39.finish();
            }
        }
        array_37.finish();
    }
    if let Some(var_40) = &input.security_configuration {
        object.key("SecurityConfiguration").string(var_40.as_str());
    }
    if let Some(var_41) = &input.auto_scaling_role {
        object.key("AutoScalingRole").string(var_41.as_str());
    }
    if let Some(var_42) = &input.scale_down_behavior {
        object.key("ScaleDownBehavior").string(var_42.as_str());
    }
    if let Some(var_43) = &input.custom_ami_id {
        object.key("CustomAmiId").string(var_43.as_str());
    }
    if let Some(var_44) = &input.ebs_root_volume_size {
        object.key("EbsRootVolumeSize").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_44).into()),
        );
    }
    if let Some(var_45) = &input.repo_upgrade_on_boot {
        object.key("RepoUpgradeOnBoot").string(var_45.as_str());
    }
    if let Some(var_46) = &input.kerberos_attributes {
        #[allow(unused_mut)]
        let mut object_47 = object.key("KerberosAttributes").start_object();
        crate::protocol_serde::shape_kerberos_attributes::ser_kerberos_attributes(&mut object_47, var_46)?;
        object_47.finish();
    }
    if let Some(var_48) = &input.step_concurrency_level {
        object.key("StepConcurrencyLevel").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_48).into()),
        );
    }
    if let Some(var_49) = &input.managed_scaling_policy {
        #[allow(unused_mut)]
        let mut object_50 = object.key("ManagedScalingPolicy").start_object();
        crate::protocol_serde::shape_managed_scaling_policy::ser_managed_scaling_policy(&mut object_50, var_49)?;
        object_50.finish();
    }
    if let Some(var_51) = &input.placement_group_configs {
        let mut array_52 = object.key("PlacementGroupConfigs").start_array();
        for item_53 in var_51 {
            {
                #[allow(unused_mut)]
                let mut object_54 = array_52.value().start_object();
                crate::protocol_serde::shape_placement_group_config::ser_placement_group_config(&mut object_54, item_53)?;
                object_54.finish();
            }
        }
        array_52.finish();
    }
    if let Some(var_55) = &input.auto_termination_policy {
        #[allow(unused_mut)]
        let mut object_56 = object.key("AutoTerminationPolicy").start_object();
        crate::protocol_serde::shape_auto_termination_policy::ser_auto_termination_policy(&mut object_56, var_55)?;
        object_56.finish();
    }
    if let Some(var_57) = &input.os_release_label {
        object.key("OSReleaseLabel").string(var_57.as_str());
    }
    if let Some(var_58) = &input.ebs_root_volume_iops {
        object.key("EbsRootVolumeIops").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_58).into()),
        );
    }
    if let Some(var_59) = &input.ebs_root_volume_throughput {
        object.key("EbsRootVolumeThroughput").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_59).into()),
        );
    }
    if let Some(var_60) = &input.extended_support {
        object.key("ExtendedSupport").boolean(*var_60);
    }
    if let Some(var_61) = &input.monitoring_configuration {
        #[allow(unused_mut)]
        let mut object_62 = object.key("MonitoringConfiguration").start_object();
        crate::protocol_serde::shape_monitoring_configuration::ser_monitoring_configuration(&mut object_62, var_61)?;
        object_62.finish();
    }
    if let Some(var_63) = &input.session_enabled {
        object.key("SessionEnabled").boolean(*var_63);
    }
    Ok(())
}