pub fn ser_job_operation(
input: &crate::types::JobOperation,
writer: ::aws_smithy_xml::encode::ElWriter,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
#[allow(unused_mut)]
let mut scope = writer.finish();
if let Some(var_1) = &input.lambda_invoke {
let inner_writer = scope.start_el("LambdaInvoke");
crate::protocol_serde::shape_lambda_invoke_operation::ser_lambda_invoke_operation(var_1, inner_writer)?
}
if let Some(var_2) = &input.s3_put_object_copy {
let inner_writer = scope.start_el("S3PutObjectCopy");
crate::protocol_serde::shape_s3_copy_object_operation::ser_s3_copy_object_operation(var_2, inner_writer)?
}
if let Some(var_3) = &input.s3_put_object_acl {
let inner_writer = scope.start_el("S3PutObjectAcl");
crate::protocol_serde::shape_s3_set_object_acl_operation::ser_s3_set_object_acl_operation(var_3, inner_writer)?
}
if let Some(var_4) = &input.s3_put_object_tagging {
let inner_writer = scope.start_el("S3PutObjectTagging");
crate::protocol_serde::shape_s3_set_object_tagging_operation::ser_s3_set_object_tagging_operation(var_4, inner_writer)?
}
if let Some(_var_5) = &input.s3_delete_object_tagging {
scope.start_el("S3DeleteObjectTagging").finish();
}
if let Some(var_6) = &input.s3_initiate_restore_object {
let inner_writer = scope.start_el("S3InitiateRestoreObject");
crate::protocol_serde::shape_s3_initiate_restore_object_operation::ser_s3_initiate_restore_object_operation(var_6, inner_writer)?
}
if let Some(var_7) = &input.s3_put_object_legal_hold {
let inner_writer = scope.start_el("S3PutObjectLegalHold");
crate::protocol_serde::shape_s3_set_object_legal_hold_operation::ser_s3_set_object_legal_hold_operation(var_7, inner_writer)?
}
if let Some(var_8) = &input.s3_put_object_retention {
let inner_writer = scope.start_el("S3PutObjectRetention");
crate::protocol_serde::shape_s3_set_object_retention_operation::ser_s3_set_object_retention_operation(var_8, inner_writer)?
}
if let Some(_var_9) = &input.s3_replicate_object {
scope.start_el("S3ReplicateObject").finish();
}
if let Some(var_10) = &input.s3_compute_object_checksum {
let inner_writer = scope.start_el("S3ComputeObjectChecksum");
crate::protocol_serde::shape_s3_compute_object_checksum_operation::ser_s3_compute_object_checksum_operation(var_10, inner_writer)?
}
scope.finish();
Ok(())
}
#[allow(clippy::needless_question_mark)]
pub fn de_job_operation(
decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
) -> ::std::result::Result<crate::types::JobOperation, ::aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::types::JobOperation::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("LambdaInvoke") => {
let var_11 =
Some(
crate::protocol_serde::shape_lambda_invoke_operation::de_lambda_invoke_operation(&mut tag)
?
)
;
builder = builder.set_lambda_invoke(var_11);
}
,
s if s.matches("S3PutObjectCopy") => {
let var_12 =
Some(
crate::protocol_serde::shape_s3_copy_object_operation::de_s3_copy_object_operation(&mut tag)
?
)
;
builder = builder.set_s3_put_object_copy(var_12);
}
,
s if s.matches("S3PutObjectAcl") => {
let var_13 =
Some(
crate::protocol_serde::shape_s3_set_object_acl_operation::de_s3_set_object_acl_operation(&mut tag)
?
)
;
builder = builder.set_s3_put_object_acl(var_13);
}
,
s if s.matches("S3PutObjectTagging") => {
let var_14 =
Some(
crate::protocol_serde::shape_s3_set_object_tagging_operation::de_s3_set_object_tagging_operation(&mut tag)
?
)
;
builder = builder.set_s3_put_object_tagging(var_14);
}
,
s if s.matches("S3DeleteObjectTagging") => {
let var_15 =
Some(
crate::protocol_serde::shape_s3_delete_object_tagging_operation::de_s3_delete_object_tagging_operation(&mut tag)
?
)
;
builder = builder.set_s3_delete_object_tagging(var_15);
}
,
s if s.matches("S3InitiateRestoreObject") => {
let var_16 =
Some(
crate::protocol_serde::shape_s3_initiate_restore_object_operation::de_s3_initiate_restore_object_operation(&mut tag)
?
)
;
builder = builder.set_s3_initiate_restore_object(var_16);
}
,
s if s.matches("S3PutObjectLegalHold") => {
let var_17 =
Some(
crate::protocol_serde::shape_s3_set_object_legal_hold_operation::de_s3_set_object_legal_hold_operation(&mut tag)
?
)
;
builder = builder.set_s3_put_object_legal_hold(var_17);
}
,
s if s.matches("S3PutObjectRetention") => {
let var_18 =
Some(
crate::protocol_serde::shape_s3_set_object_retention_operation::de_s3_set_object_retention_operation(&mut tag)
?
)
;
builder = builder.set_s3_put_object_retention(var_18);
}
,
s if s.matches("S3ReplicateObject") => {
let var_19 =
Some(
crate::protocol_serde::shape_s3_replicate_object_operation::de_s3_replicate_object_operation(&mut tag)
?
)
;
builder = builder.set_s3_replicate_object(var_19);
}
,
s if s.matches("S3ComputeObjectChecksum") => {
let var_20 =
Some(
crate::protocol_serde::shape_s3_compute_object_checksum_operation::de_s3_compute_object_checksum_operation(&mut tag)
?
)
;
builder = builder.set_s3_compute_object_checksum(var_20);
}
,
_ => {}
}
}
Ok(builder.build())
}