aws-sdk-s3control 1.107.0

AWS SDK for AWS S3 Control
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
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") /* LambdaInvoke com.amazonaws.s3control#JobOperation$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") /* S3PutObjectCopy com.amazonaws.s3control#JobOperation$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") /* S3PutObjectAcl com.amazonaws.s3control#JobOperation$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") /* S3PutObjectTagging com.amazonaws.s3control#JobOperation$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") /* S3DeleteObjectTagging com.amazonaws.s3control#JobOperation$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") /* S3InitiateRestoreObject com.amazonaws.s3control#JobOperation$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") /* S3PutObjectLegalHold com.amazonaws.s3control#JobOperation$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") /* S3PutObjectRetention com.amazonaws.s3control#JobOperation$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") /* S3ReplicateObject com.amazonaws.s3control#JobOperation$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") /* S3ComputeObjectChecksum com.amazonaws.s3control#JobOperation$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())
}