aws_sdk_ec2/protocol_serde/
shape_path_component.rs1#[allow(clippy::needless_question_mark)]
3pub fn de_path_component(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::PathComponent, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::PathComponent::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("sequenceNumber") => {
11 let var_1 =
12 Some(
13 {
14 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
15 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
16 )
17 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
18 }
19 ?
20 )
21 ;
22 builder = builder.set_sequence_number(var_1);
23 }
24 ,
25 s if s.matches("aclRule") => {
26 let var_2 =
27 Some(
28 crate::protocol_serde::shape_analysis_acl_rule::de_analysis_acl_rule(&mut tag)
29 ?
30 )
31 ;
32 builder = builder.set_acl_rule(var_2);
33 }
34 ,
35 s if s.matches("attachedTo") => {
36 let var_3 =
37 Some(
38 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
39 ?
40 )
41 ;
42 builder = builder.set_attached_to(var_3);
43 }
44 ,
45 s if s.matches("component") => {
46 let var_4 =
47 Some(
48 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
49 ?
50 )
51 ;
52 builder = builder.set_component(var_4);
53 }
54 ,
55 s if s.matches("destinationVpc") => {
56 let var_5 =
57 Some(
58 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
59 ?
60 )
61 ;
62 builder = builder.set_destination_vpc(var_5);
63 }
64 ,
65 s if s.matches("outboundHeader") => {
66 let var_6 =
67 Some(
68 crate::protocol_serde::shape_analysis_packet_header::de_analysis_packet_header(&mut tag)
69 ?
70 )
71 ;
72 builder = builder.set_outbound_header(var_6);
73 }
74 ,
75 s if s.matches("inboundHeader") => {
76 let var_7 =
77 Some(
78 crate::protocol_serde::shape_analysis_packet_header::de_analysis_packet_header(&mut tag)
79 ?
80 )
81 ;
82 builder = builder.set_inbound_header(var_7);
83 }
84 ,
85 s if s.matches("routeTableRoute") => {
86 let var_8 =
87 Some(
88 crate::protocol_serde::shape_analysis_route_table_route::de_analysis_route_table_route(&mut tag)
89 ?
90 )
91 ;
92 builder = builder.set_route_table_route(var_8);
93 }
94 ,
95 s if s.matches("securityGroupRule") => {
96 let var_9 =
97 Some(
98 crate::protocol_serde::shape_analysis_security_group_rule::de_analysis_security_group_rule(&mut tag)
99 ?
100 )
101 ;
102 builder = builder.set_security_group_rule(var_9);
103 }
104 ,
105 s if s.matches("sourceVpc") => {
106 let var_10 =
107 Some(
108 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
109 ?
110 )
111 ;
112 builder = builder.set_source_vpc(var_10);
113 }
114 ,
115 s if s.matches("subnet") => {
116 let var_11 =
117 Some(
118 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
119 ?
120 )
121 ;
122 builder = builder.set_subnet(var_11);
123 }
124 ,
125 s if s.matches("vpc") => {
126 let var_12 =
127 Some(
128 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
129 ?
130 )
131 ;
132 builder = builder.set_vpc(var_12);
133 }
134 ,
135 s if s.matches("additionalDetailSet") => {
136 let var_13 =
137 Some(
138 crate::protocol_serde::shape_additional_detail_list::de_additional_detail_list(&mut tag)
139 ?
140 )
141 ;
142 builder = builder.set_additional_details(var_13);
143 }
144 ,
145 s if s.matches("transitGateway") => {
146 let var_14 =
147 Some(
148 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
149 ?
150 )
151 ;
152 builder = builder.set_transit_gateway(var_14);
153 }
154 ,
155 s if s.matches("transitGatewayRouteTableRoute") => {
156 let var_15 =
157 Some(
158 crate::protocol_serde::shape_transit_gateway_route_table_route::de_transit_gateway_route_table_route(&mut tag)
159 ?
160 )
161 ;
162 builder = builder.set_transit_gateway_route_table_route(var_15);
163 }
164 ,
165 s if s.matches("explanationSet") => {
166 let var_16 =
167 Some(
168 crate::protocol_serde::shape_explanation_list::de_explanation_list(&mut tag)
169 ?
170 )
171 ;
172 builder = builder.set_explanations(var_16);
173 }
174 ,
175 s if s.matches("elasticLoadBalancerListener") => {
176 let var_17 =
177 Some(
178 crate::protocol_serde::shape_analysis_component::de_analysis_component(&mut tag)
179 ?
180 )
181 ;
182 builder = builder.set_elastic_load_balancer_listener(var_17);
183 }
184 ,
185 s if s.matches("firewallStatelessRule") => {
186 let var_18 =
187 Some(
188 crate::protocol_serde::shape_firewall_stateless_rule::de_firewall_stateless_rule(&mut tag)
189 ?
190 )
191 ;
192 builder = builder.set_firewall_stateless_rule(var_18);
193 }
194 ,
195 s if s.matches("firewallStatefulRule") => {
196 let var_19 =
197 Some(
198 crate::protocol_serde::shape_firewall_stateful_rule::de_firewall_stateful_rule(&mut tag)
199 ?
200 )
201 ;
202 builder = builder.set_firewall_stateful_rule(var_19);
203 }
204 ,
205 s if s.matches("serviceName") => {
206 let var_20 =
207 Some(
208 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
209 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
210 .into()
211 )
212 ?
213 )
214 ;
215 builder = builder.set_service_name(var_20);
216 }
217 ,
218 _ => {}
219 }
220 }
221 Ok(builder.build())
222}