#[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,
depth: u32,
) -> ::std::result::Result<crate::types::ReceiptAction, ::aws_smithy_xml::decode::XmlDecodeError> {
if depth >= 128u32 {
return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("maximum nesting depth exceeded"));
}
#[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") => {
let var_17 =
Some(
crate::protocol_serde::shape_s3_action::de_s3_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_s3_action(var_17);
}
,
s if s.matches("BounceAction") => {
let var_18 =
Some(
crate::protocol_serde::shape_bounce_action::de_bounce_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_bounce_action(var_18);
}
,
s if s.matches("WorkmailAction") => {
let var_19 =
Some(
crate::protocol_serde::shape_workmail_action::de_workmail_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_workmail_action(var_19);
}
,
s if s.matches("LambdaAction") => {
let var_20 =
Some(
crate::protocol_serde::shape_lambda_action::de_lambda_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_lambda_action(var_20);
}
,
s if s.matches("StopAction") => {
let var_21 =
Some(
crate::protocol_serde::shape_stop_action::de_stop_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_stop_action(var_21);
}
,
s if s.matches("AddHeaderAction") => {
let var_22 =
Some(
crate::protocol_serde::shape_add_header_action::de_add_header_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_add_header_action(var_22);
}
,
s if s.matches("SNSAction") => {
let var_23 =
Some(
crate::protocol_serde::shape_sns_action::de_sns_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_sns_action(var_23);
}
,
s if s.matches("ConnectAction") => {
let var_24 =
Some(
crate::protocol_serde::shape_connect_action::de_connect_action(&mut tag, depth + 1)
?
)
;
builder = builder.set_connect_action(var_24);
}
,
_ => {}
}
}
Ok(builder.build())
}