aws_sdk_ec2/protocol_serde/
shape_vpc_encryption_control_exclusions.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::needless_question_mark)]
3pub fn de_vpc_encryption_control_exclusions(
4    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::VpcEncryptionControlExclusions, ::aws_smithy_xml::decode::XmlDecodeError> {
6    #[allow(unused_mut)]
7    let mut builder = crate::types::VpcEncryptionControlExclusions::builder();
8    while let Some(mut tag) = decoder.next_tag() {
9        match tag.start_el() {
10            s if s.matches("internetGateway") /* InternetGateway com.amazonaws.ec2#VpcEncryptionControlExclusions$InternetGateway */ =>  {
11                let var_1 =
12                    Some(
13                        crate::protocol_serde::shape_vpc_encryption_control_exclusion::de_vpc_encryption_control_exclusion(&mut tag)
14                        ?
15                    )
16                ;
17                builder = builder.set_internet_gateway(var_1);
18            }
19            ,
20            s if s.matches("egressOnlyInternetGateway") /* EgressOnlyInternetGateway com.amazonaws.ec2#VpcEncryptionControlExclusions$EgressOnlyInternetGateway */ =>  {
21                let var_2 =
22                    Some(
23                        crate::protocol_serde::shape_vpc_encryption_control_exclusion::de_vpc_encryption_control_exclusion(&mut tag)
24                        ?
25                    )
26                ;
27                builder = builder.set_egress_only_internet_gateway(var_2);
28            }
29            ,
30            s if s.matches("natGateway") /* NatGateway com.amazonaws.ec2#VpcEncryptionControlExclusions$NatGateway */ =>  {
31                let var_3 =
32                    Some(
33                        crate::protocol_serde::shape_vpc_encryption_control_exclusion::de_vpc_encryption_control_exclusion(&mut tag)
34                        ?
35                    )
36                ;
37                builder = builder.set_nat_gateway(var_3);
38            }
39            ,
40            s if s.matches("virtualPrivateGateway") /* VirtualPrivateGateway com.amazonaws.ec2#VpcEncryptionControlExclusions$VirtualPrivateGateway */ =>  {
41                let var_4 =
42                    Some(
43                        crate::protocol_serde::shape_vpc_encryption_control_exclusion::de_vpc_encryption_control_exclusion(&mut tag)
44                        ?
45                    )
46                ;
47                builder = builder.set_virtual_private_gateway(var_4);
48            }
49            ,
50            s if s.matches("vpcPeering") /* VpcPeering com.amazonaws.ec2#VpcEncryptionControlExclusions$VpcPeering */ =>  {
51                let var_5 =
52                    Some(
53                        crate::protocol_serde::shape_vpc_encryption_control_exclusion::de_vpc_encryption_control_exclusion(&mut tag)
54                        ?
55                    )
56                ;
57                builder = builder.set_vpc_peering(var_5);
58            }
59            ,
60            _ => {}
61        }
62    }
63    Ok(builder.build())
64}