aws-sdk-ses 1.96.0

AWS SDK for Amazon Simple Email Service
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(unused_mut)]
pub fn ser_receipt_action(
    mut writer: ::aws_smithy_query::QueryValueWriter,
    input: &crate::types::ReceiptAction,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("S3Action");
    if let Some(var_2) = &input.s3_action {
        crate::protocol_serde::shape_s3_action::ser_s3_action(scope_1, var_2)?;
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("BounceAction");
    if let Some(var_4) = &input.bounce_action {
        crate::protocol_serde::shape_bounce_action::ser_bounce_action(scope_3, var_4)?;
    }
    #[allow(unused_mut)]
    let mut scope_5 = writer.prefix("WorkmailAction");
    if let Some(var_6) = &input.workmail_action {
        crate::protocol_serde::shape_workmail_action::ser_workmail_action(scope_5, var_6)?;
    }
    #[allow(unused_mut)]
    let mut scope_7 = writer.prefix("LambdaAction");
    if let Some(var_8) = &input.lambda_action {
        crate::protocol_serde::shape_lambda_action::ser_lambda_action(scope_7, var_8)?;
    }
    #[allow(unused_mut)]
    let mut scope_9 = writer.prefix("StopAction");
    if let Some(var_10) = &input.stop_action {
        crate::protocol_serde::shape_stop_action::ser_stop_action(scope_9, var_10)?;
    }
    #[allow(unused_mut)]
    let mut scope_11 = writer.prefix("AddHeaderAction");
    if let Some(var_12) = &input.add_header_action {
        crate::protocol_serde::shape_add_header_action::ser_add_header_action(scope_11, var_12)?;
    }
    #[allow(unused_mut)]
    let mut scope_13 = writer.prefix("SNSAction");
    if let Some(var_14) = &input.sns_action {
        crate::protocol_serde::shape_sns_action::ser_sns_action(scope_13, var_14)?;
    }
    #[allow(unused_mut)]
    let mut scope_15 = writer.prefix("ConnectAction");
    if let Some(var_16) = &input.connect_action {
        crate::protocol_serde::shape_connect_action::ser_connect_action(scope_15, var_16)?;
    }
    Ok(())
}

#[allow(clippy::needless_question_mark)]
pub fn de_receipt_action(
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
) -> ::std::result::Result<crate::types::ReceiptAction, ::aws_smithy_xml::decode::XmlDecodeError> {
    #[allow(unused_mut)]
    let mut builder = crate::types::ReceiptAction::builder();
    while let Some(mut tag) = decoder.next_tag() {
        match tag.start_el() {
            s if s.matches("S3Action") /* S3Action com.amazonaws.ses#ReceiptAction$S3Action */ =>  {
                let var_17 =
                    Some(
                        crate::protocol_serde::shape_s3_action::de_s3_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_s3_action(var_17);
            }
            ,
            s if s.matches("BounceAction") /* BounceAction com.amazonaws.ses#ReceiptAction$BounceAction */ =>  {
                let var_18 =
                    Some(
                        crate::protocol_serde::shape_bounce_action::de_bounce_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_bounce_action(var_18);
            }
            ,
            s if s.matches("WorkmailAction") /* WorkmailAction com.amazonaws.ses#ReceiptAction$WorkmailAction */ =>  {
                let var_19 =
                    Some(
                        crate::protocol_serde::shape_workmail_action::de_workmail_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_workmail_action(var_19);
            }
            ,
            s if s.matches("LambdaAction") /* LambdaAction com.amazonaws.ses#ReceiptAction$LambdaAction */ =>  {
                let var_20 =
                    Some(
                        crate::protocol_serde::shape_lambda_action::de_lambda_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_lambda_action(var_20);
            }
            ,
            s if s.matches("StopAction") /* StopAction com.amazonaws.ses#ReceiptAction$StopAction */ =>  {
                let var_21 =
                    Some(
                        crate::protocol_serde::shape_stop_action::de_stop_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_stop_action(var_21);
            }
            ,
            s if s.matches("AddHeaderAction") /* AddHeaderAction com.amazonaws.ses#ReceiptAction$AddHeaderAction */ =>  {
                let var_22 =
                    Some(
                        crate::protocol_serde::shape_add_header_action::de_add_header_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_add_header_action(var_22);
            }
            ,
            s if s.matches("SNSAction") /* SNSAction com.amazonaws.ses#ReceiptAction$SNSAction */ =>  {
                let var_23 =
                    Some(
                        crate::protocol_serde::shape_sns_action::de_sns_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_sns_action(var_23);
            }
            ,
            s if s.matches("ConnectAction") /* ConnectAction com.amazonaws.ses#ReceiptAction$ConnectAction */ =>  {
                let var_24 =
                    Some(
                        crate::protocol_serde::shape_connect_action::de_connect_action(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_connect_action(var_24);
            }
            ,
            _ => {}
        }
    }
    Ok(builder.build())
}