aws-sdk-bedrockagentruntime 1.126.0

AWS SDK for Agents for Amazon Bedrock Runtime
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
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(())
}