aws-sdk-appstream 1.111.0

AWS SDK for Amazon AppStream
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_create_image_builder_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::create_image_builder::CreateImageBuilderInput,
) -> ::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.image_name {
        object.key("ImageName").string(var_2.as_str());
    }
    if let Some(var_3) = &input.image_arn {
        object.key("ImageArn").string(var_3.as_str());
    }
    if let Some(var_4) = &input.instance_type {
        object.key("InstanceType").string(var_4.as_str());
    }
    if let Some(var_5) = &input.description {
        object.key("Description").string(var_5.as_str());
    }
    if let Some(var_6) = &input.display_name {
        object.key("DisplayName").string(var_6.as_str());
    }
    if let Some(var_7) = &input.vpc_config {
        #[allow(unused_mut)]
        let mut object_8 = object.key("VpcConfig").start_object();
        crate::protocol_serde::shape_vpc_config::ser_vpc_config(&mut object_8, var_7)?;
        object_8.finish();
    }
    if let Some(var_9) = &input.iam_role_arn {
        object.key("IamRoleArn").string(var_9.as_str());
    }
    if let Some(var_10) = &input.enable_default_internet_access {
        object.key("EnableDefaultInternetAccess").boolean(*var_10);
    }
    if let Some(var_11) = &input.domain_join_info {
        #[allow(unused_mut)]
        let mut object_12 = object.key("DomainJoinInfo").start_object();
        crate::protocol_serde::shape_domain_join_info::ser_domain_join_info(&mut object_12, var_11)?;
        object_12.finish();
    }
    if let Some(var_13) = &input.appstream_agent_version {
        object.key("AppstreamAgentVersion").string(var_13.as_str());
    }
    if let Some(var_14) = &input.tags {
        #[allow(unused_mut)]
        let mut object_15 = object.key("Tags").start_object();
        for (key_16, value_17) in var_14 {
            {
                object_15.key(key_16.as_str()).string(value_17.as_str());
            }
        }
        object_15.finish();
    }
    if let Some(var_18) = &input.access_endpoints {
        let mut array_19 = object.key("AccessEndpoints").start_array();
        for item_20 in var_18 {
            {
                #[allow(unused_mut)]
                let mut object_21 = array_19.value().start_object();
                crate::protocol_serde::shape_access_endpoint::ser_access_endpoint(&mut object_21, item_20)?;
                object_21.finish();
            }
        }
        array_19.finish();
    }
    if let Some(var_22) = &input.root_volume_config {
        #[allow(unused_mut)]
        let mut object_23 = object.key("RootVolumeConfig").start_object();
        crate::protocol_serde::shape_volume_config::ser_volume_config(&mut object_23, var_22)?;
        object_23.finish();
    }
    if let Some(var_24) = &input.softwares_to_install {
        let mut array_25 = object.key("SoftwaresToInstall").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.softwares_to_uninstall {
        let mut array_28 = object.key("SoftwaresToUninstall").start_array();
        for item_29 in var_27 {
            {
                array_28.value().string(item_29.as_str());
            }
        }
        array_28.finish();
    }
    if let Some(var_30) = &input.disable_imdsv1 {
        object.key("DisableIMDSV1").boolean(*var_30);
    }
    Ok(())
}