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_stack_input_input(
    encoder: &mut ::aws_smithy_cbor::Encoder,
    #[allow(unused)] input: &crate::operation::create_stack::CreateStackInput,
) -> ::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.description {
        encoder.str("Description").str(var_2.as_str());
    }
    if let Some(var_3) = &input.display_name {
        encoder.str("DisplayName").str(var_3.as_str());
    }
    if let Some(var_4) = &input.storage_connectors {
        encoder.str("StorageConnectors");
        encoder.array((*var_4).len());
        for item_5 in var_4 {
            {
                crate::protocol_serde::shape_storage_connector::ser_storage_connector(encoder, item_5)?;
            }
        }
    }
    if let Some(var_6) = &input.redirect_url {
        encoder.str("RedirectURL").str(var_6.as_str());
    }
    if let Some(var_7) = &input.feedback_url {
        encoder.str("FeedbackURL").str(var_7.as_str());
    }
    if let Some(var_8) = &input.user_settings {
        encoder.str("UserSettings");
        encoder.array((*var_8).len());
        for item_9 in var_8 {
            {
                crate::protocol_serde::shape_user_setting::ser_user_setting(encoder, item_9)?;
            }
        }
    }
    if let Some(var_10) = &input.application_settings {
        encoder.str("ApplicationSettings");
        crate::protocol_serde::shape_application_settings::ser_application_settings(encoder, var_10)?;
    }
    if let Some(var_11) = &input.tags {
        encoder.str("Tags");
        encoder.map((*var_11).len());
        for (key_12, value_13) in var_11 {
            {
                encoder.str(key_12.as_str()).str(value_13.as_str());
            }
        }
    }
    if let Some(var_14) = &input.access_endpoints {
        encoder.str("AccessEndpoints");
        encoder.array((*var_14).len());
        for item_15 in var_14 {
            {
                crate::protocol_serde::shape_access_endpoint::ser_access_endpoint(encoder, item_15)?;
            }
        }
    }
    if let Some(var_16) = &input.embed_host_domains {
        encoder.str("EmbedHostDomains");
        encoder.array((*var_16).len());
        for item_17 in var_16 {
            {
                encoder.str(item_17.as_str());
            }
        }
    }
    if let Some(var_18) = &input.streaming_experience_settings {
        encoder.str("StreamingExperienceSettings");
        crate::protocol_serde::shape_streaming_experience_settings::ser_streaming_experience_settings(encoder, var_18)?;
    }
    if let Some(var_19) = &input.content_redirection {
        encoder.str("ContentRedirection");
        crate::protocol_serde::shape_content_redirection::ser_content_redirection(encoder, var_19)?;
    }
    if let Some(var_20) = &input.agent_access_config {
        encoder.str("AgentAccessConfig");
        crate::protocol_serde::shape_agent_access_config::ser_agent_access_config(encoder, var_20)?;
    }
    encoder.end();
    Ok(())
}