107 107 | "com.amazonaws.ebs.synthetic",
|
108 108 | "StartSnapshotInput",
|
109 109 | );
|
110 110 | static STARTSNAPSHOTINPUT_MEMBER_TIMEOUT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
111 111 | ::aws_smithy_schema::ShapeId::from_static(
|
112 112 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$Timeout",
|
113 113 | "com.amazonaws.ebs.synthetic",
|
114 114 | "StartSnapshotInput",
|
115 115 | ),
|
116 116 | ::aws_smithy_schema::ShapeType::Integer,
|
117 - | "timeout",
|
117 + | "Timeout",
|
118 118 | 0,
|
119 119 | );
|
120 120 | static STARTSNAPSHOTINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
121 121 | ::aws_smithy_schema::ShapeId::from_static(
|
122 122 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$ClientToken",
|
123 123 | "com.amazonaws.ebs.synthetic",
|
124 124 | "StartSnapshotInput",
|
125 125 | ),
|
126 126 | ::aws_smithy_schema::ShapeType::String,
|
127 - | "client_token",
|
127 + | "ClientToken",
|
128 128 | 1,
|
129 129 | );
|
130 130 | static STARTSNAPSHOTINPUT_MEMBER_VOLUME_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
131 131 | ::aws_smithy_schema::ShapeId::from_static(
|
132 132 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$VolumeSize",
|
133 133 | "com.amazonaws.ebs.synthetic",
|
134 134 | "StartSnapshotInput",
|
135 135 | ),
|
136 136 | ::aws_smithy_schema::ShapeType::Long,
|
137 - | "volume_size",
|
137 + | "VolumeSize",
|
138 138 | 2,
|
139 139 | );
|
140 140 | static STARTSNAPSHOTINPUT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
141 141 | ::aws_smithy_schema::ShapeId::from_static(
|
142 142 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$Tags",
|
143 143 | "com.amazonaws.ebs.synthetic",
|
144 144 | "StartSnapshotInput",
|
145 145 | ),
|
146 146 | ::aws_smithy_schema::ShapeType::List,
|
147 - | "tags",
|
147 + | "Tags",
|
148 148 | 3,
|
149 149 | );
|
150 150 | static STARTSNAPSHOTINPUT_MEMBER_ENCRYPTED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
151 151 | ::aws_smithy_schema::ShapeId::from_static(
|
152 152 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$Encrypted",
|
153 153 | "com.amazonaws.ebs.synthetic",
|
154 154 | "StartSnapshotInput",
|
155 155 | ),
|
156 156 | ::aws_smithy_schema::ShapeType::Boolean,
|
157 - | "encrypted",
|
157 + | "Encrypted",
|
158 158 | 4,
|
159 159 | );
|
160 160 | static STARTSNAPSHOTINPUT_MEMBER_KMS_KEY_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
161 161 | ::aws_smithy_schema::ShapeId::from_static(
|
162 162 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$KmsKeyArn",
|
163 163 | "com.amazonaws.ebs.synthetic",
|
164 164 | "StartSnapshotInput",
|
165 165 | ),
|
166 166 | ::aws_smithy_schema::ShapeType::String,
|
167 - | "kms_key_arn",
|
167 + | "KmsKeyArn",
|
168 168 | 5,
|
169 169 | );
|
170 170 | static STARTSNAPSHOTINPUT_MEMBER_PARENT_SNAPSHOT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
171 171 | ::aws_smithy_schema::ShapeId::from_static(
|
172 172 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$ParentSnapshotId",
|
173 173 | "com.amazonaws.ebs.synthetic",
|
174 174 | "StartSnapshotInput",
|
175 175 | ),
|
176 176 | ::aws_smithy_schema::ShapeType::String,
|
177 - | "parent_snapshot_id",
|
177 + | "ParentSnapshotId",
|
178 178 | 6,
|
179 179 | );
|
180 180 | static STARTSNAPSHOTINPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
181 181 | ::aws_smithy_schema::ShapeId::from_static(
|
182 182 | "com.amazonaws.ebs.synthetic#StartSnapshotInput$Description",
|
183 183 | "com.amazonaws.ebs.synthetic",
|
184 184 | "StartSnapshotInput",
|
185 185 | ),
|
186 186 | ::aws_smithy_schema::ShapeType::String,
|
187 - | "description",
|
187 + | "Description",
|
188 188 | 7,
|
189 189 | );
|
190 190 | static STARTSNAPSHOTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
191 191 | STARTSNAPSHOTINPUT_SCHEMA_ID,
|
192 192 | ::aws_smithy_schema::ShapeType::Structure,
|
193 193 | &[
|
194 194 | &STARTSNAPSHOTINPUT_MEMBER_TIMEOUT,
|
195 195 | &STARTSNAPSHOTINPUT_MEMBER_CLIENT_TOKEN,
|
196 196 | &STARTSNAPSHOTINPUT_MEMBER_VOLUME_SIZE,
|
197 197 | &STARTSNAPSHOTINPUT_MEMBER_TAGS,
|
198 198 | &STARTSNAPSHOTINPUT_MEMBER_ENCRYPTED,
|
199 199 | &STARTSNAPSHOTINPUT_MEMBER_KMS_KEY_ARN,
|
200 200 | &STARTSNAPSHOTINPUT_MEMBER_PARENT_SNAPSHOT_ID,
|
201 201 | &STARTSNAPSHOTINPUT_MEMBER_DESCRIPTION,
|
202 202 | ],
|
203 - | );
|
203 + | )
|
204 + | .with_http(aws_smithy_schema::traits::HttpTrait::new("POST", "/snapshots", Some(201)));
|
204 205 | impl StartSnapshotInput {
|
205 206 | /// The schema for this shape.
|
206 207 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &STARTSNAPSHOTINPUT_SCHEMA;
|
207 208 | }
|
208 209 | impl ::aws_smithy_schema::serde::SerializableStruct for StartSnapshotInput {
|
209 210 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
210 211 | fn serialize_members(
|
211 212 | &self,
|
212 213 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
213 214 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
214 215 | if let Some(ref val) = self.timeout {
|
215 216 | ser.write_integer(&STARTSNAPSHOTINPUT_MEMBER_TIMEOUT, *val)?;
|
216 217 | }
|
217 218 | if let Some(ref val) = self.client_token {
|
218 219 | ser.write_string(&STARTSNAPSHOTINPUT_MEMBER_CLIENT_TOKEN, val)?;
|
219 220 | }
|
220 221 | if let Some(ref val) = self.volume_size {
|
221 222 | ser.write_long(&STARTSNAPSHOTINPUT_MEMBER_VOLUME_SIZE, *val)?;
|
222 223 | }
|
223 224 | if let Some(ref val) = self.tags {
|
224 225 | ser.write_list(
|
225 226 | &STARTSNAPSHOTINPUT_MEMBER_TAGS,
|
226 227 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
227 228 | for item in val {
|
228 229 | ser.write_struct(crate::types::Tag::SCHEMA, item)?;
|
229 230 | }
|
230 231 | Ok(())
|
231 232 | },
|
232 233 | )?;
|
233 234 | }
|
234 235 | if let Some(ref val) = self.encrypted {
|
235 236 | ser.write_boolean(&STARTSNAPSHOTINPUT_MEMBER_ENCRYPTED, *val)?;
|
236 237 | }
|
237 238 | if let Some(ref val) = self.kms_key_arn {
|
238 239 | ser.write_string(&STARTSNAPSHOTINPUT_MEMBER_KMS_KEY_ARN, val)?;
|
239 240 | }
|
240 241 | if let Some(ref val) = self.parent_snapshot_id {
|
241 242 | ser.write_string(&STARTSNAPSHOTINPUT_MEMBER_PARENT_SNAPSHOT_ID, val)?;
|
242 243 | }
|
243 244 | if let Some(ref val) = self.description {
|
244 245 | ser.write_string(&STARTSNAPSHOTINPUT_MEMBER_DESCRIPTION, val)?;
|
245 246 | }
|
246 247 | Ok(())
|
247 248 | }
|
248 249 | }
|
249 250 | impl StartSnapshotInput {
|
250 251 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
251 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
252 - | deserializer: &mut D,
|
252 + | pub fn deserialize(
|
253 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
253 254 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
254 255 | #[allow(unused_variables, unused_mut)]
|
255 256 | let mut builder = Self::builder();
|
256 257 | #[allow(
|
257 258 | unused_variables,
|
258 259 | unreachable_code,
|
259 260 | clippy::single_match,
|
260 261 | clippy::match_single_binding,
|
261 262 | clippy::diverging_sub_expression
|
262 263 | )]
|
263 - | deserializer.read_struct(&STARTSNAPSHOTINPUT_SCHEMA, (), |_, member, deser| {
|
264 + | deserializer.read_struct(&STARTSNAPSHOTINPUT_SCHEMA, &mut |member, deser| {
|
264 265 | match member.member_index() {
|
265 266 | Some(0) => {
|
266 267 | builder.timeout = Some(deser.read_integer(member)?);
|
267 268 | }
|
268 269 | Some(1) => {
|
269 270 | builder.client_token = Some(deser.read_string(member)?);
|
270 271 | }
|
271 272 | Some(2) => {
|
272 273 | builder.volume_size = Some(deser.read_long(member)?);
|
273 274 | }
|
274 275 | Some(3) => {
|
275 276 | builder.tags = Some({
|
276 - | let container = if let Some(cap) = deser.container_size() {
|
277 - | Vec::with_capacity(cap)
|
278 - | } else {
|
279 - | Vec::new()
|
280 - | };
|
281 - | deser.read_list(member, container, |mut list, deser| {
|
282 - | list.push(crate::types::Tag::deserialize(deser)?);
|
283 - | Ok(list)
|
284 - | })?
|
277 + | let mut container = Vec::new();
|
278 + | deser.read_list(member, &mut |deser| {
|
279 + | container.push(crate::types::Tag::deserialize(deser)?);
|
280 + | Ok(())
|
281 + | })?;
|
282 + | container
|
285 283 | });
|
286 284 | }
|
287 285 | Some(4) => {
|
288 286 | builder.encrypted = Some(deser.read_boolean(member)?);
|
289 287 | }
|
290 288 | Some(5) => {
|
291 289 | builder.kms_key_arn = Some(deser.read_string(member)?);
|
292 290 | }
|
293 291 | Some(6) => {
|
294 292 | builder.parent_snapshot_id = Some(deser.read_string(member)?);
|
295 293 | }
|
296 294 | Some(7) => {
|
297 295 | builder.description = Some(deser.read_string(member)?);
|
298 296 | }
|
299 297 | _ => {}
|
300 298 | }
|
301 299 | Ok(())
|
302 300 | })?;
|
301 + | builder.volume_size = builder.volume_size.or(Some(0i64));
|
303 302 | builder
|
304 303 | .build()
|
305 304 | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
306 305 | }
|
307 306 | }
|
307 + | impl StartSnapshotInput {
|
308 + | /// Deserializes this structure from a body deserializer and HTTP response.
|
309 + | pub fn deserialize_with_response(
|
310 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
311 + | _headers: &::aws_smithy_runtime_api::http::Headers,
|
312 + | _status: u16,
|
313 + | _body: &[u8],
|
314 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
315 + | Self::deserialize(deserializer)
|
316 + | }
|
317 + | }
|
308 318 | impl StartSnapshotInput {
|
309 319 | /// Creates a new builder-style object to manufacture [`StartSnapshotInput`](crate::operation::start_snapshot::StartSnapshotInput).
|
310 320 | pub fn builder() -> crate::operation::start_snapshot::builders::StartSnapshotInputBuilder {
|
311 321 | crate::operation::start_snapshot::builders::StartSnapshotInputBuilder::default()
|
312 322 | }
|
313 323 | }
|
314 324 |
|
315 325 | /// A builder for [`StartSnapshotInput`](crate::operation::start_snapshot::StartSnapshotInput).
|
316 326 | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
|
317 327 | #[non_exhaustive]
|