aws_sdk_ec2/protocol_serde/
shape_instance_network_interface.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::needless_question_mark)]
3pub fn de_instance_network_interface(
4    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::InstanceNetworkInterface, ::aws_smithy_xml::decode::XmlDecodeError> {
6    #[allow(unused_mut)]
7    let mut builder = crate::types::InstanceNetworkInterface::builder();
8    while let Some(mut tag) = decoder.next_tag() {
9        match tag.start_el() {
10            s if s.matches("association") /* Association com.amazonaws.ec2#InstanceNetworkInterface$Association */ =>  {
11                let var_1 =
12                    Some(
13                        crate::protocol_serde::shape_instance_network_interface_association::de_instance_network_interface_association(&mut tag)
14                        ?
15                    )
16                ;
17                builder = builder.set_association(var_1);
18            }
19            ,
20            s if s.matches("attachment") /* Attachment com.amazonaws.ec2#InstanceNetworkInterface$Attachment */ =>  {
21                let var_2 =
22                    Some(
23                        crate::protocol_serde::shape_instance_network_interface_attachment::de_instance_network_interface_attachment(&mut tag)
24                        ?
25                    )
26                ;
27                builder = builder.set_attachment(var_2);
28            }
29            ,
30            s if s.matches("description") /* Description com.amazonaws.ec2#InstanceNetworkInterface$Description */ =>  {
31                let var_3 =
32                    Some(
33                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
34                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
35                            .into()
36                        )
37                        ?
38                    )
39                ;
40                builder = builder.set_description(var_3);
41            }
42            ,
43            s if s.matches("groupSet") /* Groups com.amazonaws.ec2#InstanceNetworkInterface$Groups */ =>  {
44                let var_4 =
45                    Some(
46                        crate::protocol_serde::shape_group_identifier_list::de_group_identifier_list(&mut tag)
47                        ?
48                    )
49                ;
50                builder = builder.set_groups(var_4);
51            }
52            ,
53            s if s.matches("ipv6AddressesSet") /* Ipv6Addresses com.amazonaws.ec2#InstanceNetworkInterface$Ipv6Addresses */ =>  {
54                let var_5 =
55                    Some(
56                        crate::protocol_serde::shape_instance_ipv6_address_list::de_instance_ipv6_address_list(&mut tag)
57                        ?
58                    )
59                ;
60                builder = builder.set_ipv6_addresses(var_5);
61            }
62            ,
63            s if s.matches("macAddress") /* MacAddress com.amazonaws.ec2#InstanceNetworkInterface$MacAddress */ =>  {
64                let var_6 =
65                    Some(
66                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
67                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
68                            .into()
69                        )
70                        ?
71                    )
72                ;
73                builder = builder.set_mac_address(var_6);
74            }
75            ,
76            s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#InstanceNetworkInterface$NetworkInterfaceId */ =>  {
77                let var_7 =
78                    Some(
79                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
80                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
81                            .into()
82                        )
83                        ?
84                    )
85                ;
86                builder = builder.set_network_interface_id(var_7);
87            }
88            ,
89            s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#InstanceNetworkInterface$OwnerId */ =>  {
90                let var_8 =
91                    Some(
92                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
93                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
94                            .into()
95                        )
96                        ?
97                    )
98                ;
99                builder = builder.set_owner_id(var_8);
100            }
101            ,
102            s if s.matches("privateDnsName") /* PrivateDnsName com.amazonaws.ec2#InstanceNetworkInterface$PrivateDnsName */ =>  {
103                let var_9 =
104                    Some(
105                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
106                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
107                            .into()
108                        )
109                        ?
110                    )
111                ;
112                builder = builder.set_private_dns_name(var_9);
113            }
114            ,
115            s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#InstanceNetworkInterface$PrivateIpAddress */ =>  {
116                let var_10 =
117                    Some(
118                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
119                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
120                            .into()
121                        )
122                        ?
123                    )
124                ;
125                builder = builder.set_private_ip_address(var_10);
126            }
127            ,
128            s if s.matches("privateIpAddressesSet") /* PrivateIpAddresses com.amazonaws.ec2#InstanceNetworkInterface$PrivateIpAddresses */ =>  {
129                let var_11 =
130                    Some(
131                        crate::protocol_serde::shape_instance_private_ip_address_list::de_instance_private_ip_address_list(&mut tag)
132                        ?
133                    )
134                ;
135                builder = builder.set_private_ip_addresses(var_11);
136            }
137            ,
138            s if s.matches("sourceDestCheck") /* SourceDestCheck com.amazonaws.ec2#InstanceNetworkInterface$SourceDestCheck */ =>  {
139                let var_12 =
140                    Some(
141                         {
142                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
143                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
144                            )
145                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.ec2#Boolean`)"))
146                        }
147                        ?
148                    )
149                ;
150                builder = builder.set_source_dest_check(var_12);
151            }
152            ,
153            s if s.matches("status") /* Status com.amazonaws.ec2#InstanceNetworkInterface$Status */ =>  {
154                let var_13 =
155                    Some(
156                        Result::<crate::types::NetworkInterfaceStatus, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
157                            crate::types::NetworkInterfaceStatus::from(
158                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
159                            )
160                        )
161                        ?
162                    )
163                ;
164                builder = builder.set_status(var_13);
165            }
166            ,
167            s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#InstanceNetworkInterface$SubnetId */ =>  {
168                let var_14 =
169                    Some(
170                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
171                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
172                            .into()
173                        )
174                        ?
175                    )
176                ;
177                builder = builder.set_subnet_id(var_14);
178            }
179            ,
180            s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#InstanceNetworkInterface$VpcId */ =>  {
181                let var_15 =
182                    Some(
183                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
184                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
185                            .into()
186                        )
187                        ?
188                    )
189                ;
190                builder = builder.set_vpc_id(var_15);
191            }
192            ,
193            s if s.matches("interfaceType") /* InterfaceType com.amazonaws.ec2#InstanceNetworkInterface$InterfaceType */ =>  {
194                let var_16 =
195                    Some(
196                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
197                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
198                            .into()
199                        )
200                        ?
201                    )
202                ;
203                builder = builder.set_interface_type(var_16);
204            }
205            ,
206            s if s.matches("ipv4PrefixSet") /* Ipv4Prefixes com.amazonaws.ec2#InstanceNetworkInterface$Ipv4Prefixes */ =>  {
207                let var_17 =
208                    Some(
209                        crate::protocol_serde::shape_instance_ipv4_prefix_list::de_instance_ipv4_prefix_list(&mut tag)
210                        ?
211                    )
212                ;
213                builder = builder.set_ipv4_prefixes(var_17);
214            }
215            ,
216            s if s.matches("ipv6PrefixSet") /* Ipv6Prefixes com.amazonaws.ec2#InstanceNetworkInterface$Ipv6Prefixes */ =>  {
217                let var_18 =
218                    Some(
219                        crate::protocol_serde::shape_instance_ipv6_prefix_list::de_instance_ipv6_prefix_list(&mut tag)
220                        ?
221                    )
222                ;
223                builder = builder.set_ipv6_prefixes(var_18);
224            }
225            ,
226            s if s.matches("connectionTrackingConfiguration") /* ConnectionTrackingConfiguration com.amazonaws.ec2#InstanceNetworkInterface$ConnectionTrackingConfiguration */ =>  {
227                let var_19 =
228                    Some(
229                        crate::protocol_serde::shape_connection_tracking_specification_response::de_connection_tracking_specification_response(&mut tag)
230                        ?
231                    )
232                ;
233                builder = builder.set_connection_tracking_configuration(var_19);
234            }
235            ,
236            s if s.matches("operator") /* Operator com.amazonaws.ec2#InstanceNetworkInterface$Operator */ =>  {
237                let var_20 =
238                    Some(
239                        crate::protocol_serde::shape_operator_response::de_operator_response(&mut tag)
240                        ?
241                    )
242                ;
243                builder = builder.set_operator(var_20);
244            }
245            ,
246            _ => {}
247        }
248    }
249    Ok(builder.build())
250}