pub fn ser_knowledge_base_retrieve_and_generate_configuration(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::KnowledgeBaseRetrieveAndGenerateConfiguration,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
{
object.key("knowledgeBaseId").string(input.knowledge_base_id.as_str());
}
{
object.key("modelArn").string(input.model_arn.as_str());
}
if let Some(var_1) = &input.retrieval_configuration {
#[allow(unused_mut)]
let mut object_2 = object.key("retrievalConfiguration").start_object();
crate::protocol_serde::shape_knowledge_base_retrieval_configuration::ser_knowledge_base_retrieval_configuration(&mut object_2, var_1)?;
object_2.finish();
}
if let Some(var_3) = &input.generation_configuration {
#[allow(unused_mut)]
let mut object_4 = object.key("generationConfiguration").start_object();
crate::protocol_serde::shape_generation_configuration::ser_generation_configuration(&mut object_4, var_3)?;
object_4.finish();
}
if let Some(var_5) = &input.orchestration_configuration {
#[allow(unused_mut)]
let mut object_6 = object.key("orchestrationConfiguration").start_object();
crate::protocol_serde::shape_orchestration_configuration::ser_orchestration_configuration(&mut object_6, var_5)?;
object_6.finish();
}
Ok(())
}