aws-sdk-devicefarm 0.24.0

AWS SDK for AWS Device Farm
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn serialize_structure_crate_input_create_device_pool_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateDevicePoolInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_1) = &input.project_arn {
        object.key("projectArn").string(var_1.as_str());
    }
    if let Some(var_2) = &input.name {
        object.key("name").string(var_2.as_str());
    }
    if let Some(var_3) = &input.description {
        object.key("description").string(var_3.as_str());
    }
    if let Some(var_4) = &input.rules {
        let mut array_5 = object.key("rules").start_array();
        for item_6 in var_4 {
            {
                #[allow(unused_mut)]
                let mut object_7 = array_5.value().start_object();
                crate::json_ser::serialize_structure_crate_model_rule(&mut object_7, item_6)?;
                object_7.finish();
            }
        }
        array_5.finish();
    }
    if let Some(var_8) = &input.max_devices {
        object.key("maxDevices").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_8).into()),
        );
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_instance_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateInstanceProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_9) = &input.name {
        object.key("name").string(var_9.as_str());
    }
    if let Some(var_10) = &input.description {
        object.key("description").string(var_10.as_str());
    }
    if let Some(var_11) = &input.package_cleanup {
        object.key("packageCleanup").boolean(*var_11);
    }
    if let Some(var_12) = &input.exclude_app_packages_from_cleanup {
        let mut array_13 = object.key("excludeAppPackagesFromCleanup").start_array();
        for item_14 in var_12 {
            {
                array_13.value().string(item_14.as_str());
            }
        }
        array_13.finish();
    }
    if let Some(var_15) = &input.reboot_after_use {
        object.key("rebootAfterUse").boolean(*var_15);
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_network_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateNetworkProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_16) = &input.project_arn {
        object.key("projectArn").string(var_16.as_str());
    }
    if let Some(var_17) = &input.name {
        object.key("name").string(var_17.as_str());
    }
    if let Some(var_18) = &input.description {
        object.key("description").string(var_18.as_str());
    }
    if let Some(var_19) = &input.r#type {
        object.key("type").string(var_19.as_str());
    }
    if let Some(var_20) = &input.uplink_bandwidth_bits {
        object.key("uplinkBandwidthBits").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_20).into()),
        );
    }
    if let Some(var_21) = &input.downlink_bandwidth_bits {
        object.key("downlinkBandwidthBits").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_21).into()),
        );
    }
    if let Some(var_22) = &input.uplink_delay_ms {
        object.key("uplinkDelayMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_22).into()),
        );
    }
    if let Some(var_23) = &input.downlink_delay_ms {
        object.key("downlinkDelayMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_23).into()),
        );
    }
    if let Some(var_24) = &input.uplink_jitter_ms {
        object.key("uplinkJitterMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_24).into()),
        );
    }
    if let Some(var_25) = &input.downlink_jitter_ms {
        object.key("downlinkJitterMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_25).into()),
        );
    }
    if input.uplink_loss_percent != 0 {
        object.key("uplinkLossPercent").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((input.uplink_loss_percent).into()),
        );
    }
    if input.downlink_loss_percent != 0 {
        object.key("downlinkLossPercent").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((input.downlink_loss_percent).into()),
        );
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_26) = &input.name {
        object.key("name").string(var_26.as_str());
    }
    if let Some(var_27) = &input.default_job_timeout_minutes {
        object.key("defaultJobTimeoutMinutes").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_27).into()),
        );
    }
    if let Some(var_28) = &input.vpc_config {
        #[allow(unused_mut)]
        let mut object_29 = object.key("vpcConfig").start_object();
        crate::json_ser::serialize_structure_crate_model_vpc_config(&mut object_29, var_28)?;
        object_29.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_remote_access_session_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateRemoteAccessSessionInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_30) = &input.project_arn {
        object.key("projectArn").string(var_30.as_str());
    }
    if let Some(var_31) = &input.device_arn {
        object.key("deviceArn").string(var_31.as_str());
    }
    if let Some(var_32) = &input.instance_arn {
        object.key("instanceArn").string(var_32.as_str());
    }
    if let Some(var_33) = &input.ssh_public_key {
        object.key("sshPublicKey").string(var_33.as_str());
    }
    if let Some(var_34) = &input.remote_debug_enabled {
        object.key("remoteDebugEnabled").boolean(*var_34);
    }
    if let Some(var_35) = &input.remote_record_enabled {
        object.key("remoteRecordEnabled").boolean(*var_35);
    }
    if let Some(var_36) = &input.remote_record_app_arn {
        object.key("remoteRecordAppArn").string(var_36.as_str());
    }
    if let Some(var_37) = &input.name {
        object.key("name").string(var_37.as_str());
    }
    if let Some(var_38) = &input.client_id {
        object.key("clientId").string(var_38.as_str());
    }
    if let Some(var_39) = &input.configuration {
        #[allow(unused_mut)]
        let mut object_40 = object.key("configuration").start_object();
        crate::json_ser::serialize_structure_crate_model_create_remote_access_session_configuration(&mut object_40, var_39)?;
        object_40.finish();
    }
    if let Some(var_41) = &input.interaction_mode {
        object.key("interactionMode").string(var_41.as_str());
    }
    if let Some(var_42) = &input.skip_app_resign {
        object.key("skipAppResign").boolean(*var_42);
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_test_grid_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateTestGridProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_43) = &input.name {
        object.key("name").string(var_43.as_str());
    }
    if let Some(var_44) = &input.description {
        object.key("description").string(var_44.as_str());
    }
    if let Some(var_45) = &input.vpc_config {
        #[allow(unused_mut)]
        let mut object_46 = object.key("vpcConfig").start_object();
        crate::json_ser::serialize_structure_crate_model_test_grid_vpc_config(
            &mut object_46,
            var_45,
        )?;
        object_46.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_test_grid_url_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateTestGridUrlInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_47) = &input.project_arn {
        object.key("projectArn").string(var_47.as_str());
    }
    if let Some(var_48) = &input.expires_in_seconds {
        object.key("expiresInSeconds").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_48).into()),
        );
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_upload_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateUploadInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_49) = &input.project_arn {
        object.key("projectArn").string(var_49.as_str());
    }
    if let Some(var_50) = &input.name {
        object.key("name").string(var_50.as_str());
    }
    if let Some(var_51) = &input.r#type {
        object.key("type").string(var_51.as_str());
    }
    if let Some(var_52) = &input.content_type {
        object.key("contentType").string(var_52.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_create_vpce_configuration_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::CreateVpceConfigurationInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_53) = &input.vpce_configuration_name {
        object.key("vpceConfigurationName").string(var_53.as_str());
    }
    if let Some(var_54) = &input.vpce_service_name {
        object.key("vpceServiceName").string(var_54.as_str());
    }
    if let Some(var_55) = &input.service_dns_name {
        object.key("serviceDnsName").string(var_55.as_str());
    }
    if let Some(var_56) = &input.vpce_configuration_description {
        object
            .key("vpceConfigurationDescription")
            .string(var_56.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_device_pool_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteDevicePoolInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_57) = &input.arn {
        object.key("arn").string(var_57.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_instance_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteInstanceProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_58) = &input.arn {
        object.key("arn").string(var_58.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_network_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteNetworkProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_59) = &input.arn {
        object.key("arn").string(var_59.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_60) = &input.arn {
        object.key("arn").string(var_60.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_remote_access_session_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteRemoteAccessSessionInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_61) = &input.arn {
        object.key("arn").string(var_61.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_run_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteRunInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_62) = &input.arn {
        object.key("arn").string(var_62.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_test_grid_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteTestGridProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_63) = &input.project_arn {
        object.key("projectArn").string(var_63.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_upload_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteUploadInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_64) = &input.arn {
        object.key("arn").string(var_64.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_delete_vpce_configuration_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DeleteVpceConfigurationInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_65) = &input.arn {
        object.key("arn").string(var_65.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_device_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetDeviceInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_66) = &input.arn {
        object.key("arn").string(var_66.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_device_instance_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetDeviceInstanceInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_67) = &input.arn {
        object.key("arn").string(var_67.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_device_pool_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetDevicePoolInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_68) = &input.arn {
        object.key("arn").string(var_68.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_device_pool_compatibility_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetDevicePoolCompatibilityInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_69) = &input.device_pool_arn {
        object.key("devicePoolArn").string(var_69.as_str());
    }
    if let Some(var_70) = &input.app_arn {
        object.key("appArn").string(var_70.as_str());
    }
    if let Some(var_71) = &input.test_type {
        object.key("testType").string(var_71.as_str());
    }
    if let Some(var_72) = &input.test {
        #[allow(unused_mut)]
        let mut object_73 = object.key("test").start_object();
        crate::json_ser::serialize_structure_crate_model_schedule_run_test(&mut object_73, var_72)?;
        object_73.finish();
    }
    if let Some(var_74) = &input.configuration {
        #[allow(unused_mut)]
        let mut object_75 = object.key("configuration").start_object();
        crate::json_ser::serialize_structure_crate_model_schedule_run_configuration(
            &mut object_75,
            var_74,
        )?;
        object_75.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_instance_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetInstanceProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_76) = &input.arn {
        object.key("arn").string(var_76.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_job_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetJobInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_77) = &input.arn {
        object.key("arn").string(var_77.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_network_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetNetworkProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_78) = &input.arn {
        object.key("arn").string(var_78.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_offering_status_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetOfferingStatusInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_79) = &input.next_token {
        object.key("nextToken").string(var_79.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_80) = &input.arn {
        object.key("arn").string(var_80.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_remote_access_session_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetRemoteAccessSessionInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_81) = &input.arn {
        object.key("arn").string(var_81.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_run_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetRunInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_82) = &input.arn {
        object.key("arn").string(var_82.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_suite_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetSuiteInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_83) = &input.arn {
        object.key("arn").string(var_83.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_test_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetTestInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_84) = &input.arn {
        object.key("arn").string(var_84.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_test_grid_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetTestGridProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_85) = &input.project_arn {
        object.key("projectArn").string(var_85.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_test_grid_session_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetTestGridSessionInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_86) = &input.project_arn {
        object.key("projectArn").string(var_86.as_str());
    }
    if let Some(var_87) = &input.session_id {
        object.key("sessionId").string(var_87.as_str());
    }
    if let Some(var_88) = &input.session_arn {
        object.key("sessionArn").string(var_88.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_upload_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetUploadInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_89) = &input.arn {
        object.key("arn").string(var_89.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_get_vpce_configuration_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::GetVpceConfigurationInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_90) = &input.arn {
        object.key("arn").string(var_90.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_install_to_remote_access_session_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::InstallToRemoteAccessSessionInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_91) = &input.remote_access_session_arn {
        object.key("remoteAccessSessionArn").string(var_91.as_str());
    }
    if let Some(var_92) = &input.app_arn {
        object.key("appArn").string(var_92.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_artifacts_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListArtifactsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_93) = &input.arn {
        object.key("arn").string(var_93.as_str());
    }
    if let Some(var_94) = &input.r#type {
        object.key("type").string(var_94.as_str());
    }
    if let Some(var_95) = &input.next_token {
        object.key("nextToken").string(var_95.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_device_instances_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListDeviceInstancesInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_96) = &input.max_results {
        object.key("maxResults").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_96).into()),
        );
    }
    if let Some(var_97) = &input.next_token {
        object.key("nextToken").string(var_97.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_device_pools_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListDevicePoolsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_98) = &input.arn {
        object.key("arn").string(var_98.as_str());
    }
    if let Some(var_99) = &input.r#type {
        object.key("type").string(var_99.as_str());
    }
    if let Some(var_100) = &input.next_token {
        object.key("nextToken").string(var_100.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_devices_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListDevicesInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_101) = &input.arn {
        object.key("arn").string(var_101.as_str());
    }
    if let Some(var_102) = &input.next_token {
        object.key("nextToken").string(var_102.as_str());
    }
    if let Some(var_103) = &input.filters {
        let mut array_104 = object.key("filters").start_array();
        for item_105 in var_103 {
            {
                #[allow(unused_mut)]
                let mut object_106 = array_104.value().start_object();
                crate::json_ser::serialize_structure_crate_model_device_filter(
                    &mut object_106,
                    item_105,
                )?;
                object_106.finish();
            }
        }
        array_104.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_instance_profiles_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListInstanceProfilesInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_107) = &input.max_results {
        object.key("maxResults").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_107).into()),
        );
    }
    if let Some(var_108) = &input.next_token {
        object.key("nextToken").string(var_108.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_jobs_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListJobsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_109) = &input.arn {
        object.key("arn").string(var_109.as_str());
    }
    if let Some(var_110) = &input.next_token {
        object.key("nextToken").string(var_110.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_network_profiles_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListNetworkProfilesInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_111) = &input.arn {
        object.key("arn").string(var_111.as_str());
    }
    if let Some(var_112) = &input.r#type {
        object.key("type").string(var_112.as_str());
    }
    if let Some(var_113) = &input.next_token {
        object.key("nextToken").string(var_113.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_offering_promotions_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListOfferingPromotionsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_114) = &input.next_token {
        object.key("nextToken").string(var_114.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_offerings_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListOfferingsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_115) = &input.next_token {
        object.key("nextToken").string(var_115.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_offering_transactions_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListOfferingTransactionsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_116) = &input.next_token {
        object.key("nextToken").string(var_116.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_projects_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListProjectsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_117) = &input.arn {
        object.key("arn").string(var_117.as_str());
    }
    if let Some(var_118) = &input.next_token {
        object.key("nextToken").string(var_118.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_remote_access_sessions_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListRemoteAccessSessionsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_119) = &input.arn {
        object.key("arn").string(var_119.as_str());
    }
    if let Some(var_120) = &input.next_token {
        object.key("nextToken").string(var_120.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_runs_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListRunsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_121) = &input.arn {
        object.key("arn").string(var_121.as_str());
    }
    if let Some(var_122) = &input.next_token {
        object.key("nextToken").string(var_122.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_samples_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListSamplesInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_123) = &input.arn {
        object.key("arn").string(var_123.as_str());
    }
    if let Some(var_124) = &input.next_token {
        object.key("nextToken").string(var_124.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_suites_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListSuitesInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_125) = &input.arn {
        object.key("arn").string(var_125.as_str());
    }
    if let Some(var_126) = &input.next_token {
        object.key("nextToken").string(var_126.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_tags_for_resource_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListTagsForResourceInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_127) = &input.resource_arn {
        object.key("ResourceARN").string(var_127.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_test_grid_projects_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListTestGridProjectsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_128) = &input.max_result {
        object.key("maxResult").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_128).into()),
        );
    }
    if let Some(var_129) = &input.next_token {
        object.key("nextToken").string(var_129.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_test_grid_session_actions_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListTestGridSessionActionsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_130) = &input.session_arn {
        object.key("sessionArn").string(var_130.as_str());
    }
    if let Some(var_131) = &input.max_result {
        object.key("maxResult").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_131).into()),
        );
    }
    if let Some(var_132) = &input.next_token {
        object.key("nextToken").string(var_132.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_test_grid_session_artifacts_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListTestGridSessionArtifactsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_133) = &input.session_arn {
        object.key("sessionArn").string(var_133.as_str());
    }
    if let Some(var_134) = &input.r#type {
        object.key("type").string(var_134.as_str());
    }
    if let Some(var_135) = &input.max_result {
        object.key("maxResult").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_135).into()),
        );
    }
    if let Some(var_136) = &input.next_token {
        object.key("nextToken").string(var_136.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_test_grid_sessions_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListTestGridSessionsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_137) = &input.project_arn {
        object.key("projectArn").string(var_137.as_str());
    }
    if let Some(var_138) = &input.status {
        object.key("status").string(var_138.as_str());
    }
    if let Some(var_139) = &input.creation_time_after {
        object
            .key("creationTimeAfter")
            .date_time(var_139, aws_smithy_types::date_time::Format::EpochSeconds)?;
    }
    if let Some(var_140) = &input.creation_time_before {
        object
            .key("creationTimeBefore")
            .date_time(var_140, aws_smithy_types::date_time::Format::EpochSeconds)?;
    }
    if let Some(var_141) = &input.end_time_after {
        object
            .key("endTimeAfter")
            .date_time(var_141, aws_smithy_types::date_time::Format::EpochSeconds)?;
    }
    if let Some(var_142) = &input.end_time_before {
        object
            .key("endTimeBefore")
            .date_time(var_142, aws_smithy_types::date_time::Format::EpochSeconds)?;
    }
    if let Some(var_143) = &input.max_result {
        object.key("maxResult").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_143).into()),
        );
    }
    if let Some(var_144) = &input.next_token {
        object.key("nextToken").string(var_144.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_tests_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListTestsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_145) = &input.arn {
        object.key("arn").string(var_145.as_str());
    }
    if let Some(var_146) = &input.next_token {
        object.key("nextToken").string(var_146.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_unique_problems_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListUniqueProblemsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_147) = &input.arn {
        object.key("arn").string(var_147.as_str());
    }
    if let Some(var_148) = &input.next_token {
        object.key("nextToken").string(var_148.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_uploads_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListUploadsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_149) = &input.arn {
        object.key("arn").string(var_149.as_str());
    }
    if let Some(var_150) = &input.r#type {
        object.key("type").string(var_150.as_str());
    }
    if let Some(var_151) = &input.next_token {
        object.key("nextToken").string(var_151.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_list_vpce_configurations_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ListVpceConfigurationsInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_152) = &input.max_results {
        object.key("maxResults").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_152).into()),
        );
    }
    if let Some(var_153) = &input.next_token {
        object.key("nextToken").string(var_153.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_purchase_offering_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::PurchaseOfferingInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_154) = &input.offering_id {
        object.key("offeringId").string(var_154.as_str());
    }
    if let Some(var_155) = &input.quantity {
        object.key("quantity").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_155).into()),
        );
    }
    if let Some(var_156) = &input.offering_promotion_id {
        object.key("offeringPromotionId").string(var_156.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_renew_offering_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::RenewOfferingInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_157) = &input.offering_id {
        object.key("offeringId").string(var_157.as_str());
    }
    if let Some(var_158) = &input.quantity {
        object.key("quantity").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_158).into()),
        );
    }
    Ok(())
}

pub fn serialize_structure_crate_input_schedule_run_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::ScheduleRunInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_159) = &input.project_arn {
        object.key("projectArn").string(var_159.as_str());
    }
    if let Some(var_160) = &input.app_arn {
        object.key("appArn").string(var_160.as_str());
    }
    if let Some(var_161) = &input.device_pool_arn {
        object.key("devicePoolArn").string(var_161.as_str());
    }
    if let Some(var_162) = &input.device_selection_configuration {
        #[allow(unused_mut)]
        let mut object_163 = object.key("deviceSelectionConfiguration").start_object();
        crate::json_ser::serialize_structure_crate_model_device_selection_configuration(
            &mut object_163,
            var_162,
        )?;
        object_163.finish();
    }
    if let Some(var_164) = &input.name {
        object.key("name").string(var_164.as_str());
    }
    if let Some(var_165) = &input.test {
        #[allow(unused_mut)]
        let mut object_166 = object.key("test").start_object();
        crate::json_ser::serialize_structure_crate_model_schedule_run_test(
            &mut object_166,
            var_165,
        )?;
        object_166.finish();
    }
    if let Some(var_167) = &input.configuration {
        #[allow(unused_mut)]
        let mut object_168 = object.key("configuration").start_object();
        crate::json_ser::serialize_structure_crate_model_schedule_run_configuration(
            &mut object_168,
            var_167,
        )?;
        object_168.finish();
    }
    if let Some(var_169) = &input.execution_configuration {
        #[allow(unused_mut)]
        let mut object_170 = object.key("executionConfiguration").start_object();
        crate::json_ser::serialize_structure_crate_model_execution_configuration(
            &mut object_170,
            var_169,
        )?;
        object_170.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_stop_job_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::StopJobInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_171) = &input.arn {
        object.key("arn").string(var_171.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_stop_remote_access_session_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::StopRemoteAccessSessionInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_172) = &input.arn {
        object.key("arn").string(var_172.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_stop_run_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::StopRunInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_173) = &input.arn {
        object.key("arn").string(var_173.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_input_tag_resource_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::TagResourceInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_174) = &input.resource_arn {
        object.key("ResourceARN").string(var_174.as_str());
    }
    if let Some(var_175) = &input.tags {
        let mut array_176 = object.key("Tags").start_array();
        for item_177 in var_175 {
            {
                #[allow(unused_mut)]
                let mut object_178 = array_176.value().start_object();
                crate::json_ser::serialize_structure_crate_model_tag(&mut object_178, item_177)?;
                object_178.finish();
            }
        }
        array_176.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_untag_resource_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UntagResourceInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_179) = &input.resource_arn {
        object.key("ResourceARN").string(var_179.as_str());
    }
    if let Some(var_180) = &input.tag_keys {
        let mut array_181 = object.key("TagKeys").start_array();
        for item_182 in var_180 {
            {
                array_181.value().string(item_182.as_str());
            }
        }
        array_181.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_device_instance_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateDeviceInstanceInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_183) = &input.arn {
        object.key("arn").string(var_183.as_str());
    }
    if let Some(var_184) = &input.profile_arn {
        object.key("profileArn").string(var_184.as_str());
    }
    if let Some(var_185) = &input.labels {
        let mut array_186 = object.key("labels").start_array();
        for item_187 in var_185 {
            {
                array_186.value().string(item_187.as_str());
            }
        }
        array_186.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_device_pool_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateDevicePoolInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_188) = &input.arn {
        object.key("arn").string(var_188.as_str());
    }
    if let Some(var_189) = &input.name {
        object.key("name").string(var_189.as_str());
    }
    if let Some(var_190) = &input.description {
        object.key("description").string(var_190.as_str());
    }
    if let Some(var_191) = &input.rules {
        let mut array_192 = object.key("rules").start_array();
        for item_193 in var_191 {
            {
                #[allow(unused_mut)]
                let mut object_194 = array_192.value().start_object();
                crate::json_ser::serialize_structure_crate_model_rule(&mut object_194, item_193)?;
                object_194.finish();
            }
        }
        array_192.finish();
    }
    if let Some(var_195) = &input.max_devices {
        object.key("maxDevices").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_195).into()),
        );
    }
    if let Some(var_196) = &input.clear_max_devices {
        object.key("clearMaxDevices").boolean(*var_196);
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_instance_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateInstanceProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_197) = &input.arn {
        object.key("arn").string(var_197.as_str());
    }
    if let Some(var_198) = &input.name {
        object.key("name").string(var_198.as_str());
    }
    if let Some(var_199) = &input.description {
        object.key("description").string(var_199.as_str());
    }
    if let Some(var_200) = &input.package_cleanup {
        object.key("packageCleanup").boolean(*var_200);
    }
    if let Some(var_201) = &input.exclude_app_packages_from_cleanup {
        let mut array_202 = object.key("excludeAppPackagesFromCleanup").start_array();
        for item_203 in var_201 {
            {
                array_202.value().string(item_203.as_str());
            }
        }
        array_202.finish();
    }
    if let Some(var_204) = &input.reboot_after_use {
        object.key("rebootAfterUse").boolean(*var_204);
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_network_profile_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateNetworkProfileInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_205) = &input.arn {
        object.key("arn").string(var_205.as_str());
    }
    if let Some(var_206) = &input.name {
        object.key("name").string(var_206.as_str());
    }
    if let Some(var_207) = &input.description {
        object.key("description").string(var_207.as_str());
    }
    if let Some(var_208) = &input.r#type {
        object.key("type").string(var_208.as_str());
    }
    if let Some(var_209) = &input.uplink_bandwidth_bits {
        object.key("uplinkBandwidthBits").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_209).into()),
        );
    }
    if let Some(var_210) = &input.downlink_bandwidth_bits {
        object.key("downlinkBandwidthBits").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_210).into()),
        );
    }
    if let Some(var_211) = &input.uplink_delay_ms {
        object.key("uplinkDelayMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_211).into()),
        );
    }
    if let Some(var_212) = &input.downlink_delay_ms {
        object.key("downlinkDelayMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_212).into()),
        );
    }
    if let Some(var_213) = &input.uplink_jitter_ms {
        object.key("uplinkJitterMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_213).into()),
        );
    }
    if let Some(var_214) = &input.downlink_jitter_ms {
        object.key("downlinkJitterMs").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_214).into()),
        );
    }
    if input.uplink_loss_percent != 0 {
        object.key("uplinkLossPercent").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((input.uplink_loss_percent).into()),
        );
    }
    if input.downlink_loss_percent != 0 {
        object.key("downlinkLossPercent").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((input.downlink_loss_percent).into()),
        );
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_215) = &input.arn {
        object.key("arn").string(var_215.as_str());
    }
    if let Some(var_216) = &input.name {
        object.key("name").string(var_216.as_str());
    }
    if let Some(var_217) = &input.default_job_timeout_minutes {
        object.key("defaultJobTimeoutMinutes").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_217).into()),
        );
    }
    if let Some(var_218) = &input.vpc_config {
        #[allow(unused_mut)]
        let mut object_219 = object.key("vpcConfig").start_object();
        crate::json_ser::serialize_structure_crate_model_vpc_config(&mut object_219, var_218)?;
        object_219.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_test_grid_project_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateTestGridProjectInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_220) = &input.project_arn {
        object.key("projectArn").string(var_220.as_str());
    }
    if let Some(var_221) = &input.name {
        object.key("name").string(var_221.as_str());
    }
    if let Some(var_222) = &input.description {
        object.key("description").string(var_222.as_str());
    }
    if let Some(var_223) = &input.vpc_config {
        #[allow(unused_mut)]
        let mut object_224 = object.key("vpcConfig").start_object();
        crate::json_ser::serialize_structure_crate_model_test_grid_vpc_config(
            &mut object_224,
            var_223,
        )?;
        object_224.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_upload_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateUploadInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_225) = &input.arn {
        object.key("arn").string(var_225.as_str());
    }
    if let Some(var_226) = &input.name {
        object.key("name").string(var_226.as_str());
    }
    if let Some(var_227) = &input.content_type {
        object.key("contentType").string(var_227.as_str());
    }
    if let Some(var_228) = &input.edit_content {
        object.key("editContent").boolean(*var_228);
    }
    Ok(())
}

pub fn serialize_structure_crate_input_update_vpce_configuration_input(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::UpdateVpceConfigurationInput,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_229) = &input.arn {
        object.key("arn").string(var_229.as_str());
    }
    if let Some(var_230) = &input.vpce_configuration_name {
        object.key("vpceConfigurationName").string(var_230.as_str());
    }
    if let Some(var_231) = &input.vpce_service_name {
        object.key("vpceServiceName").string(var_231.as_str());
    }
    if let Some(var_232) = &input.service_dns_name {
        object.key("serviceDnsName").string(var_232.as_str());
    }
    if let Some(var_233) = &input.vpce_configuration_description {
        object
            .key("vpceConfigurationDescription")
            .string(var_233.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_model_rule(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::Rule,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_234) = &input.attribute {
        object.key("attribute").string(var_234.as_str());
    }
    if let Some(var_235) = &input.operator {
        object.key("operator").string(var_235.as_str());
    }
    if let Some(var_236) = &input.value {
        object.key("value").string(var_236.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_model_vpc_config(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::VpcConfig,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_237) = &input.security_group_ids {
        let mut array_238 = object.key("securityGroupIds").start_array();
        for item_239 in var_237 {
            {
                array_238.value().string(item_239.as_str());
            }
        }
        array_238.finish();
    }
    if let Some(var_240) = &input.subnet_ids {
        let mut array_241 = object.key("subnetIds").start_array();
        for item_242 in var_240 {
            {
                array_241.value().string(item_242.as_str());
            }
        }
        array_241.finish();
    }
    if let Some(var_243) = &input.vpc_id {
        object.key("vpcId").string(var_243.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_model_create_remote_access_session_configuration(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::CreateRemoteAccessSessionConfiguration,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_244) = &input.billing_method {
        object.key("billingMethod").string(var_244.as_str());
    }
    if let Some(var_245) = &input.vpce_configuration_arns {
        let mut array_246 = object.key("vpceConfigurationArns").start_array();
        for item_247 in var_245 {
            {
                array_246.value().string(item_247.as_str());
            }
        }
        array_246.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_model_test_grid_vpc_config(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::TestGridVpcConfig,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_248) = &input.security_group_ids {
        let mut array_249 = object.key("securityGroupIds").start_array();
        for item_250 in var_248 {
            {
                array_249.value().string(item_250.as_str());
            }
        }
        array_249.finish();
    }
    if let Some(var_251) = &input.subnet_ids {
        let mut array_252 = object.key("subnetIds").start_array();
        for item_253 in var_251 {
            {
                array_252.value().string(item_253.as_str());
            }
        }
        array_252.finish();
    }
    if let Some(var_254) = &input.vpc_id {
        object.key("vpcId").string(var_254.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_model_schedule_run_test(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::ScheduleRunTest,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_255) = &input.r#type {
        object.key("type").string(var_255.as_str());
    }
    if let Some(var_256) = &input.test_package_arn {
        object.key("testPackageArn").string(var_256.as_str());
    }
    if let Some(var_257) = &input.test_spec_arn {
        object.key("testSpecArn").string(var_257.as_str());
    }
    if let Some(var_258) = &input.filter {
        object.key("filter").string(var_258.as_str());
    }
    if let Some(var_259) = &input.parameters {
        #[allow(unused_mut)]
        let mut object_260 = object.key("parameters").start_object();
        for (key_261, value_262) in var_259 {
            {
                object_260.key(key_261.as_str()).string(value_262.as_str());
            }
        }
        object_260.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_model_schedule_run_configuration(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::ScheduleRunConfiguration,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_263) = &input.extra_data_package_arn {
        object.key("extraDataPackageArn").string(var_263.as_str());
    }
    if let Some(var_264) = &input.network_profile_arn {
        object.key("networkProfileArn").string(var_264.as_str());
    }
    if let Some(var_265) = &input.locale {
        object.key("locale").string(var_265.as_str());
    }
    if let Some(var_266) = &input.location {
        #[allow(unused_mut)]
        let mut object_267 = object.key("location").start_object();
        crate::json_ser::serialize_structure_crate_model_location(&mut object_267, var_266)?;
        object_267.finish();
    }
    if let Some(var_268) = &input.vpce_configuration_arns {
        let mut array_269 = object.key("vpceConfigurationArns").start_array();
        for item_270 in var_268 {
            {
                array_269.value().string(item_270.as_str());
            }
        }
        array_269.finish();
    }
    if let Some(var_271) = &input.customer_artifact_paths {
        #[allow(unused_mut)]
        let mut object_272 = object.key("customerArtifactPaths").start_object();
        crate::json_ser::serialize_structure_crate_model_customer_artifact_paths(
            &mut object_272,
            var_271,
        )?;
        object_272.finish();
    }
    if let Some(var_273) = &input.radios {
        #[allow(unused_mut)]
        let mut object_274 = object.key("radios").start_object();
        crate::json_ser::serialize_structure_crate_model_radios(&mut object_274, var_273)?;
        object_274.finish();
    }
    if let Some(var_275) = &input.auxiliary_apps {
        let mut array_276 = object.key("auxiliaryApps").start_array();
        for item_277 in var_275 {
            {
                array_276.value().string(item_277.as_str());
            }
        }
        array_276.finish();
    }
    if let Some(var_278) = &input.billing_method {
        object.key("billingMethod").string(var_278.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_model_device_filter(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::DeviceFilter,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_279) = &input.attribute {
        object.key("attribute").string(var_279.as_str());
    }
    if let Some(var_280) = &input.operator {
        object.key("operator").string(var_280.as_str());
    }
    if let Some(var_281) = &input.values {
        let mut array_282 = object.key("values").start_array();
        for item_283 in var_281 {
            {
                array_282.value().string(item_283.as_str());
            }
        }
        array_282.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_model_device_selection_configuration(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::DeviceSelectionConfiguration,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_284) = &input.filters {
        let mut array_285 = object.key("filters").start_array();
        for item_286 in var_284 {
            {
                #[allow(unused_mut)]
                let mut object_287 = array_285.value().start_object();
                crate::json_ser::serialize_structure_crate_model_device_filter(
                    &mut object_287,
                    item_286,
                )?;
                object_287.finish();
            }
        }
        array_285.finish();
    }
    if let Some(var_288) = &input.max_devices {
        object.key("maxDevices").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_288).into()),
        );
    }
    Ok(())
}

pub fn serialize_structure_crate_model_execution_configuration(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::ExecutionConfiguration,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_289) = &input.job_timeout_minutes {
        object.key("jobTimeoutMinutes").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::NegInt((*var_289).into()),
        );
    }
    if let Some(var_290) = &input.accounts_cleanup {
        object.key("accountsCleanup").boolean(*var_290);
    }
    if let Some(var_291) = &input.app_packages_cleanup {
        object.key("appPackagesCleanup").boolean(*var_291);
    }
    if let Some(var_292) = &input.video_capture {
        object.key("videoCapture").boolean(*var_292);
    }
    if let Some(var_293) = &input.skip_app_resign {
        object.key("skipAppResign").boolean(*var_293);
    }
    Ok(())
}

pub fn serialize_structure_crate_model_tag(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::Tag,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_294) = &input.key {
        object.key("Key").string(var_294.as_str());
    }
    if let Some(var_295) = &input.value {
        object.key("Value").string(var_295.as_str());
    }
    Ok(())
}

pub fn serialize_structure_crate_model_location(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::Location,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_296) = &input.latitude {
        object.key("latitude").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::Float((*var_296).into()),
        );
    }
    if let Some(var_297) = &input.longitude {
        object.key("longitude").number(
            #[allow(clippy::useless_conversion)]
            aws_smithy_types::Number::Float((*var_297).into()),
        );
    }
    Ok(())
}

pub fn serialize_structure_crate_model_customer_artifact_paths(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::CustomerArtifactPaths,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_298) = &input.ios_paths {
        let mut array_299 = object.key("iosPaths").start_array();
        for item_300 in var_298 {
            {
                array_299.value().string(item_300.as_str());
            }
        }
        array_299.finish();
    }
    if let Some(var_301) = &input.android_paths {
        let mut array_302 = object.key("androidPaths").start_array();
        for item_303 in var_301 {
            {
                array_302.value().string(item_303.as_str());
            }
        }
        array_302.finish();
    }
    if let Some(var_304) = &input.device_host_paths {
        let mut array_305 = object.key("deviceHostPaths").start_array();
        for item_306 in var_304 {
            {
                array_305.value().string(item_306.as_str());
            }
        }
        array_305.finish();
    }
    Ok(())
}

pub fn serialize_structure_crate_model_radios(
    object: &mut aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::model::Radios,
) -> Result<(), aws_smithy_http::operation::error::SerializationError> {
    if let Some(var_307) = &input.wifi {
        object.key("wifi").boolean(*var_307);
    }
    if let Some(var_308) = &input.bluetooth {
        object.key("bluetooth").boolean(*var_308);
    }
    if let Some(var_309) = &input.nfc {
        object.key("nfc").boolean(*var_309);
    }
    if let Some(var_310) = &input.gps {
        object.key("gps").boolean(*var_310);
    }
    Ok(())
}