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(())
}