pub fn ser_create_deployment_group_input_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::create_deployment_group::CreateDeploymentGroupInput,
) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.application_name {
object.key("applicationName").string(var_1.as_str());
}
if let Some(var_2) = &input.deployment_group_name {
object.key("deploymentGroupName").string(var_2.as_str());
}
if let Some(var_3) = &input.deployment_config_name {
object.key("deploymentConfigName").string(var_3.as_str());
}
if let Some(var_4) = &input.ec2_tag_filters {
let mut array_5 = object.key("ec2TagFilters").start_array();
for item_6 in var_4 {
{
#[allow(unused_mut)]
let mut object_7 = array_5.value().start_object();
crate::protocol_serde::shape_ec2_tag_filter::ser_ec2_tag_filter(&mut object_7, item_6)?;
object_7.finish();
}
}
array_5.finish();
}
if let Some(var_8) = &input.on_premises_instance_tag_filters {
let mut array_9 = object.key("onPremisesInstanceTagFilters").start_array();
for item_10 in var_8 {
{
#[allow(unused_mut)]
let mut object_11 = array_9.value().start_object();
crate::protocol_serde::shape_tag_filter::ser_tag_filter(&mut object_11, item_10)?;
object_11.finish();
}
}
array_9.finish();
}
if let Some(var_12) = &input.auto_scaling_groups {
let mut array_13 = object.key("autoScalingGroups").start_array();
for item_14 in var_12 {
{
array_13.value().string(item_14.as_str());
}
}
array_13.finish();
}
if let Some(var_15) = &input.service_role_arn {
object.key("serviceRoleArn").string(var_15.as_str());
}
if let Some(var_16) = &input.trigger_configurations {
let mut array_17 = object.key("triggerConfigurations").start_array();
for item_18 in var_16 {
{
#[allow(unused_mut)]
let mut object_19 = array_17.value().start_object();
crate::protocol_serde::shape_trigger_config::ser_trigger_config(&mut object_19, item_18)?;
object_19.finish();
}
}
array_17.finish();
}
if let Some(var_20) = &input.alarm_configuration {
#[allow(unused_mut)]
let mut object_21 = object.key("alarmConfiguration").start_object();
crate::protocol_serde::shape_alarm_configuration::ser_alarm_configuration(&mut object_21, var_20)?;
object_21.finish();
}
if let Some(var_22) = &input.auto_rollback_configuration {
#[allow(unused_mut)]
let mut object_23 = object.key("autoRollbackConfiguration").start_object();
crate::protocol_serde::shape_auto_rollback_configuration::ser_auto_rollback_configuration(&mut object_23, var_22)?;
object_23.finish();
}
if let Some(var_24) = &input.outdated_instances_strategy {
object.key("outdatedInstancesStrategy").string(var_24.as_str());
}
if let Some(var_25) = &input.deployment_style {
#[allow(unused_mut)]
let mut object_26 = object.key("deploymentStyle").start_object();
crate::protocol_serde::shape_deployment_style::ser_deployment_style(&mut object_26, var_25)?;
object_26.finish();
}
if let Some(var_27) = &input.blue_green_deployment_configuration {
#[allow(unused_mut)]
let mut object_28 = object.key("blueGreenDeploymentConfiguration").start_object();
crate::protocol_serde::shape_blue_green_deployment_configuration::ser_blue_green_deployment_configuration(&mut object_28, var_27)?;
object_28.finish();
}
if let Some(var_29) = &input.load_balancer_info {
#[allow(unused_mut)]
let mut object_30 = object.key("loadBalancerInfo").start_object();
crate::protocol_serde::shape_load_balancer_info::ser_load_balancer_info(&mut object_30, var_29)?;
object_30.finish();
}
if let Some(var_31) = &input.ec2_tag_set {
#[allow(unused_mut)]
let mut object_32 = object.key("ec2TagSet").start_object();
crate::protocol_serde::shape_ec2_tag_set::ser_ec2_tag_set(&mut object_32, var_31)?;
object_32.finish();
}
if let Some(var_33) = &input.ecs_services {
let mut array_34 = object.key("ecsServices").start_array();
for item_35 in var_33 {
{
#[allow(unused_mut)]
let mut object_36 = array_34.value().start_object();
crate::protocol_serde::shape_ecs_service::ser_ecs_service(&mut object_36, item_35)?;
object_36.finish();
}
}
array_34.finish();
}
if let Some(var_37) = &input.on_premises_tag_set {
#[allow(unused_mut)]
let mut object_38 = object.key("onPremisesTagSet").start_object();
crate::protocol_serde::shape_on_premises_tag_set::ser_on_premises_tag_set(&mut object_38, var_37)?;
object_38.finish();
}
if let Some(var_39) = &input.tags {
let mut array_40 = object.key("tags").start_array();
for item_41 in var_39 {
{
#[allow(unused_mut)]
let mut object_42 = array_40.value().start_object();
crate::protocol_serde::shape_tag::ser_tag(&mut object_42, item_41)?;
object_42.finish();
}
}
array_40.finish();
}
if let Some(var_43) = &input.termination_hook_enabled {
object.key("terminationHookEnabled").boolean(*var_43);
}
Ok(())
}