aws-sdk-appstream 1.121.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(
    encoder: &mut ::aws_smithy_cbor::Encoder,
    #[allow(unused)] input: &crate::operation::create_image_builder::CreateImageBuilderInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    encoder.begin_map();
    if let Some(var_1) = &input.name {
        encoder.str("Name").str(var_1.as_str());
    }
    if let Some(var_2) = &input.image_name {
        encoder.str("ImageName").str(var_2.as_str());
    }
    if let Some(var_3) = &input.image_arn {
        encoder.str("ImageArn").str(var_3.as_str());
    }
    if let Some(var_4) = &input.instance_type {
        encoder.str("InstanceType").str(var_4.as_str());
    }
    if let Some(var_5) = &input.description {
        encoder.str("Description").str(var_5.as_str());
    }
    if let Some(var_6) = &input.display_name {
        encoder.str("DisplayName").str(var_6.as_str());
    }
    if let Some(var_7) = &input.vpc_config {
        encoder.str("VpcConfig");
        crate::protocol_serde::shape_vpc_config::ser_vpc_config(encoder, var_7)?;
    }
    if let Some(var_8) = &input.iam_role_arn {
        encoder.str("IamRoleArn").str(var_8.as_str());
    }
    if let Some(var_9) = &input.enable_default_internet_access {
        encoder.str("EnableDefaultInternetAccess").boolean(*var_9);
    }
    if let Some(var_10) = &input.domain_join_info {
        encoder.str("DomainJoinInfo");
        crate::protocol_serde::shape_domain_join_info::ser_domain_join_info(encoder, var_10)?;
    }
    if let Some(var_11) = &input.appstream_agent_version {
        encoder.str("AppstreamAgentVersion").str(var_11.as_str());
    }
    if let Some(var_12) = &input.tags {
        encoder.str("Tags");
        encoder.map((*var_12).len());
        for (key_13, value_14) in var_12 {
            {
                encoder.str(key_13.as_str()).str(value_14.as_str());
            }
        }
    }
    if let Some(var_15) = &input.access_endpoints {
        encoder.str("AccessEndpoints");
        encoder.array((*var_15).len());
        for item_16 in var_15 {
            {
                crate::protocol_serde::shape_access_endpoint::ser_access_endpoint(encoder, item_16)?;
            }
        }
    }
    if let Some(var_17) = &input.root_volume_config {
        encoder.str("RootVolumeConfig");
        crate::protocol_serde::shape_volume_config::ser_volume_config(encoder, var_17)?;
    }
    if let Some(var_18) = &input.softwares_to_install {
        encoder.str("SoftwaresToInstall");
        encoder.array((*var_18).len());
        for item_19 in var_18 {
            {
                encoder.str(item_19.as_str());
            }
        }
    }
    if let Some(var_20) = &input.softwares_to_uninstall {
        encoder.str("SoftwaresToUninstall");
        encoder.array((*var_20).len());
        for item_21 in var_20 {
            {
                encoder.str(item_21.as_str());
            }
        }
    }
    if let Some(var_22) = &input.disable_imdsv1 {
        encoder.str("DisableIMDSV1").boolean(*var_22);
    }
    encoder.end();
    Ok(())
}