pub fn ser_create_nodegroup_input_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::create_nodegroup::CreateNodegroupInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.ami_type {
object.key("amiType").string(var_1.as_str());
}
if let Some(var_2) = &input.capacity_type {
object.key("capacityType").string(var_2.as_str());
}
if let Some(var_3) = &input.client_request_token {
object.key("clientRequestToken").string(var_3.as_str());
}
if let Some(var_4) = &input.disk_size {
object.key("diskSize").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_4).into()),
);
}
if let Some(var_5) = &input.instance_types {
let mut array_6 = object.key("instanceTypes").start_array();
for item_7 in var_5 {
{
array_6.value().string(item_7.as_str());
}
}
array_6.finish();
}
if let Some(var_8) = &input.labels {
#[allow(unused_mut)]
let mut object_9 = object.key("labels").start_object();
for (key_10, value_11) in var_8 {
{
object_9.key(key_10.as_str()).string(value_11.as_str());
}
}
object_9.finish();
}
if let Some(var_12) = &input.launch_template {
#[allow(unused_mut)]
let mut object_13 = object.key("launchTemplate").start_object();
crate::protocol_serde::shape_launch_template_specification::ser_launch_template_specification(&mut object_13, var_12)?;
object_13.finish();
}
if let Some(var_14) = &input.node_repair_config {
#[allow(unused_mut)]
let mut object_15 = object.key("nodeRepairConfig").start_object();
crate::protocol_serde::shape_node_repair_config::ser_node_repair_config(&mut object_15, var_14)?;
object_15.finish();
}
if let Some(var_16) = &input.node_role {
object.key("nodeRole").string(var_16.as_str());
}
if let Some(var_17) = &input.nodegroup_name {
object.key("nodegroupName").string(var_17.as_str());
}
if let Some(var_18) = &input.release_version {
object.key("releaseVersion").string(var_18.as_str());
}
if let Some(var_19) = &input.remote_access {
#[allow(unused_mut)]
let mut object_20 = object.key("remoteAccess").start_object();
crate::protocol_serde::shape_remote_access_config::ser_remote_access_config(&mut object_20, var_19)?;
object_20.finish();
}
if let Some(var_21) = &input.scaling_config {
#[allow(unused_mut)]
let mut object_22 = object.key("scalingConfig").start_object();
crate::protocol_serde::shape_nodegroup_scaling_config::ser_nodegroup_scaling_config(&mut object_22, var_21)?;
object_22.finish();
}
if let Some(var_23) = &input.subnets {
let mut array_24 = object.key("subnets").start_array();
for item_25 in var_23 {
{
array_24.value().string(item_25.as_str());
}
}
array_24.finish();
}
if let Some(var_26) = &input.tags {
#[allow(unused_mut)]
let mut object_27 = object.key("tags").start_object();
for (key_28, value_29) in var_26 {
{
object_27.key(key_28.as_str()).string(value_29.as_str());
}
}
object_27.finish();
}
if let Some(var_30) = &input.taints {
let mut array_31 = object.key("taints").start_array();
for item_32 in var_30 {
{
#[allow(unused_mut)]
let mut object_33 = array_31.value().start_object();
crate::protocol_serde::shape_taint::ser_taint(&mut object_33, item_32)?;
object_33.finish();
}
}
array_31.finish();
}
if let Some(var_34) = &input.update_config {
#[allow(unused_mut)]
let mut object_35 = object.key("updateConfig").start_object();
crate::protocol_serde::shape_nodegroup_update_config::ser_nodegroup_update_config(&mut object_35, var_34)?;
object_35.finish();
}
if let Some(var_36) = &input.version {
object.key("version").string(var_36.as_str());
}
if let Some(var_37) = &input.warm_pool_config {
#[allow(unused_mut)]
let mut object_38 = object.key("warmPoolConfig").start_object();
crate::protocol_serde::shape_warm_pool_config::ser_warm_pool_config(&mut object_38, var_37)?;
object_38.finish();
}
Ok(())
}