pub fn ser_start_automation_execution_input_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::start_automation_execution::StartAutomationExecutionInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.document_name {
object.key("DocumentName").string(var_1.as_str());
}
if let Some(var_2) = &input.document_version {
object.key("DocumentVersion").string(var_2.as_str());
}
if let Some(var_3) = &input.parameters {
#[allow(unused_mut)]
let mut object_4 = object.key("Parameters").start_object();
for (key_5, value_6) in var_3 {
{
let mut array_7 = object_4.key(key_5.as_str()).start_array();
for item_8 in value_6 {
{
array_7.value().string(item_8.as_str());
}
}
array_7.finish();
}
}
object_4.finish();
}
if let Some(var_9) = &input.client_token {
object.key("ClientToken").string(var_9.as_str());
}
if let Some(var_10) = &input.mode {
object.key("Mode").string(var_10.as_str());
}
if let Some(var_11) = &input.target_parameter_name {
object.key("TargetParameterName").string(var_11.as_str());
}
if let Some(var_12) = &input.targets {
let mut array_13 = object.key("Targets").start_array();
for item_14 in var_12 {
{
#[allow(unused_mut)]
let mut object_15 = array_13.value().start_object();
crate::protocol_serde::shape_target::ser_target(&mut object_15, item_14)?;
object_15.finish();
}
}
array_13.finish();
}
if let Some(var_16) = &input.target_maps {
let mut array_17 = object.key("TargetMaps").start_array();
for item_18 in var_16 {
{
#[allow(unused_mut)]
let mut object_19 = array_17.value().start_object();
for (key_20, value_21) in item_18 {
{
let mut array_22 = object_19.key(key_20.as_str()).start_array();
for item_23 in value_21 {
{
array_22.value().string(item_23.as_str());
}
}
array_22.finish();
}
}
object_19.finish();
}
}
array_17.finish();
}
if let Some(var_24) = &input.max_concurrency {
object.key("MaxConcurrency").string(var_24.as_str());
}
if let Some(var_25) = &input.max_errors {
object.key("MaxErrors").string(var_25.as_str());
}
if let Some(var_26) = &input.target_locations {
let mut array_27 = object.key("TargetLocations").start_array();
for item_28 in var_26 {
{
#[allow(unused_mut)]
let mut object_29 = array_27.value().start_object();
crate::protocol_serde::shape_target_location::ser_target_location(&mut object_29, item_28)?;
object_29.finish();
}
}
array_27.finish();
}
if let Some(var_30) = &input.tags {
let mut array_31 = object.key("Tags").start_array();
for item_32 in var_30 {
{
#[allow(unused_mut)]
let mut object_33 = array_31.value().start_object();
crate::protocol_serde::shape_tag::ser_tag(&mut object_33, item_32)?;
object_33.finish();
}
}
array_31.finish();
}
if let Some(var_34) = &input.alarm_configuration {
#[allow(unused_mut)]
let mut object_35 = object.key("AlarmConfiguration").start_object();
crate::protocol_serde::shape_alarm_configuration::ser_alarm_configuration(&mut object_35, var_34)?;
object_35.finish();
}
if let Some(var_36) = &input.target_locations_url {
object.key("TargetLocationsURL").string(var_36.as_str());
}
Ok(())
}