pub fn ser_invoke_inline_agent_input_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::invoke_inline_agent::InvokeInlineAgentInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.action_groups {
let mut array_2 = object.key("actionGroups").start_array();
for item_3 in var_1 {
{
#[allow(unused_mut)]
let mut object_4 = array_2.value().start_object();
crate::protocol_serde::shape_agent_action_group::ser_agent_action_group(&mut object_4, item_3)?;
object_4.finish();
}
}
array_2.finish();
}
if let Some(var_5) = &input.agent_collaboration {
object.key("agentCollaboration").string(var_5.as_str());
}
if let Some(var_6) = &input.agent_name {
object.key("agentName").string(var_6.as_str());
}
if let Some(var_7) = &input.bedrock_model_configurations {
#[allow(unused_mut)]
let mut object_8 = object.key("bedrockModelConfigurations").start_object();
crate::protocol_serde::shape_inline_bedrock_model_configurations::ser_inline_bedrock_model_configurations(&mut object_8, var_7)?;
object_8.finish();
}
if let Some(var_9) = &input.collaborator_configurations {
let mut array_10 = object.key("collaboratorConfigurations").start_array();
for item_11 in var_9 {
{
#[allow(unused_mut)]
let mut object_12 = array_10.value().start_object();
crate::protocol_serde::shape_collaborator_configuration::ser_collaborator_configuration(&mut object_12, item_11)?;
object_12.finish();
}
}
array_10.finish();
}
if let Some(var_13) = &input.collaborators {
let mut array_14 = object.key("collaborators").start_array();
for item_15 in var_13 {
{
#[allow(unused_mut)]
let mut object_16 = array_14.value().start_object();
crate::protocol_serde::shape_collaborator::ser_collaborator(&mut object_16, item_15)?;
object_16.finish();
}
}
array_14.finish();
}
if let Some(var_17) = &input.custom_orchestration {
#[allow(unused_mut)]
let mut object_18 = object.key("customOrchestration").start_object();
crate::protocol_serde::shape_custom_orchestration::ser_custom_orchestration(&mut object_18, var_17)?;
object_18.finish();
}
if let Some(var_19) = &input.customer_encryption_key_arn {
object.key("customerEncryptionKeyArn").string(var_19.as_str());
}
if let Some(var_20) = &input.enable_trace {
object.key("enableTrace").boolean(*var_20);
}
if let Some(var_21) = &input.end_session {
object.key("endSession").boolean(*var_21);
}
if let Some(var_22) = &input.foundation_model {
object.key("foundationModel").string(var_22.as_str());
}
if let Some(var_23) = &input.guardrail_configuration {
#[allow(unused_mut)]
let mut object_24 = object.key("guardrailConfiguration").start_object();
crate::protocol_serde::shape_guardrail_configuration_with_arn::ser_guardrail_configuration_with_arn(&mut object_24, var_23)?;
object_24.finish();
}
if let Some(var_25) = &input.idle_session_ttl_in_seconds {
object.key("idleSessionTTLInSeconds").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_25).into()),
);
}
if let Some(var_26) = &input.inline_session_state {
#[allow(unused_mut)]
let mut object_27 = object.key("inlineSessionState").start_object();
crate::protocol_serde::shape_inline_session_state::ser_inline_session_state(&mut object_27, var_26)?;
object_27.finish();
}
if let Some(var_28) = &input.input_text {
object.key("inputText").string(var_28.as_str());
}
if let Some(var_29) = &input.instruction {
object.key("instruction").string(var_29.as_str());
}
if let Some(var_30) = &input.knowledge_bases {
let mut array_31 = object.key("knowledgeBases").start_array();
for item_32 in var_30 {
{
#[allow(unused_mut)]
let mut object_33 = array_31.value().start_object();
crate::protocol_serde::shape_knowledge_base::ser_knowledge_base(&mut object_33, item_32)?;
object_33.finish();
}
}
array_31.finish();
}
if let Some(var_34) = &input.orchestration_type {
object.key("orchestrationType").string(var_34.as_str());
}
if let Some(var_35) = &input.prompt_creation_configurations {
#[allow(unused_mut)]
let mut object_36 = object.key("promptCreationConfigurations").start_object();
crate::protocol_serde::shape_prompt_creation_configurations::ser_prompt_creation_configurations(&mut object_36, var_35)?;
object_36.finish();
}
if let Some(var_37) = &input.prompt_override_configuration {
#[allow(unused_mut)]
let mut object_38 = object.key("promptOverrideConfiguration").start_object();
crate::protocol_serde::shape_prompt_override_configuration::ser_prompt_override_configuration(&mut object_38, var_37)?;
object_38.finish();
}
if let Some(var_39) = &input.streaming_configurations {
#[allow(unused_mut)]
let mut object_40 = object.key("streamingConfigurations").start_object();
crate::protocol_serde::shape_streaming_configurations::ser_streaming_configurations(&mut object_40, var_39)?;
object_40.finish();
}
Ok(())
}