aws_sdk_ec2/protocol_serde/
shape_create_capacity_reservation_fleet.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_capacity_reservation_fleet_http_error(
4    _response_status: u16,
5    _response_headers: &::aws_smithy_runtime_api::http::Headers,
6    _response_body: &[u8],
7) -> std::result::Result<
8    crate::operation::create_capacity_reservation_fleet::CreateCapacityReservationFleetOutput,
9    crate::operation::create_capacity_reservation_fleet::CreateCapacityReservationFleetError,
10> {
11    #[allow(unused_mut)]
12    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
13        .map_err(crate::operation::create_capacity_reservation_fleet::CreateCapacityReservationFleetError::unhandled)?;
14    generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15    let generic = generic_builder.build();
16    Err(crate::operation::create_capacity_reservation_fleet::CreateCapacityReservationFleetError::generic(generic))
17}
18
19#[allow(clippy::unnecessary_wraps)]
20pub fn de_create_capacity_reservation_fleet_http_response(
21    _response_status: u16,
22    _response_headers: &::aws_smithy_runtime_api::http::Headers,
23    _response_body: &[u8],
24) -> std::result::Result<
25    crate::operation::create_capacity_reservation_fleet::CreateCapacityReservationFleetOutput,
26    crate::operation::create_capacity_reservation_fleet::CreateCapacityReservationFleetError,
27> {
28    Ok({
29        #[allow(unused_mut)]
30        let mut output = crate::operation::create_capacity_reservation_fleet::builders::CreateCapacityReservationFleetOutputBuilder::default();
31        output = crate::protocol_serde::shape_create_capacity_reservation_fleet::de_create_capacity_reservation_fleet(_response_body, output)
32            .map_err(crate::operation::create_capacity_reservation_fleet::CreateCapacityReservationFleetError::unhandled)?;
33        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
34        output.build()
35    })
36}
37
38#[allow(unused_mut)]
39pub fn de_create_capacity_reservation_fleet(
40    inp: &[u8],
41    mut builder: crate::operation::create_capacity_reservation_fleet::builders::CreateCapacityReservationFleetOutputBuilder,
42) -> std::result::Result<
43    crate::operation::create_capacity_reservation_fleet::builders::CreateCapacityReservationFleetOutputBuilder,
44    ::aws_smithy_xml::decode::XmlDecodeError,
45> {
46    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
47
48    #[allow(unused_mut)]
49    let mut decoder = doc.root_element()?;
50    #[allow(unused_variables)]
51    let start_el = decoder.start_el();
52    if !(start_el.matches("CreateCapacityReservationFleetResponse")) {
53        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
54            "invalid root, expected CreateCapacityReservationFleetResponse got {:?}",
55            start_el
56        )));
57    }
58    while let Some(mut tag) = decoder.next_tag() {
59        match tag.start_el() {
60            s if s.matches("capacityReservationFleetId") /* CapacityReservationFleetId com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$CapacityReservationFleetId */ =>  {
61                let var_1 =
62                    Some(
63                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
64                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
65                            .into()
66                        )
67                        ?
68                    )
69                ;
70                builder = builder.set_capacity_reservation_fleet_id(var_1);
71            }
72            ,
73            s if s.matches("state") /* State com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$State */ =>  {
74                let var_2 =
75                    Some(
76                        Result::<crate::types::CapacityReservationFleetState, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
77                            crate::types::CapacityReservationFleetState::from(
78                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
79                            )
80                        )
81                        ?
82                    )
83                ;
84                builder = builder.set_state(var_2);
85            }
86            ,
87            s if s.matches("totalTargetCapacity") /* TotalTargetCapacity com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$TotalTargetCapacity */ =>  {
88                let var_3 =
89                    Some(
90                         {
91                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
92                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
93                            )
94                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
95                        }
96                        ?
97                    )
98                ;
99                builder = builder.set_total_target_capacity(var_3);
100            }
101            ,
102            s if s.matches("totalFulfilledCapacity") /* TotalFulfilledCapacity com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$TotalFulfilledCapacity */ =>  {
103                let var_4 =
104                    Some(
105                         {
106                            <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
107                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
108                            )
109                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `com.amazonaws.ec2#Double`)"))
110                        }
111                        ?
112                    )
113                ;
114                builder = builder.set_total_fulfilled_capacity(var_4);
115            }
116            ,
117            s if s.matches("instanceMatchCriteria") /* InstanceMatchCriteria com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$InstanceMatchCriteria */ =>  {
118                let var_5 =
119                    Some(
120                        Result::<crate::types::FleetInstanceMatchCriteria, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
121                            crate::types::FleetInstanceMatchCriteria::from(
122                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
123                            )
124                        )
125                        ?
126                    )
127                ;
128                builder = builder.set_instance_match_criteria(var_5);
129            }
130            ,
131            s if s.matches("allocationStrategy") /* AllocationStrategy com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$AllocationStrategy */ =>  {
132                let var_6 =
133                    Some(
134                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
135                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
136                            .into()
137                        )
138                        ?
139                    )
140                ;
141                builder = builder.set_allocation_strategy(var_6);
142            }
143            ,
144            s if s.matches("createTime") /* CreateTime com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$CreateTime */ =>  {
145                let var_7 =
146                    Some(
147                        ::aws_smithy_types::DateTime::from_str(
148                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
149                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
150                        )
151                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.ec2#MillisecondDateTime`)"))
152                        ?
153                    )
154                ;
155                builder = builder.set_create_time(var_7);
156            }
157            ,
158            s if s.matches("endDate") /* EndDate com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$EndDate */ =>  {
159                let var_8 =
160                    Some(
161                        ::aws_smithy_types::DateTime::from_str(
162                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
163                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
164                        )
165                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.ec2#MillisecondDateTime`)"))
166                        ?
167                    )
168                ;
169                builder = builder.set_end_date(var_8);
170            }
171            ,
172            s if s.matches("tenancy") /* Tenancy com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$Tenancy */ =>  {
173                let var_9 =
174                    Some(
175                        Result::<crate::types::FleetCapacityReservationTenancy, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
176                            crate::types::FleetCapacityReservationTenancy::from(
177                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
178                            )
179                        )
180                        ?
181                    )
182                ;
183                builder = builder.set_tenancy(var_9);
184            }
185            ,
186            s if s.matches("fleetCapacityReservationSet") /* FleetCapacityReservations com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$FleetCapacityReservations */ =>  {
187                let var_10 =
188                    Some(
189                        crate::protocol_serde::shape_fleet_capacity_reservation_set::de_fleet_capacity_reservation_set(&mut tag)
190                        ?
191                    )
192                ;
193                builder = builder.set_fleet_capacity_reservations(var_10);
194            }
195            ,
196            s if s.matches("tagSet") /* Tags com.amazonaws.ec2.synthetic#CreateCapacityReservationFleetOutput$Tags */ =>  {
197                let var_11 =
198                    Some(
199                        crate::protocol_serde::shape_tag_list::de_tag_list(&mut tag)
200                        ?
201                    )
202                ;
203                builder = builder.set_tags(var_11);
204            }
205            ,
206            _ => {}
207        }
208    }
209    Ok(builder)
210}