pub fn ser_agentic_retrieve_configuration(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::AgenticRetrieveConfiguration,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
{
object.key("foundationModelType").string(input.foundation_model_type.as_str());
}
if let Some(var_1) = &input.foundation_model_configuration {
#[allow(unused_mut)]
let mut object_2 = object.key("foundationModelConfiguration").start_object();
crate::protocol_serde::shape_foundation_model_configuration::ser_foundation_model_configuration(&mut object_2, var_1)?;
object_2.finish();
}
if let Some(var_3) = &input.reranking_model_type {
object.key("rerankingModelType").string(var_3.as_str());
}
if let Some(var_4) = &input.reranking_configuration {
#[allow(unused_mut)]
let mut object_5 = object.key("rerankingConfiguration").start_object();
crate::protocol_serde::shape_agentic_retrieve_reranking_configuration::ser_agentic_retrieve_reranking_configuration(&mut object_5, var_4)?;
object_5.finish();
}
if input.max_agent_iteration != 5 {
object.key("maxAgentIteration").number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((input.max_agent_iteration).into()),
);
}
Ok(())
}