1use std::error::Error;
14use std::fmt;
15
16use async_trait::async_trait;
17use rusoto_core::credential::ProvideAwsCredentials;
18use rusoto_core::region;
19use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest};
20use rusoto_core::{Client, RusotoError};
21
22use rusoto_core::param::{Params, ServiceParams};
23use rusoto_core::proto::xml::error::*;
24use rusoto_core::proto::xml::util::{
25 self as xml_util, deserialize_elements, find_start_element, skip_tree,
26};
27use rusoto_core::proto::xml::util::{Next, Peek, XmlParseError, XmlResponse};
28use rusoto_core::request::HttpResponse;
29use rusoto_core::signature::SignedRequest;
30#[cfg(feature = "deserialize_structs")]
31use serde::Deserialize;
32#[cfg(feature = "serialize_structs")]
33use serde::Serialize;
34use serde_urlencoded;
35use std::str::FromStr;
36use xml::EventReader;
37
38impl CloudFormationClient {
39 fn new_params(&self, operation_name: &str) -> Params {
40 let mut params = Params::new();
41
42 params.put("Action", operation_name);
43 params.put("Version", "2010-05-15");
44
45 params
46 }
47
48 async fn sign_and_dispatch<E>(
49 &self,
50 request: SignedRequest,
51 from_response: fn(BufferedHttpResponse) -> RusotoError<E>,
52 ) -> Result<HttpResponse, RusotoError<E>> {
53 let mut response = self.client.sign_and_dispatch(request).await?;
54 if !response.status.is_success() {
55 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
56 return Err(from_response(response));
57 }
58
59 Ok(response)
60 }
61}
62
63#[allow(dead_code)]
64struct AccountDeserializer;
65impl AccountDeserializer {
66 #[allow(dead_code, unused_variables)]
67 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
68 xml_util::deserialize_primitive(tag_name, stack, Ok)
69 }
70}
71#[derive(Clone, Debug, Default, PartialEq)]
73#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
74pub struct AccountGateResult {
75 pub status: Option<String>,
77 pub status_reason: Option<String>,
79}
80
81#[allow(dead_code)]
82struct AccountGateResultDeserializer;
83impl AccountGateResultDeserializer {
84 #[allow(dead_code, unused_variables)]
85 fn deserialize<T: Peek + Next>(
86 tag_name: &str,
87 stack: &mut T,
88 ) -> Result<AccountGateResult, XmlParseError> {
89 deserialize_elements::<_, AccountGateResult, _>(tag_name, stack, |name, stack, obj| {
90 match name {
91 "Status" => {
92 obj.status = Some(AccountGateStatusDeserializer::deserialize("Status", stack)?);
93 }
94 "StatusReason" => {
95 obj.status_reason = Some(AccountGateStatusReasonDeserializer::deserialize(
96 "StatusReason",
97 stack,
98 )?);
99 }
100 _ => skip_tree(stack),
101 }
102 Ok(())
103 })
104 }
105}
106#[allow(dead_code)]
107struct AccountGateStatusDeserializer;
108impl AccountGateStatusDeserializer {
109 #[allow(dead_code, unused_variables)]
110 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
111 xml_util::deserialize_primitive(tag_name, stack, Ok)
112 }
113}
114#[allow(dead_code)]
115struct AccountGateStatusReasonDeserializer;
116impl AccountGateStatusReasonDeserializer {
117 #[allow(dead_code, unused_variables)]
118 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
119 xml_util::deserialize_primitive(tag_name, stack, Ok)
120 }
121}
122#[derive(Clone, Debug, Default, PartialEq)]
124#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
125pub struct AccountLimit {
126 pub name: Option<String>,
128 pub value: Option<i64>,
130}
131
132#[allow(dead_code)]
133struct AccountLimitDeserializer;
134impl AccountLimitDeserializer {
135 #[allow(dead_code, unused_variables)]
136 fn deserialize<T: Peek + Next>(
137 tag_name: &str,
138 stack: &mut T,
139 ) -> Result<AccountLimit, XmlParseError> {
140 deserialize_elements::<_, AccountLimit, _>(tag_name, stack, |name, stack, obj| {
141 match name {
142 "Name" => {
143 obj.name = Some(LimitNameDeserializer::deserialize("Name", stack)?);
144 }
145 "Value" => {
146 obj.value = Some(LimitValueDeserializer::deserialize("Value", stack)?);
147 }
148 _ => skip_tree(stack),
149 }
150 Ok(())
151 })
152 }
153}
154#[allow(dead_code)]
155struct AccountLimitListDeserializer;
156impl AccountLimitListDeserializer {
157 #[allow(dead_code, unused_variables)]
158 fn deserialize<T: Peek + Next>(
159 tag_name: &str,
160 stack: &mut T,
161 ) -> Result<Vec<AccountLimit>, XmlParseError> {
162 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
163 if name == "member" {
164 obj.push(AccountLimitDeserializer::deserialize("member", stack)?);
165 } else {
166 skip_tree(stack);
167 }
168 Ok(())
169 })
170 }
171}
172#[allow(dead_code)]
173struct AccountListDeserializer;
174impl AccountListDeserializer {
175 #[allow(dead_code, unused_variables)]
176 fn deserialize<T: Peek + Next>(
177 tag_name: &str,
178 stack: &mut T,
179 ) -> Result<Vec<String>, XmlParseError> {
180 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
181 if name == "member" {
182 obj.push(AccountDeserializer::deserialize("member", stack)?);
183 } else {
184 skip_tree(stack);
185 }
186 Ok(())
187 })
188 }
189}
190
191struct AccountListSerializer;
193impl AccountListSerializer {
194 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
195 for (index, obj) in obj.iter().enumerate() {
196 let key = format!("{}.member.{}", name, index + 1);
197 params.put(&key, &obj);
198 }
199 }
200}
201
202#[allow(dead_code)]
203struct AllowedValueDeserializer;
204impl AllowedValueDeserializer {
205 #[allow(dead_code, unused_variables)]
206 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
207 xml_util::deserialize_primitive(tag_name, stack, Ok)
208 }
209}
210#[allow(dead_code)]
211struct AllowedValuesDeserializer;
212impl AllowedValuesDeserializer {
213 #[allow(dead_code, unused_variables)]
214 fn deserialize<T: Peek + Next>(
215 tag_name: &str,
216 stack: &mut T,
217 ) -> Result<Vec<String>, XmlParseError> {
218 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
219 if name == "member" {
220 obj.push(AllowedValueDeserializer::deserialize("member", stack)?);
221 } else {
222 skip_tree(stack);
223 }
224 Ok(())
225 })
226 }
227}
228#[allow(dead_code)]
229struct ArnDeserializer;
230impl ArnDeserializer {
231 #[allow(dead_code, unused_variables)]
232 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
233 xml_util::deserialize_primitive(tag_name, stack, Ok)
234 }
235}
236#[derive(Clone, Debug, Default, PartialEq)]
238#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
239#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
240pub struct AutoDeployment {
241 pub enabled: Option<bool>,
243 pub retain_stacks_on_account_removal: Option<bool>,
245}
246
247#[allow(dead_code)]
248struct AutoDeploymentDeserializer;
249impl AutoDeploymentDeserializer {
250 #[allow(dead_code, unused_variables)]
251 fn deserialize<T: Peek + Next>(
252 tag_name: &str,
253 stack: &mut T,
254 ) -> Result<AutoDeployment, XmlParseError> {
255 deserialize_elements::<_, AutoDeployment, _>(tag_name, stack, |name, stack, obj| {
256 match name {
257 "Enabled" => {
258 obj.enabled = Some(AutoDeploymentNullableDeserializer::deserialize(
259 "Enabled", stack,
260 )?);
261 }
262 "RetainStacksOnAccountRemoval" => {
263 obj.retain_stacks_on_account_removal = Some(
264 RetainStacksOnAccountRemovalNullableDeserializer::deserialize(
265 "RetainStacksOnAccountRemoval",
266 stack,
267 )?,
268 );
269 }
270 _ => skip_tree(stack),
271 }
272 Ok(())
273 })
274 }
275}
276
277struct AutoDeploymentSerializer;
279impl AutoDeploymentSerializer {
280 fn serialize(params: &mut Params, name: &str, obj: &AutoDeployment) {
281 let mut prefix = name.to_string();
282 if prefix != "" {
283 prefix.push_str(".");
284 }
285
286 if let Some(ref field_value) = obj.enabled {
287 params.put(&format!("{}{}", prefix, "Enabled"), &field_value);
288 }
289 if let Some(ref field_value) = obj.retain_stacks_on_account_removal {
290 params.put(
291 &format!("{}{}", prefix, "RetainStacksOnAccountRemoval"),
292 &field_value,
293 );
294 }
295 }
296}
297
298#[allow(dead_code)]
299struct AutoDeploymentNullableDeserializer;
300impl AutoDeploymentNullableDeserializer {
301 #[allow(dead_code, unused_variables)]
302 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
303 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
304 }
305}
306#[allow(dead_code)]
307struct BoxedIntegerDeserializer;
308impl BoxedIntegerDeserializer {
309 #[allow(dead_code, unused_variables)]
310 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
311 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
312 }
313}
314#[derive(Clone, Debug, Default, PartialEq)]
316#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
317pub struct CancelUpdateStackInput {
318 pub client_request_token: Option<String>,
320 pub stack_name: String,
322}
323
324struct CancelUpdateStackInputSerializer;
326impl CancelUpdateStackInputSerializer {
327 fn serialize(params: &mut Params, name: &str, obj: &CancelUpdateStackInput) {
328 let mut prefix = name.to_string();
329 if prefix != "" {
330 prefix.push_str(".");
331 }
332
333 if let Some(ref field_value) = obj.client_request_token {
334 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
335 }
336 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
337 }
338}
339
340#[allow(dead_code)]
341struct CapabilitiesDeserializer;
342impl CapabilitiesDeserializer {
343 #[allow(dead_code, unused_variables)]
344 fn deserialize<T: Peek + Next>(
345 tag_name: &str,
346 stack: &mut T,
347 ) -> Result<Vec<String>, XmlParseError> {
348 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
349 if name == "member" {
350 obj.push(CapabilityDeserializer::deserialize("member", stack)?);
351 } else {
352 skip_tree(stack);
353 }
354 Ok(())
355 })
356 }
357}
358
359struct CapabilitiesSerializer;
361impl CapabilitiesSerializer {
362 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
363 for (index, obj) in obj.iter().enumerate() {
364 let key = format!("{}.member.{}", name, index + 1);
365 params.put(&key, &obj);
366 }
367 }
368}
369
370#[allow(dead_code)]
371struct CapabilitiesReasonDeserializer;
372impl CapabilitiesReasonDeserializer {
373 #[allow(dead_code, unused_variables)]
374 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
375 xml_util::deserialize_primitive(tag_name, stack, Ok)
376 }
377}
378#[allow(dead_code)]
379struct CapabilityDeserializer;
380impl CapabilityDeserializer {
381 #[allow(dead_code, unused_variables)]
382 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
383 xml_util::deserialize_primitive(tag_name, stack, Ok)
384 }
385}
386#[allow(dead_code)]
387struct CausingEntityDeserializer;
388impl CausingEntityDeserializer {
389 #[allow(dead_code, unused_variables)]
390 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
391 xml_util::deserialize_primitive(tag_name, stack, Ok)
392 }
393}
394#[derive(Clone, Debug, Default, PartialEq)]
396#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
397pub struct Change {
398 pub resource_change: Option<ResourceChange>,
400 pub type_: Option<String>,
402}
403
404#[allow(dead_code)]
405struct ChangeDeserializer;
406impl ChangeDeserializer {
407 #[allow(dead_code, unused_variables)]
408 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Change, XmlParseError> {
409 deserialize_elements::<_, Change, _>(tag_name, stack, |name, stack, obj| {
410 match name {
411 "ResourceChange" => {
412 obj.resource_change = Some(ResourceChangeDeserializer::deserialize(
413 "ResourceChange",
414 stack,
415 )?);
416 }
417 "Type" => {
418 obj.type_ = Some(ChangeTypeDeserializer::deserialize("Type", stack)?);
419 }
420 _ => skip_tree(stack),
421 }
422 Ok(())
423 })
424 }
425}
426#[allow(dead_code)]
427struct ChangeActionDeserializer;
428impl ChangeActionDeserializer {
429 #[allow(dead_code, unused_variables)]
430 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
431 xml_util::deserialize_primitive(tag_name, stack, Ok)
432 }
433}
434#[allow(dead_code)]
435struct ChangeSetIdDeserializer;
436impl ChangeSetIdDeserializer {
437 #[allow(dead_code, unused_variables)]
438 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
439 xml_util::deserialize_primitive(tag_name, stack, Ok)
440 }
441}
442#[allow(dead_code)]
443struct ChangeSetNameDeserializer;
444impl ChangeSetNameDeserializer {
445 #[allow(dead_code, unused_variables)]
446 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
447 xml_util::deserialize_primitive(tag_name, stack, Ok)
448 }
449}
450#[allow(dead_code)]
451struct ChangeSetStatusDeserializer;
452impl ChangeSetStatusDeserializer {
453 #[allow(dead_code, unused_variables)]
454 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
455 xml_util::deserialize_primitive(tag_name, stack, Ok)
456 }
457}
458#[allow(dead_code)]
459struct ChangeSetStatusReasonDeserializer;
460impl ChangeSetStatusReasonDeserializer {
461 #[allow(dead_code, unused_variables)]
462 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
463 xml_util::deserialize_primitive(tag_name, stack, Ok)
464 }
465}
466#[allow(dead_code)]
467struct ChangeSetSummariesDeserializer;
468impl ChangeSetSummariesDeserializer {
469 #[allow(dead_code, unused_variables)]
470 fn deserialize<T: Peek + Next>(
471 tag_name: &str,
472 stack: &mut T,
473 ) -> Result<Vec<ChangeSetSummary>, XmlParseError> {
474 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
475 if name == "member" {
476 obj.push(ChangeSetSummaryDeserializer::deserialize("member", stack)?);
477 } else {
478 skip_tree(stack);
479 }
480 Ok(())
481 })
482 }
483}
484#[derive(Clone, Debug, Default, PartialEq)]
486#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
487pub struct ChangeSetSummary {
488 pub change_set_id: Option<String>,
490 pub change_set_name: Option<String>,
492 pub creation_time: Option<String>,
494 pub description: Option<String>,
496 pub execution_status: Option<String>,
498 pub stack_id: Option<String>,
500 pub stack_name: Option<String>,
502 pub status: Option<String>,
504 pub status_reason: Option<String>,
506}
507
508#[allow(dead_code)]
509struct ChangeSetSummaryDeserializer;
510impl ChangeSetSummaryDeserializer {
511 #[allow(dead_code, unused_variables)]
512 fn deserialize<T: Peek + Next>(
513 tag_name: &str,
514 stack: &mut T,
515 ) -> Result<ChangeSetSummary, XmlParseError> {
516 deserialize_elements::<_, ChangeSetSummary, _>(tag_name, stack, |name, stack, obj| {
517 match name {
518 "ChangeSetId" => {
519 obj.change_set_id =
520 Some(ChangeSetIdDeserializer::deserialize("ChangeSetId", stack)?);
521 }
522 "ChangeSetName" => {
523 obj.change_set_name = Some(ChangeSetNameDeserializer::deserialize(
524 "ChangeSetName",
525 stack,
526 )?);
527 }
528 "CreationTime" => {
529 obj.creation_time = Some(CreationTimeDeserializer::deserialize(
530 "CreationTime",
531 stack,
532 )?);
533 }
534 "Description" => {
535 obj.description =
536 Some(DescriptionDeserializer::deserialize("Description", stack)?);
537 }
538 "ExecutionStatus" => {
539 obj.execution_status = Some(ExecutionStatusDeserializer::deserialize(
540 "ExecutionStatus",
541 stack,
542 )?);
543 }
544 "StackId" => {
545 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
546 }
547 "StackName" => {
548 obj.stack_name = Some(StackNameDeserializer::deserialize("StackName", stack)?);
549 }
550 "Status" => {
551 obj.status = Some(ChangeSetStatusDeserializer::deserialize("Status", stack)?);
552 }
553 "StatusReason" => {
554 obj.status_reason = Some(ChangeSetStatusReasonDeserializer::deserialize(
555 "StatusReason",
556 stack,
557 )?);
558 }
559 _ => skip_tree(stack),
560 }
561 Ok(())
562 })
563 }
564}
565#[allow(dead_code)]
566struct ChangeSourceDeserializer;
567impl ChangeSourceDeserializer {
568 #[allow(dead_code, unused_variables)]
569 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
570 xml_util::deserialize_primitive(tag_name, stack, Ok)
571 }
572}
573#[allow(dead_code)]
574struct ChangeTypeDeserializer;
575impl ChangeTypeDeserializer {
576 #[allow(dead_code, unused_variables)]
577 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
578 xml_util::deserialize_primitive(tag_name, stack, Ok)
579 }
580}
581#[allow(dead_code)]
582struct ChangesDeserializer;
583impl ChangesDeserializer {
584 #[allow(dead_code, unused_variables)]
585 fn deserialize<T: Peek + Next>(
586 tag_name: &str,
587 stack: &mut T,
588 ) -> Result<Vec<Change>, XmlParseError> {
589 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
590 if name == "member" {
591 obj.push(ChangeDeserializer::deserialize("member", stack)?);
592 } else {
593 skip_tree(stack);
594 }
595 Ok(())
596 })
597 }
598}
599#[allow(dead_code)]
600struct ClientRequestTokenDeserializer;
601impl ClientRequestTokenDeserializer {
602 #[allow(dead_code, unused_variables)]
603 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
604 xml_util::deserialize_primitive(tag_name, stack, Ok)
605 }
606}
607#[derive(Clone, Debug, Default, PartialEq)]
609#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
610pub struct ContinueUpdateRollbackInput {
611 pub client_request_token: Option<String>,
613 pub resources_to_skip: Option<Vec<String>>,
615 pub role_arn: Option<String>,
617 pub stack_name: String,
619}
620
621struct ContinueUpdateRollbackInputSerializer;
623impl ContinueUpdateRollbackInputSerializer {
624 fn serialize(params: &mut Params, name: &str, obj: &ContinueUpdateRollbackInput) {
625 let mut prefix = name.to_string();
626 if prefix != "" {
627 prefix.push_str(".");
628 }
629
630 if let Some(ref field_value) = obj.client_request_token {
631 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
632 }
633 if let Some(ref field_value) = obj.resources_to_skip {
634 ResourcesToSkipSerializer::serialize(
635 params,
636 &format!("{}{}", prefix, "ResourcesToSkip"),
637 field_value,
638 );
639 }
640 if let Some(ref field_value) = obj.role_arn {
641 params.put(&format!("{}{}", prefix, "RoleARN"), &field_value);
642 }
643 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
644 }
645}
646
647#[derive(Clone, Debug, Default, PartialEq)]
649#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
650pub struct ContinueUpdateRollbackOutput {}
651
652#[allow(dead_code)]
653struct ContinueUpdateRollbackOutputDeserializer;
654impl ContinueUpdateRollbackOutputDeserializer {
655 #[allow(dead_code, unused_variables)]
656 fn deserialize<T: Peek + Next>(
657 tag_name: &str,
658 stack: &mut T,
659 ) -> Result<ContinueUpdateRollbackOutput, XmlParseError> {
660 xml_util::start_element(tag_name, stack)?;
661
662 let obj = ContinueUpdateRollbackOutput::default();
663
664 xml_util::end_element(tag_name, stack)?;
665
666 Ok(obj)
667 }
668}
669#[derive(Clone, Debug, Default, PartialEq)]
671#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
672pub struct CreateChangeSetInput {
673 pub capabilities: Option<Vec<String>>,
675 pub change_set_name: String,
677 pub change_set_type: Option<String>,
679 pub client_token: Option<String>,
681 pub description: Option<String>,
683 pub notification_ar_ns: Option<Vec<String>>,
685 pub parameters: Option<Vec<Parameter>>,
687 pub resource_types: Option<Vec<String>>,
689 pub resources_to_import: Option<Vec<ResourceToImport>>,
691 pub role_arn: Option<String>,
693 pub rollback_configuration: Option<RollbackConfiguration>,
695 pub stack_name: String,
697 pub tags: Option<Vec<Tag>>,
699 pub template_body: Option<String>,
701 pub template_url: Option<String>,
703 pub use_previous_template: Option<bool>,
705}
706
707struct CreateChangeSetInputSerializer;
709impl CreateChangeSetInputSerializer {
710 fn serialize(params: &mut Params, name: &str, obj: &CreateChangeSetInput) {
711 let mut prefix = name.to_string();
712 if prefix != "" {
713 prefix.push_str(".");
714 }
715
716 if let Some(ref field_value) = obj.capabilities {
717 CapabilitiesSerializer::serialize(
718 params,
719 &format!("{}{}", prefix, "Capabilities"),
720 field_value,
721 );
722 }
723 params.put(
724 &format!("{}{}", prefix, "ChangeSetName"),
725 &obj.change_set_name,
726 );
727 if let Some(ref field_value) = obj.change_set_type {
728 params.put(&format!("{}{}", prefix, "ChangeSetType"), &field_value);
729 }
730 if let Some(ref field_value) = obj.client_token {
731 params.put(&format!("{}{}", prefix, "ClientToken"), &field_value);
732 }
733 if let Some(ref field_value) = obj.description {
734 params.put(&format!("{}{}", prefix, "Description"), &field_value);
735 }
736 if let Some(ref field_value) = obj.notification_ar_ns {
737 NotificationARNsSerializer::serialize(
738 params,
739 &format!("{}{}", prefix, "NotificationARNs"),
740 field_value,
741 );
742 }
743 if let Some(ref field_value) = obj.parameters {
744 ParametersSerializer::serialize(
745 params,
746 &format!("{}{}", prefix, "Parameters"),
747 field_value,
748 );
749 }
750 if let Some(ref field_value) = obj.resource_types {
751 ResourceTypesSerializer::serialize(
752 params,
753 &format!("{}{}", prefix, "ResourceTypes"),
754 field_value,
755 );
756 }
757 if let Some(ref field_value) = obj.resources_to_import {
758 ResourcesToImportSerializer::serialize(
759 params,
760 &format!("{}{}", prefix, "ResourcesToImport"),
761 field_value,
762 );
763 }
764 if let Some(ref field_value) = obj.role_arn {
765 params.put(&format!("{}{}", prefix, "RoleARN"), &field_value);
766 }
767 if let Some(ref field_value) = obj.rollback_configuration {
768 RollbackConfigurationSerializer::serialize(
769 params,
770 &format!("{}{}", prefix, "RollbackConfiguration"),
771 field_value,
772 );
773 }
774 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
775 if let Some(ref field_value) = obj.tags {
776 TagsSerializer::serialize(params, &format!("{}{}", prefix, "Tags"), field_value);
777 }
778 if let Some(ref field_value) = obj.template_body {
779 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
780 }
781 if let Some(ref field_value) = obj.template_url {
782 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
783 }
784 if let Some(ref field_value) = obj.use_previous_template {
785 params.put(
786 &format!("{}{}", prefix, "UsePreviousTemplate"),
787 &field_value,
788 );
789 }
790 }
791}
792
793#[derive(Clone, Debug, Default, PartialEq)]
795#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
796pub struct CreateChangeSetOutput {
797 pub id: Option<String>,
799 pub stack_id: Option<String>,
801}
802
803#[allow(dead_code)]
804struct CreateChangeSetOutputDeserializer;
805impl CreateChangeSetOutputDeserializer {
806 #[allow(dead_code, unused_variables)]
807 fn deserialize<T: Peek + Next>(
808 tag_name: &str,
809 stack: &mut T,
810 ) -> Result<CreateChangeSetOutput, XmlParseError> {
811 deserialize_elements::<_, CreateChangeSetOutput, _>(tag_name, stack, |name, stack, obj| {
812 match name {
813 "Id" => {
814 obj.id = Some(ChangeSetIdDeserializer::deserialize("Id", stack)?);
815 }
816 "StackId" => {
817 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
818 }
819 _ => skip_tree(stack),
820 }
821 Ok(())
822 })
823 }
824}
825#[derive(Clone, Debug, Default, PartialEq)]
827#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
828pub struct CreateStackInput {
829 pub capabilities: Option<Vec<String>>,
831 pub client_request_token: Option<String>,
833 pub disable_rollback: Option<bool>,
835 pub enable_termination_protection: Option<bool>,
837 pub notification_ar_ns: Option<Vec<String>>,
839 pub on_failure: Option<String>,
841 pub parameters: Option<Vec<Parameter>>,
843 pub resource_types: Option<Vec<String>>,
845 pub role_arn: Option<String>,
847 pub rollback_configuration: Option<RollbackConfiguration>,
849 pub stack_name: String,
851 pub stack_policy_body: Option<String>,
853 pub stack_policy_url: Option<String>,
855 pub tags: Option<Vec<Tag>>,
857 pub template_body: Option<String>,
859 pub template_url: Option<String>,
861 pub timeout_in_minutes: Option<i64>,
863}
864
865struct CreateStackInputSerializer;
867impl CreateStackInputSerializer {
868 fn serialize(params: &mut Params, name: &str, obj: &CreateStackInput) {
869 let mut prefix = name.to_string();
870 if prefix != "" {
871 prefix.push_str(".");
872 }
873
874 if let Some(ref field_value) = obj.capabilities {
875 CapabilitiesSerializer::serialize(
876 params,
877 &format!("{}{}", prefix, "Capabilities"),
878 field_value,
879 );
880 }
881 if let Some(ref field_value) = obj.client_request_token {
882 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
883 }
884 if let Some(ref field_value) = obj.disable_rollback {
885 params.put(&format!("{}{}", prefix, "DisableRollback"), &field_value);
886 }
887 if let Some(ref field_value) = obj.enable_termination_protection {
888 params.put(
889 &format!("{}{}", prefix, "EnableTerminationProtection"),
890 &field_value,
891 );
892 }
893 if let Some(ref field_value) = obj.notification_ar_ns {
894 NotificationARNsSerializer::serialize(
895 params,
896 &format!("{}{}", prefix, "NotificationARNs"),
897 field_value,
898 );
899 }
900 if let Some(ref field_value) = obj.on_failure {
901 params.put(&format!("{}{}", prefix, "OnFailure"), &field_value);
902 }
903 if let Some(ref field_value) = obj.parameters {
904 ParametersSerializer::serialize(
905 params,
906 &format!("{}{}", prefix, "Parameters"),
907 field_value,
908 );
909 }
910 if let Some(ref field_value) = obj.resource_types {
911 ResourceTypesSerializer::serialize(
912 params,
913 &format!("{}{}", prefix, "ResourceTypes"),
914 field_value,
915 );
916 }
917 if let Some(ref field_value) = obj.role_arn {
918 params.put(&format!("{}{}", prefix, "RoleARN"), &field_value);
919 }
920 if let Some(ref field_value) = obj.rollback_configuration {
921 RollbackConfigurationSerializer::serialize(
922 params,
923 &format!("{}{}", prefix, "RollbackConfiguration"),
924 field_value,
925 );
926 }
927 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
928 if let Some(ref field_value) = obj.stack_policy_body {
929 params.put(&format!("{}{}", prefix, "StackPolicyBody"), &field_value);
930 }
931 if let Some(ref field_value) = obj.stack_policy_url {
932 params.put(&format!("{}{}", prefix, "StackPolicyURL"), &field_value);
933 }
934 if let Some(ref field_value) = obj.tags {
935 TagsSerializer::serialize(params, &format!("{}{}", prefix, "Tags"), field_value);
936 }
937 if let Some(ref field_value) = obj.template_body {
938 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
939 }
940 if let Some(ref field_value) = obj.template_url {
941 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
942 }
943 if let Some(ref field_value) = obj.timeout_in_minutes {
944 params.put(&format!("{}{}", prefix, "TimeoutInMinutes"), &field_value);
945 }
946 }
947}
948
949#[derive(Clone, Debug, Default, PartialEq)]
950#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
951pub struct CreateStackInstancesInput {
952 pub accounts: Option<Vec<String>>,
954 pub deployment_targets: Option<DeploymentTargets>,
956 pub operation_id: Option<String>,
958 pub operation_preferences: Option<StackSetOperationPreferences>,
960 pub parameter_overrides: Option<Vec<Parameter>>,
962 pub regions: Vec<String>,
964 pub stack_set_name: String,
966}
967
968struct CreateStackInstancesInputSerializer;
970impl CreateStackInstancesInputSerializer {
971 fn serialize(params: &mut Params, name: &str, obj: &CreateStackInstancesInput) {
972 let mut prefix = name.to_string();
973 if prefix != "" {
974 prefix.push_str(".");
975 }
976
977 if let Some(ref field_value) = obj.accounts {
978 AccountListSerializer::serialize(
979 params,
980 &format!("{}{}", prefix, "Accounts"),
981 field_value,
982 );
983 }
984 if let Some(ref field_value) = obj.deployment_targets {
985 DeploymentTargetsSerializer::serialize(
986 params,
987 &format!("{}{}", prefix, "DeploymentTargets"),
988 field_value,
989 );
990 }
991 if let Some(ref field_value) = obj.operation_id {
992 params.put(&format!("{}{}", prefix, "OperationId"), &field_value);
993 }
994 if let Some(ref field_value) = obj.operation_preferences {
995 StackSetOperationPreferencesSerializer::serialize(
996 params,
997 &format!("{}{}", prefix, "OperationPreferences"),
998 field_value,
999 );
1000 }
1001 if let Some(ref field_value) = obj.parameter_overrides {
1002 ParametersSerializer::serialize(
1003 params,
1004 &format!("{}{}", prefix, "ParameterOverrides"),
1005 field_value,
1006 );
1007 }
1008 RegionListSerializer::serialize(params, &format!("{}{}", prefix, "Regions"), &obj.regions);
1009 params.put(
1010 &format!("{}{}", prefix, "StackSetName"),
1011 &obj.stack_set_name,
1012 );
1013 }
1014}
1015
1016#[derive(Clone, Debug, Default, PartialEq)]
1017#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1018pub struct CreateStackInstancesOutput {
1019 pub operation_id: Option<String>,
1021}
1022
1023#[allow(dead_code)]
1024struct CreateStackInstancesOutputDeserializer;
1025impl CreateStackInstancesOutputDeserializer {
1026 #[allow(dead_code, unused_variables)]
1027 fn deserialize<T: Peek + Next>(
1028 tag_name: &str,
1029 stack: &mut T,
1030 ) -> Result<CreateStackInstancesOutput, XmlParseError> {
1031 deserialize_elements::<_, CreateStackInstancesOutput, _>(
1032 tag_name,
1033 stack,
1034 |name, stack, obj| {
1035 match name {
1036 "OperationId" => {
1037 obj.operation_id = Some(ClientRequestTokenDeserializer::deserialize(
1038 "OperationId",
1039 stack,
1040 )?);
1041 }
1042 _ => skip_tree(stack),
1043 }
1044 Ok(())
1045 },
1046 )
1047 }
1048}
1049#[derive(Clone, Debug, Default, PartialEq)]
1051#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1052pub struct CreateStackOutput {
1053 pub stack_id: Option<String>,
1055}
1056
1057#[allow(dead_code)]
1058struct CreateStackOutputDeserializer;
1059impl CreateStackOutputDeserializer {
1060 #[allow(dead_code, unused_variables)]
1061 fn deserialize<T: Peek + Next>(
1062 tag_name: &str,
1063 stack: &mut T,
1064 ) -> Result<CreateStackOutput, XmlParseError> {
1065 deserialize_elements::<_, CreateStackOutput, _>(tag_name, stack, |name, stack, obj| {
1066 match name {
1067 "StackId" => {
1068 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
1069 }
1070 _ => skip_tree(stack),
1071 }
1072 Ok(())
1073 })
1074 }
1075}
1076#[derive(Clone, Debug, Default, PartialEq)]
1077#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1078pub struct CreateStackSetInput {
1079 pub administration_role_arn: Option<String>,
1081 pub auto_deployment: Option<AutoDeployment>,
1083 pub capabilities: Option<Vec<String>>,
1085 pub client_request_token: Option<String>,
1087 pub description: Option<String>,
1089 pub execution_role_name: Option<String>,
1091 pub parameters: Option<Vec<Parameter>>,
1093 pub permission_model: Option<String>,
1095 pub stack_set_name: String,
1097 pub tags: Option<Vec<Tag>>,
1099 pub template_body: Option<String>,
1101 pub template_url: Option<String>,
1103}
1104
1105struct CreateStackSetInputSerializer;
1107impl CreateStackSetInputSerializer {
1108 fn serialize(params: &mut Params, name: &str, obj: &CreateStackSetInput) {
1109 let mut prefix = name.to_string();
1110 if prefix != "" {
1111 prefix.push_str(".");
1112 }
1113
1114 if let Some(ref field_value) = obj.administration_role_arn {
1115 params.put(
1116 &format!("{}{}", prefix, "AdministrationRoleARN"),
1117 &field_value,
1118 );
1119 }
1120 if let Some(ref field_value) = obj.auto_deployment {
1121 AutoDeploymentSerializer::serialize(
1122 params,
1123 &format!("{}{}", prefix, "AutoDeployment"),
1124 field_value,
1125 );
1126 }
1127 if let Some(ref field_value) = obj.capabilities {
1128 CapabilitiesSerializer::serialize(
1129 params,
1130 &format!("{}{}", prefix, "Capabilities"),
1131 field_value,
1132 );
1133 }
1134 if let Some(ref field_value) = obj.client_request_token {
1135 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
1136 }
1137 if let Some(ref field_value) = obj.description {
1138 params.put(&format!("{}{}", prefix, "Description"), &field_value);
1139 }
1140 if let Some(ref field_value) = obj.execution_role_name {
1141 params.put(&format!("{}{}", prefix, "ExecutionRoleName"), &field_value);
1142 }
1143 if let Some(ref field_value) = obj.parameters {
1144 ParametersSerializer::serialize(
1145 params,
1146 &format!("{}{}", prefix, "Parameters"),
1147 field_value,
1148 );
1149 }
1150 if let Some(ref field_value) = obj.permission_model {
1151 params.put(&format!("{}{}", prefix, "PermissionModel"), &field_value);
1152 }
1153 params.put(
1154 &format!("{}{}", prefix, "StackSetName"),
1155 &obj.stack_set_name,
1156 );
1157 if let Some(ref field_value) = obj.tags {
1158 TagsSerializer::serialize(params, &format!("{}{}", prefix, "Tags"), field_value);
1159 }
1160 if let Some(ref field_value) = obj.template_body {
1161 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
1162 }
1163 if let Some(ref field_value) = obj.template_url {
1164 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
1165 }
1166 }
1167}
1168
1169#[derive(Clone, Debug, Default, PartialEq)]
1170#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1171pub struct CreateStackSetOutput {
1172 pub stack_set_id: Option<String>,
1174}
1175
1176#[allow(dead_code)]
1177struct CreateStackSetOutputDeserializer;
1178impl CreateStackSetOutputDeserializer {
1179 #[allow(dead_code, unused_variables)]
1180 fn deserialize<T: Peek + Next>(
1181 tag_name: &str,
1182 stack: &mut T,
1183 ) -> Result<CreateStackSetOutput, XmlParseError> {
1184 deserialize_elements::<_, CreateStackSetOutput, _>(tag_name, stack, |name, stack, obj| {
1185 match name {
1186 "StackSetId" => {
1187 obj.stack_set_id =
1188 Some(StackSetIdDeserializer::deserialize("StackSetId", stack)?);
1189 }
1190 _ => skip_tree(stack),
1191 }
1192 Ok(())
1193 })
1194 }
1195}
1196#[allow(dead_code)]
1197struct CreationTimeDeserializer;
1198impl CreationTimeDeserializer {
1199 #[allow(dead_code, unused_variables)]
1200 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
1201 xml_util::deserialize_primitive(tag_name, stack, Ok)
1202 }
1203}
1204#[derive(Clone, Debug, Default, PartialEq)]
1206#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1207pub struct DeleteChangeSetInput {
1208 pub change_set_name: String,
1210 pub stack_name: Option<String>,
1212}
1213
1214struct DeleteChangeSetInputSerializer;
1216impl DeleteChangeSetInputSerializer {
1217 fn serialize(params: &mut Params, name: &str, obj: &DeleteChangeSetInput) {
1218 let mut prefix = name.to_string();
1219 if prefix != "" {
1220 prefix.push_str(".");
1221 }
1222
1223 params.put(
1224 &format!("{}{}", prefix, "ChangeSetName"),
1225 &obj.change_set_name,
1226 );
1227 if let Some(ref field_value) = obj.stack_name {
1228 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
1229 }
1230 }
1231}
1232
1233#[derive(Clone, Debug, Default, PartialEq)]
1235#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1236pub struct DeleteChangeSetOutput {}
1237
1238#[allow(dead_code)]
1239struct DeleteChangeSetOutputDeserializer;
1240impl DeleteChangeSetOutputDeserializer {
1241 #[allow(dead_code, unused_variables)]
1242 fn deserialize<T: Peek + Next>(
1243 tag_name: &str,
1244 stack: &mut T,
1245 ) -> Result<DeleteChangeSetOutput, XmlParseError> {
1246 xml_util::start_element(tag_name, stack)?;
1247
1248 let obj = DeleteChangeSetOutput::default();
1249
1250 xml_util::end_element(tag_name, stack)?;
1251
1252 Ok(obj)
1253 }
1254}
1255#[derive(Clone, Debug, Default, PartialEq)]
1257#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1258pub struct DeleteStackInput {
1259 pub client_request_token: Option<String>,
1261 pub retain_resources: Option<Vec<String>>,
1263 pub role_arn: Option<String>,
1265 pub stack_name: String,
1267}
1268
1269struct DeleteStackInputSerializer;
1271impl DeleteStackInputSerializer {
1272 fn serialize(params: &mut Params, name: &str, obj: &DeleteStackInput) {
1273 let mut prefix = name.to_string();
1274 if prefix != "" {
1275 prefix.push_str(".");
1276 }
1277
1278 if let Some(ref field_value) = obj.client_request_token {
1279 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
1280 }
1281 if let Some(ref field_value) = obj.retain_resources {
1282 RetainResourcesSerializer::serialize(
1283 params,
1284 &format!("{}{}", prefix, "RetainResources"),
1285 field_value,
1286 );
1287 }
1288 if let Some(ref field_value) = obj.role_arn {
1289 params.put(&format!("{}{}", prefix, "RoleARN"), &field_value);
1290 }
1291 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
1292 }
1293}
1294
1295#[derive(Clone, Debug, Default, PartialEq)]
1296#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1297pub struct DeleteStackInstancesInput {
1298 pub accounts: Option<Vec<String>>,
1300 pub deployment_targets: Option<DeploymentTargets>,
1302 pub operation_id: Option<String>,
1304 pub operation_preferences: Option<StackSetOperationPreferences>,
1306 pub regions: Vec<String>,
1308 pub retain_stacks: bool,
1310 pub stack_set_name: String,
1312}
1313
1314struct DeleteStackInstancesInputSerializer;
1316impl DeleteStackInstancesInputSerializer {
1317 fn serialize(params: &mut Params, name: &str, obj: &DeleteStackInstancesInput) {
1318 let mut prefix = name.to_string();
1319 if prefix != "" {
1320 prefix.push_str(".");
1321 }
1322
1323 if let Some(ref field_value) = obj.accounts {
1324 AccountListSerializer::serialize(
1325 params,
1326 &format!("{}{}", prefix, "Accounts"),
1327 field_value,
1328 );
1329 }
1330 if let Some(ref field_value) = obj.deployment_targets {
1331 DeploymentTargetsSerializer::serialize(
1332 params,
1333 &format!("{}{}", prefix, "DeploymentTargets"),
1334 field_value,
1335 );
1336 }
1337 if let Some(ref field_value) = obj.operation_id {
1338 params.put(&format!("{}{}", prefix, "OperationId"), &field_value);
1339 }
1340 if let Some(ref field_value) = obj.operation_preferences {
1341 StackSetOperationPreferencesSerializer::serialize(
1342 params,
1343 &format!("{}{}", prefix, "OperationPreferences"),
1344 field_value,
1345 );
1346 }
1347 RegionListSerializer::serialize(params, &format!("{}{}", prefix, "Regions"), &obj.regions);
1348 params.put(&format!("{}{}", prefix, "RetainStacks"), &obj.retain_stacks);
1349 params.put(
1350 &format!("{}{}", prefix, "StackSetName"),
1351 &obj.stack_set_name,
1352 );
1353 }
1354}
1355
1356#[derive(Clone, Debug, Default, PartialEq)]
1357#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1358pub struct DeleteStackInstancesOutput {
1359 pub operation_id: Option<String>,
1361}
1362
1363#[allow(dead_code)]
1364struct DeleteStackInstancesOutputDeserializer;
1365impl DeleteStackInstancesOutputDeserializer {
1366 #[allow(dead_code, unused_variables)]
1367 fn deserialize<T: Peek + Next>(
1368 tag_name: &str,
1369 stack: &mut T,
1370 ) -> Result<DeleteStackInstancesOutput, XmlParseError> {
1371 deserialize_elements::<_, DeleteStackInstancesOutput, _>(
1372 tag_name,
1373 stack,
1374 |name, stack, obj| {
1375 match name {
1376 "OperationId" => {
1377 obj.operation_id = Some(ClientRequestTokenDeserializer::deserialize(
1378 "OperationId",
1379 stack,
1380 )?);
1381 }
1382 _ => skip_tree(stack),
1383 }
1384 Ok(())
1385 },
1386 )
1387 }
1388}
1389#[derive(Clone, Debug, Default, PartialEq)]
1390#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1391pub struct DeleteStackSetInput {
1392 pub stack_set_name: String,
1394}
1395
1396struct DeleteStackSetInputSerializer;
1398impl DeleteStackSetInputSerializer {
1399 fn serialize(params: &mut Params, name: &str, obj: &DeleteStackSetInput) {
1400 let mut prefix = name.to_string();
1401 if prefix != "" {
1402 prefix.push_str(".");
1403 }
1404
1405 params.put(
1406 &format!("{}{}", prefix, "StackSetName"),
1407 &obj.stack_set_name,
1408 );
1409 }
1410}
1411
1412#[derive(Clone, Debug, Default, PartialEq)]
1413#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1414pub struct DeleteStackSetOutput {}
1415
1416#[allow(dead_code)]
1417struct DeleteStackSetOutputDeserializer;
1418impl DeleteStackSetOutputDeserializer {
1419 #[allow(dead_code, unused_variables)]
1420 fn deserialize<T: Peek + Next>(
1421 tag_name: &str,
1422 stack: &mut T,
1423 ) -> Result<DeleteStackSetOutput, XmlParseError> {
1424 xml_util::start_element(tag_name, stack)?;
1425
1426 let obj = DeleteStackSetOutput::default();
1427
1428 xml_util::end_element(tag_name, stack)?;
1429
1430 Ok(obj)
1431 }
1432}
1433#[allow(dead_code)]
1434struct DeletionTimeDeserializer;
1435impl DeletionTimeDeserializer {
1436 #[allow(dead_code, unused_variables)]
1437 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
1438 xml_util::deserialize_primitive(tag_name, stack, Ok)
1439 }
1440}
1441#[derive(Clone, Debug, Default, PartialEq)]
1443#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1444#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1445pub struct DeploymentTargets {
1446 pub accounts: Option<Vec<String>>,
1448 pub organizational_unit_ids: Option<Vec<String>>,
1450}
1451
1452#[allow(dead_code)]
1453struct DeploymentTargetsDeserializer;
1454impl DeploymentTargetsDeserializer {
1455 #[allow(dead_code, unused_variables)]
1456 fn deserialize<T: Peek + Next>(
1457 tag_name: &str,
1458 stack: &mut T,
1459 ) -> Result<DeploymentTargets, XmlParseError> {
1460 deserialize_elements::<_, DeploymentTargets, _>(tag_name, stack, |name, stack, obj| {
1461 match name {
1462 "Accounts" => {
1463 obj.accounts
1464 .get_or_insert(vec![])
1465 .extend(AccountListDeserializer::deserialize("Accounts", stack)?);
1466 }
1467 "OrganizationalUnitIds" => {
1468 obj.organizational_unit_ids.get_or_insert(vec![]).extend(
1469 OrganizationalUnitIdListDeserializer::deserialize(
1470 "OrganizationalUnitIds",
1471 stack,
1472 )?,
1473 );
1474 }
1475 _ => skip_tree(stack),
1476 }
1477 Ok(())
1478 })
1479 }
1480}
1481
1482struct DeploymentTargetsSerializer;
1484impl DeploymentTargetsSerializer {
1485 fn serialize(params: &mut Params, name: &str, obj: &DeploymentTargets) {
1486 let mut prefix = name.to_string();
1487 if prefix != "" {
1488 prefix.push_str(".");
1489 }
1490
1491 if let Some(ref field_value) = obj.accounts {
1492 AccountListSerializer::serialize(
1493 params,
1494 &format!("{}{}", prefix, "Accounts"),
1495 field_value,
1496 );
1497 }
1498 if let Some(ref field_value) = obj.organizational_unit_ids {
1499 OrganizationalUnitIdListSerializer::serialize(
1500 params,
1501 &format!("{}{}", prefix, "OrganizationalUnitIds"),
1502 field_value,
1503 );
1504 }
1505 }
1506}
1507
1508#[allow(dead_code)]
1509struct DeprecatedStatusDeserializer;
1510impl DeprecatedStatusDeserializer {
1511 #[allow(dead_code, unused_variables)]
1512 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
1513 xml_util::deserialize_primitive(tag_name, stack, Ok)
1514 }
1515}
1516#[derive(Clone, Debug, Default, PartialEq)]
1517#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1518pub struct DeregisterTypeInput {
1519 pub arn: Option<String>,
1521 pub type_: Option<String>,
1523 pub type_name: Option<String>,
1525 pub version_id: Option<String>,
1527}
1528
1529struct DeregisterTypeInputSerializer;
1531impl DeregisterTypeInputSerializer {
1532 fn serialize(params: &mut Params, name: &str, obj: &DeregisterTypeInput) {
1533 let mut prefix = name.to_string();
1534 if prefix != "" {
1535 prefix.push_str(".");
1536 }
1537
1538 if let Some(ref field_value) = obj.arn {
1539 params.put(&format!("{}{}", prefix, "Arn"), &field_value);
1540 }
1541 if let Some(ref field_value) = obj.type_ {
1542 params.put(&format!("{}{}", prefix, "Type"), &field_value);
1543 }
1544 if let Some(ref field_value) = obj.type_name {
1545 params.put(&format!("{}{}", prefix, "TypeName"), &field_value);
1546 }
1547 if let Some(ref field_value) = obj.version_id {
1548 params.put(&format!("{}{}", prefix, "VersionId"), &field_value);
1549 }
1550 }
1551}
1552
1553#[derive(Clone, Debug, Default, PartialEq)]
1554#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1555pub struct DeregisterTypeOutput {}
1556
1557#[allow(dead_code)]
1558struct DeregisterTypeOutputDeserializer;
1559impl DeregisterTypeOutputDeserializer {
1560 #[allow(dead_code, unused_variables)]
1561 fn deserialize<T: Peek + Next>(
1562 tag_name: &str,
1563 stack: &mut T,
1564 ) -> Result<DeregisterTypeOutput, XmlParseError> {
1565 xml_util::start_element(tag_name, stack)?;
1566
1567 let obj = DeregisterTypeOutput::default();
1568
1569 xml_util::end_element(tag_name, stack)?;
1570
1571 Ok(obj)
1572 }
1573}
1574#[derive(Clone, Debug, Default, PartialEq)]
1576#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1577pub struct DescribeAccountLimitsInput {
1578 pub next_token: Option<String>,
1580}
1581
1582struct DescribeAccountLimitsInputSerializer;
1584impl DescribeAccountLimitsInputSerializer {
1585 fn serialize(params: &mut Params, name: &str, obj: &DescribeAccountLimitsInput) {
1586 let mut prefix = name.to_string();
1587 if prefix != "" {
1588 prefix.push_str(".");
1589 }
1590
1591 if let Some(ref field_value) = obj.next_token {
1592 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
1593 }
1594 }
1595}
1596
1597#[derive(Clone, Debug, Default, PartialEq)]
1599#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1600pub struct DescribeAccountLimitsOutput {
1601 pub account_limits: Option<Vec<AccountLimit>>,
1603 pub next_token: Option<String>,
1605}
1606
1607#[allow(dead_code)]
1608struct DescribeAccountLimitsOutputDeserializer;
1609impl DescribeAccountLimitsOutputDeserializer {
1610 #[allow(dead_code, unused_variables)]
1611 fn deserialize<T: Peek + Next>(
1612 tag_name: &str,
1613 stack: &mut T,
1614 ) -> Result<DescribeAccountLimitsOutput, XmlParseError> {
1615 deserialize_elements::<_, DescribeAccountLimitsOutput, _>(
1616 tag_name,
1617 stack,
1618 |name, stack, obj| {
1619 match name {
1620 "AccountLimits" => {
1621 obj.account_limits.get_or_insert(vec![]).extend(
1622 AccountLimitListDeserializer::deserialize("AccountLimits", stack)?,
1623 );
1624 }
1625 "NextToken" => {
1626 obj.next_token =
1627 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
1628 }
1629 _ => skip_tree(stack),
1630 }
1631 Ok(())
1632 },
1633 )
1634 }
1635}
1636#[derive(Clone, Debug, Default, PartialEq)]
1638#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1639pub struct DescribeChangeSetInput {
1640 pub change_set_name: String,
1642 pub next_token: Option<String>,
1644 pub stack_name: Option<String>,
1646}
1647
1648struct DescribeChangeSetInputSerializer;
1650impl DescribeChangeSetInputSerializer {
1651 fn serialize(params: &mut Params, name: &str, obj: &DescribeChangeSetInput) {
1652 let mut prefix = name.to_string();
1653 if prefix != "" {
1654 prefix.push_str(".");
1655 }
1656
1657 params.put(
1658 &format!("{}{}", prefix, "ChangeSetName"),
1659 &obj.change_set_name,
1660 );
1661 if let Some(ref field_value) = obj.next_token {
1662 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
1663 }
1664 if let Some(ref field_value) = obj.stack_name {
1665 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
1666 }
1667 }
1668}
1669
1670#[derive(Clone, Debug, Default, PartialEq)]
1672#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1673pub struct DescribeChangeSetOutput {
1674 pub capabilities: Option<Vec<String>>,
1676 pub change_set_id: Option<String>,
1678 pub change_set_name: Option<String>,
1680 pub changes: Option<Vec<Change>>,
1682 pub creation_time: Option<String>,
1684 pub description: Option<String>,
1686 pub execution_status: Option<String>,
1688 pub next_token: Option<String>,
1690 pub notification_ar_ns: Option<Vec<String>>,
1692 pub parameters: Option<Vec<Parameter>>,
1694 pub rollback_configuration: Option<RollbackConfiguration>,
1696 pub stack_id: Option<String>,
1698 pub stack_name: Option<String>,
1700 pub status: Option<String>,
1702 pub status_reason: Option<String>,
1704 pub tags: Option<Vec<Tag>>,
1706}
1707
1708#[allow(dead_code)]
1709struct DescribeChangeSetOutputDeserializer;
1710impl DescribeChangeSetOutputDeserializer {
1711 #[allow(dead_code, unused_variables)]
1712 fn deserialize<T: Peek + Next>(
1713 tag_name: &str,
1714 stack: &mut T,
1715 ) -> Result<DescribeChangeSetOutput, XmlParseError> {
1716 deserialize_elements::<_, DescribeChangeSetOutput, _>(
1717 tag_name,
1718 stack,
1719 |name, stack, obj| {
1720 match name {
1721 "Capabilities" => {
1722 obj.capabilities.get_or_insert(vec![]).extend(
1723 CapabilitiesDeserializer::deserialize("Capabilities", stack)?,
1724 );
1725 }
1726 "ChangeSetId" => {
1727 obj.change_set_id =
1728 Some(ChangeSetIdDeserializer::deserialize("ChangeSetId", stack)?);
1729 }
1730 "ChangeSetName" => {
1731 obj.change_set_name = Some(ChangeSetNameDeserializer::deserialize(
1732 "ChangeSetName",
1733 stack,
1734 )?);
1735 }
1736 "Changes" => {
1737 obj.changes
1738 .get_or_insert(vec![])
1739 .extend(ChangesDeserializer::deserialize("Changes", stack)?);
1740 }
1741 "CreationTime" => {
1742 obj.creation_time = Some(CreationTimeDeserializer::deserialize(
1743 "CreationTime",
1744 stack,
1745 )?);
1746 }
1747 "Description" => {
1748 obj.description =
1749 Some(DescriptionDeserializer::deserialize("Description", stack)?);
1750 }
1751 "ExecutionStatus" => {
1752 obj.execution_status = Some(ExecutionStatusDeserializer::deserialize(
1753 "ExecutionStatus",
1754 stack,
1755 )?);
1756 }
1757 "NextToken" => {
1758 obj.next_token =
1759 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
1760 }
1761 "NotificationARNs" => {
1762 obj.notification_ar_ns.get_or_insert(vec![]).extend(
1763 NotificationARNsDeserializer::deserialize("NotificationARNs", stack)?,
1764 );
1765 }
1766 "Parameters" => {
1767 obj.parameters
1768 .get_or_insert(vec![])
1769 .extend(ParametersDeserializer::deserialize("Parameters", stack)?);
1770 }
1771 "RollbackConfiguration" => {
1772 obj.rollback_configuration =
1773 Some(RollbackConfigurationDeserializer::deserialize(
1774 "RollbackConfiguration",
1775 stack,
1776 )?);
1777 }
1778 "StackId" => {
1779 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
1780 }
1781 "StackName" => {
1782 obj.stack_name =
1783 Some(StackNameDeserializer::deserialize("StackName", stack)?);
1784 }
1785 "Status" => {
1786 obj.status =
1787 Some(ChangeSetStatusDeserializer::deserialize("Status", stack)?);
1788 }
1789 "StatusReason" => {
1790 obj.status_reason = Some(ChangeSetStatusReasonDeserializer::deserialize(
1791 "StatusReason",
1792 stack,
1793 )?);
1794 }
1795 "Tags" => {
1796 obj.tags
1797 .get_or_insert(vec![])
1798 .extend(TagsDeserializer::deserialize("Tags", stack)?);
1799 }
1800 _ => skip_tree(stack),
1801 }
1802 Ok(())
1803 },
1804 )
1805 }
1806}
1807#[derive(Clone, Debug, Default, PartialEq)]
1808#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1809pub struct DescribeStackDriftDetectionStatusInput {
1810 pub stack_drift_detection_id: String,
1812}
1813
1814struct DescribeStackDriftDetectionStatusInputSerializer;
1816impl DescribeStackDriftDetectionStatusInputSerializer {
1817 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackDriftDetectionStatusInput) {
1818 let mut prefix = name.to_string();
1819 if prefix != "" {
1820 prefix.push_str(".");
1821 }
1822
1823 params.put(
1824 &format!("{}{}", prefix, "StackDriftDetectionId"),
1825 &obj.stack_drift_detection_id,
1826 );
1827 }
1828}
1829
1830#[derive(Clone, Debug, Default, PartialEq)]
1831#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1832pub struct DescribeStackDriftDetectionStatusOutput {
1833 pub detection_status: String,
1835 pub detection_status_reason: Option<String>,
1837 pub drifted_stack_resource_count: Option<i64>,
1839 pub stack_drift_detection_id: String,
1841 pub stack_drift_status: Option<String>,
1843 pub stack_id: String,
1845 pub timestamp: String,
1847}
1848
1849#[allow(dead_code)]
1850struct DescribeStackDriftDetectionStatusOutputDeserializer;
1851impl DescribeStackDriftDetectionStatusOutputDeserializer {
1852 #[allow(dead_code, unused_variables)]
1853 fn deserialize<T: Peek + Next>(
1854 tag_name: &str,
1855 stack: &mut T,
1856 ) -> Result<DescribeStackDriftDetectionStatusOutput, XmlParseError> {
1857 deserialize_elements::<_, DescribeStackDriftDetectionStatusOutput, _>(
1858 tag_name,
1859 stack,
1860 |name, stack, obj| {
1861 match name {
1862 "DetectionStatus" => {
1863 obj.detection_status = StackDriftDetectionStatusDeserializer::deserialize(
1864 "DetectionStatus",
1865 stack,
1866 )?;
1867 }
1868 "DetectionStatusReason" => {
1869 obj.detection_status_reason =
1870 Some(StackDriftDetectionStatusReasonDeserializer::deserialize(
1871 "DetectionStatusReason",
1872 stack,
1873 )?);
1874 }
1875 "DriftedStackResourceCount" => {
1876 obj.drifted_stack_resource_count =
1877 Some(BoxedIntegerDeserializer::deserialize(
1878 "DriftedStackResourceCount",
1879 stack,
1880 )?);
1881 }
1882 "StackDriftDetectionId" => {
1883 obj.stack_drift_detection_id =
1884 StackDriftDetectionIdDeserializer::deserialize(
1885 "StackDriftDetectionId",
1886 stack,
1887 )?;
1888 }
1889 "StackDriftStatus" => {
1890 obj.stack_drift_status = Some(StackDriftStatusDeserializer::deserialize(
1891 "StackDriftStatus",
1892 stack,
1893 )?);
1894 }
1895 "StackId" => {
1896 obj.stack_id = StackIdDeserializer::deserialize("StackId", stack)?;
1897 }
1898 "Timestamp" => {
1899 obj.timestamp = TimestampDeserializer::deserialize("Timestamp", stack)?;
1900 }
1901 _ => skip_tree(stack),
1902 }
1903 Ok(())
1904 },
1905 )
1906 }
1907}
1908#[derive(Clone, Debug, Default, PartialEq)]
1910#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1911pub struct DescribeStackEventsInput {
1912 pub next_token: Option<String>,
1914 pub stack_name: Option<String>,
1916}
1917
1918struct DescribeStackEventsInputSerializer;
1920impl DescribeStackEventsInputSerializer {
1921 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackEventsInput) {
1922 let mut prefix = name.to_string();
1923 if prefix != "" {
1924 prefix.push_str(".");
1925 }
1926
1927 if let Some(ref field_value) = obj.next_token {
1928 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
1929 }
1930 if let Some(ref field_value) = obj.stack_name {
1931 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
1932 }
1933 }
1934}
1935
1936#[derive(Clone, Debug, Default, PartialEq)]
1938#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1939pub struct DescribeStackEventsOutput {
1940 pub next_token: Option<String>,
1942 pub stack_events: Option<Vec<StackEvent>>,
1944}
1945
1946#[allow(dead_code)]
1947struct DescribeStackEventsOutputDeserializer;
1948impl DescribeStackEventsOutputDeserializer {
1949 #[allow(dead_code, unused_variables)]
1950 fn deserialize<T: Peek + Next>(
1951 tag_name: &str,
1952 stack: &mut T,
1953 ) -> Result<DescribeStackEventsOutput, XmlParseError> {
1954 deserialize_elements::<_, DescribeStackEventsOutput, _>(
1955 tag_name,
1956 stack,
1957 |name, stack, obj| {
1958 match name {
1959 "NextToken" => {
1960 obj.next_token =
1961 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
1962 }
1963 "StackEvents" => {
1964 obj.stack_events
1965 .get_or_insert(vec![])
1966 .extend(StackEventsDeserializer::deserialize("StackEvents", stack)?);
1967 }
1968 _ => skip_tree(stack),
1969 }
1970 Ok(())
1971 },
1972 )
1973 }
1974}
1975#[derive(Clone, Debug, Default, PartialEq)]
1976#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1977pub struct DescribeStackInstanceInput {
1978 pub stack_instance_account: String,
1980 pub stack_instance_region: String,
1982 pub stack_set_name: String,
1984}
1985
1986struct DescribeStackInstanceInputSerializer;
1988impl DescribeStackInstanceInputSerializer {
1989 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackInstanceInput) {
1990 let mut prefix = name.to_string();
1991 if prefix != "" {
1992 prefix.push_str(".");
1993 }
1994
1995 params.put(
1996 &format!("{}{}", prefix, "StackInstanceAccount"),
1997 &obj.stack_instance_account,
1998 );
1999 params.put(
2000 &format!("{}{}", prefix, "StackInstanceRegion"),
2001 &obj.stack_instance_region,
2002 );
2003 params.put(
2004 &format!("{}{}", prefix, "StackSetName"),
2005 &obj.stack_set_name,
2006 );
2007 }
2008}
2009
2010#[derive(Clone, Debug, Default, PartialEq)]
2011#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2012pub struct DescribeStackInstanceOutput {
2013 pub stack_instance: Option<StackInstance>,
2015}
2016
2017#[allow(dead_code)]
2018struct DescribeStackInstanceOutputDeserializer;
2019impl DescribeStackInstanceOutputDeserializer {
2020 #[allow(dead_code, unused_variables)]
2021 fn deserialize<T: Peek + Next>(
2022 tag_name: &str,
2023 stack: &mut T,
2024 ) -> Result<DescribeStackInstanceOutput, XmlParseError> {
2025 deserialize_elements::<_, DescribeStackInstanceOutput, _>(
2026 tag_name,
2027 stack,
2028 |name, stack, obj| {
2029 match name {
2030 "StackInstance" => {
2031 obj.stack_instance = Some(StackInstanceDeserializer::deserialize(
2032 "StackInstance",
2033 stack,
2034 )?);
2035 }
2036 _ => skip_tree(stack),
2037 }
2038 Ok(())
2039 },
2040 )
2041 }
2042}
2043#[derive(Clone, Debug, Default, PartialEq)]
2044#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2045pub struct DescribeStackResourceDriftsInput {
2046 pub max_results: Option<i64>,
2048 pub next_token: Option<String>,
2050 pub stack_name: String,
2052 pub stack_resource_drift_status_filters: Option<Vec<String>>,
2054}
2055
2056struct DescribeStackResourceDriftsInputSerializer;
2058impl DescribeStackResourceDriftsInputSerializer {
2059 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackResourceDriftsInput) {
2060 let mut prefix = name.to_string();
2061 if prefix != "" {
2062 prefix.push_str(".");
2063 }
2064
2065 if let Some(ref field_value) = obj.max_results {
2066 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
2067 }
2068 if let Some(ref field_value) = obj.next_token {
2069 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
2070 }
2071 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
2072 if let Some(ref field_value) = obj.stack_resource_drift_status_filters {
2073 StackResourceDriftStatusFiltersSerializer::serialize(
2074 params,
2075 &format!("{}{}", prefix, "StackResourceDriftStatusFilters"),
2076 field_value,
2077 );
2078 }
2079 }
2080}
2081
2082#[derive(Clone, Debug, Default, PartialEq)]
2083#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2084pub struct DescribeStackResourceDriftsOutput {
2085 pub next_token: Option<String>,
2087 pub stack_resource_drifts: Vec<StackResourceDrift>,
2089}
2090
2091#[allow(dead_code)]
2092struct DescribeStackResourceDriftsOutputDeserializer;
2093impl DescribeStackResourceDriftsOutputDeserializer {
2094 #[allow(dead_code, unused_variables)]
2095 fn deserialize<T: Peek + Next>(
2096 tag_name: &str,
2097 stack: &mut T,
2098 ) -> Result<DescribeStackResourceDriftsOutput, XmlParseError> {
2099 deserialize_elements::<_, DescribeStackResourceDriftsOutput, _>(
2100 tag_name,
2101 stack,
2102 |name, stack, obj| {
2103 match name {
2104 "NextToken" => {
2105 obj.next_token =
2106 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
2107 }
2108 "StackResourceDrifts" => {
2109 obj.stack_resource_drifts.extend(
2110 StackResourceDriftsDeserializer::deserialize(
2111 "StackResourceDrifts",
2112 stack,
2113 )?,
2114 );
2115 }
2116 _ => skip_tree(stack),
2117 }
2118 Ok(())
2119 },
2120 )
2121 }
2122}
2123#[derive(Clone, Debug, Default, PartialEq)]
2125#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2126pub struct DescribeStackResourceInput {
2127 pub logical_resource_id: String,
2129 pub stack_name: String,
2131}
2132
2133struct DescribeStackResourceInputSerializer;
2135impl DescribeStackResourceInputSerializer {
2136 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackResourceInput) {
2137 let mut prefix = name.to_string();
2138 if prefix != "" {
2139 prefix.push_str(".");
2140 }
2141
2142 params.put(
2143 &format!("{}{}", prefix, "LogicalResourceId"),
2144 &obj.logical_resource_id,
2145 );
2146 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
2147 }
2148}
2149
2150#[derive(Clone, Debug, Default, PartialEq)]
2152#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2153pub struct DescribeStackResourceOutput {
2154 pub stack_resource_detail: Option<StackResourceDetail>,
2156}
2157
2158#[allow(dead_code)]
2159struct DescribeStackResourceOutputDeserializer;
2160impl DescribeStackResourceOutputDeserializer {
2161 #[allow(dead_code, unused_variables)]
2162 fn deserialize<T: Peek + Next>(
2163 tag_name: &str,
2164 stack: &mut T,
2165 ) -> Result<DescribeStackResourceOutput, XmlParseError> {
2166 deserialize_elements::<_, DescribeStackResourceOutput, _>(
2167 tag_name,
2168 stack,
2169 |name, stack, obj| {
2170 match name {
2171 "StackResourceDetail" => {
2172 obj.stack_resource_detail =
2173 Some(StackResourceDetailDeserializer::deserialize(
2174 "StackResourceDetail",
2175 stack,
2176 )?);
2177 }
2178 _ => skip_tree(stack),
2179 }
2180 Ok(())
2181 },
2182 )
2183 }
2184}
2185#[derive(Clone, Debug, Default, PartialEq)]
2187#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2188pub struct DescribeStackResourcesInput {
2189 pub logical_resource_id: Option<String>,
2191 pub physical_resource_id: Option<String>,
2193 pub stack_name: Option<String>,
2195}
2196
2197struct DescribeStackResourcesInputSerializer;
2199impl DescribeStackResourcesInputSerializer {
2200 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackResourcesInput) {
2201 let mut prefix = name.to_string();
2202 if prefix != "" {
2203 prefix.push_str(".");
2204 }
2205
2206 if let Some(ref field_value) = obj.logical_resource_id {
2207 params.put(&format!("{}{}", prefix, "LogicalResourceId"), &field_value);
2208 }
2209 if let Some(ref field_value) = obj.physical_resource_id {
2210 params.put(&format!("{}{}", prefix, "PhysicalResourceId"), &field_value);
2211 }
2212 if let Some(ref field_value) = obj.stack_name {
2213 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
2214 }
2215 }
2216}
2217
2218#[derive(Clone, Debug, Default, PartialEq)]
2220#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2221pub struct DescribeStackResourcesOutput {
2222 pub stack_resources: Option<Vec<StackResource>>,
2224}
2225
2226#[allow(dead_code)]
2227struct DescribeStackResourcesOutputDeserializer;
2228impl DescribeStackResourcesOutputDeserializer {
2229 #[allow(dead_code, unused_variables)]
2230 fn deserialize<T: Peek + Next>(
2231 tag_name: &str,
2232 stack: &mut T,
2233 ) -> Result<DescribeStackResourcesOutput, XmlParseError> {
2234 deserialize_elements::<_, DescribeStackResourcesOutput, _>(
2235 tag_name,
2236 stack,
2237 |name, stack, obj| {
2238 match name {
2239 "StackResources" => {
2240 obj.stack_resources.get_or_insert(vec![]).extend(
2241 StackResourcesDeserializer::deserialize("StackResources", stack)?,
2242 );
2243 }
2244 _ => skip_tree(stack),
2245 }
2246 Ok(())
2247 },
2248 )
2249 }
2250}
2251#[derive(Clone, Debug, Default, PartialEq)]
2252#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2253pub struct DescribeStackSetInput {
2254 pub stack_set_name: String,
2256}
2257
2258struct DescribeStackSetInputSerializer;
2260impl DescribeStackSetInputSerializer {
2261 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackSetInput) {
2262 let mut prefix = name.to_string();
2263 if prefix != "" {
2264 prefix.push_str(".");
2265 }
2266
2267 params.put(
2268 &format!("{}{}", prefix, "StackSetName"),
2269 &obj.stack_set_name,
2270 );
2271 }
2272}
2273
2274#[derive(Clone, Debug, Default, PartialEq)]
2275#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2276pub struct DescribeStackSetOperationInput {
2277 pub operation_id: String,
2279 pub stack_set_name: String,
2281}
2282
2283struct DescribeStackSetOperationInputSerializer;
2285impl DescribeStackSetOperationInputSerializer {
2286 fn serialize(params: &mut Params, name: &str, obj: &DescribeStackSetOperationInput) {
2287 let mut prefix = name.to_string();
2288 if prefix != "" {
2289 prefix.push_str(".");
2290 }
2291
2292 params.put(&format!("{}{}", prefix, "OperationId"), &obj.operation_id);
2293 params.put(
2294 &format!("{}{}", prefix, "StackSetName"),
2295 &obj.stack_set_name,
2296 );
2297 }
2298}
2299
2300#[derive(Clone, Debug, Default, PartialEq)]
2301#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2302pub struct DescribeStackSetOperationOutput {
2303 pub stack_set_operation: Option<StackSetOperation>,
2305}
2306
2307#[allow(dead_code)]
2308struct DescribeStackSetOperationOutputDeserializer;
2309impl DescribeStackSetOperationOutputDeserializer {
2310 #[allow(dead_code, unused_variables)]
2311 fn deserialize<T: Peek + Next>(
2312 tag_name: &str,
2313 stack: &mut T,
2314 ) -> Result<DescribeStackSetOperationOutput, XmlParseError> {
2315 deserialize_elements::<_, DescribeStackSetOperationOutput, _>(
2316 tag_name,
2317 stack,
2318 |name, stack, obj| {
2319 match name {
2320 "StackSetOperation" => {
2321 obj.stack_set_operation = Some(StackSetOperationDeserializer::deserialize(
2322 "StackSetOperation",
2323 stack,
2324 )?);
2325 }
2326 _ => skip_tree(stack),
2327 }
2328 Ok(())
2329 },
2330 )
2331 }
2332}
2333#[derive(Clone, Debug, Default, PartialEq)]
2334#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2335pub struct DescribeStackSetOutput {
2336 pub stack_set: Option<StackSet>,
2338}
2339
2340#[allow(dead_code)]
2341struct DescribeStackSetOutputDeserializer;
2342impl DescribeStackSetOutputDeserializer {
2343 #[allow(dead_code, unused_variables)]
2344 fn deserialize<T: Peek + Next>(
2345 tag_name: &str,
2346 stack: &mut T,
2347 ) -> Result<DescribeStackSetOutput, XmlParseError> {
2348 deserialize_elements::<_, DescribeStackSetOutput, _>(tag_name, stack, |name, stack, obj| {
2349 match name {
2350 "StackSet" => {
2351 obj.stack_set = Some(StackSetDeserializer::deserialize("StackSet", stack)?);
2352 }
2353 _ => skip_tree(stack),
2354 }
2355 Ok(())
2356 })
2357 }
2358}
2359#[derive(Clone, Debug, Default, PartialEq)]
2361#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2362pub struct DescribeStacksInput {
2363 pub next_token: Option<String>,
2365 pub stack_name: Option<String>,
2367}
2368
2369struct DescribeStacksInputSerializer;
2371impl DescribeStacksInputSerializer {
2372 fn serialize(params: &mut Params, name: &str, obj: &DescribeStacksInput) {
2373 let mut prefix = name.to_string();
2374 if prefix != "" {
2375 prefix.push_str(".");
2376 }
2377
2378 if let Some(ref field_value) = obj.next_token {
2379 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
2380 }
2381 if let Some(ref field_value) = obj.stack_name {
2382 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
2383 }
2384 }
2385}
2386
2387#[derive(Clone, Debug, Default, PartialEq)]
2389#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2390pub struct DescribeStacksOutput {
2391 pub next_token: Option<String>,
2393 pub stacks: Option<Vec<Stack>>,
2395}
2396
2397#[allow(dead_code)]
2398struct DescribeStacksOutputDeserializer;
2399impl DescribeStacksOutputDeserializer {
2400 #[allow(dead_code, unused_variables)]
2401 fn deserialize<T: Peek + Next>(
2402 tag_name: &str,
2403 stack: &mut T,
2404 ) -> Result<DescribeStacksOutput, XmlParseError> {
2405 deserialize_elements::<_, DescribeStacksOutput, _>(tag_name, stack, |name, stack, obj| {
2406 match name {
2407 "NextToken" => {
2408 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
2409 }
2410 "Stacks" => {
2411 obj.stacks
2412 .get_or_insert(vec![])
2413 .extend(StacksDeserializer::deserialize("Stacks", stack)?);
2414 }
2415 _ => skip_tree(stack),
2416 }
2417 Ok(())
2418 })
2419 }
2420}
2421#[derive(Clone, Debug, Default, PartialEq)]
2422#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2423pub struct DescribeTypeInput {
2424 pub arn: Option<String>,
2426 pub type_: Option<String>,
2428 pub type_name: Option<String>,
2430 pub version_id: Option<String>,
2432}
2433
2434struct DescribeTypeInputSerializer;
2436impl DescribeTypeInputSerializer {
2437 fn serialize(params: &mut Params, name: &str, obj: &DescribeTypeInput) {
2438 let mut prefix = name.to_string();
2439 if prefix != "" {
2440 prefix.push_str(".");
2441 }
2442
2443 if let Some(ref field_value) = obj.arn {
2444 params.put(&format!("{}{}", prefix, "Arn"), &field_value);
2445 }
2446 if let Some(ref field_value) = obj.type_ {
2447 params.put(&format!("{}{}", prefix, "Type"), &field_value);
2448 }
2449 if let Some(ref field_value) = obj.type_name {
2450 params.put(&format!("{}{}", prefix, "TypeName"), &field_value);
2451 }
2452 if let Some(ref field_value) = obj.version_id {
2453 params.put(&format!("{}{}", prefix, "VersionId"), &field_value);
2454 }
2455 }
2456}
2457
2458#[derive(Clone, Debug, Default, PartialEq)]
2459#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2460pub struct DescribeTypeOutput {
2461 pub arn: Option<String>,
2463 pub default_version_id: Option<String>,
2465 pub deprecated_status: Option<String>,
2467 pub description: Option<String>,
2469 pub documentation_url: Option<String>,
2471 pub execution_role_arn: Option<String>,
2473 pub is_default_version: Option<bool>,
2475 pub last_updated: Option<String>,
2477 pub logging_config: Option<LoggingConfig>,
2479 pub provisioning_type: Option<String>,
2481 pub schema: Option<String>,
2483 pub source_url: Option<String>,
2485 pub time_created: Option<String>,
2487 pub type_: Option<String>,
2489 pub type_name: Option<String>,
2491 pub visibility: Option<String>,
2493}
2494
2495#[allow(dead_code)]
2496struct DescribeTypeOutputDeserializer;
2497impl DescribeTypeOutputDeserializer {
2498 #[allow(dead_code, unused_variables)]
2499 fn deserialize<T: Peek + Next>(
2500 tag_name: &str,
2501 stack: &mut T,
2502 ) -> Result<DescribeTypeOutput, XmlParseError> {
2503 deserialize_elements::<_, DescribeTypeOutput, _>(tag_name, stack, |name, stack, obj| {
2504 match name {
2505 "Arn" => {
2506 obj.arn = Some(TypeArnDeserializer::deserialize("Arn", stack)?);
2507 }
2508 "DefaultVersionId" => {
2509 obj.default_version_id = Some(TypeVersionIdDeserializer::deserialize(
2510 "DefaultVersionId",
2511 stack,
2512 )?);
2513 }
2514 "DeprecatedStatus" => {
2515 obj.deprecated_status = Some(DeprecatedStatusDeserializer::deserialize(
2516 "DeprecatedStatus",
2517 stack,
2518 )?);
2519 }
2520 "Description" => {
2521 obj.description =
2522 Some(DescriptionDeserializer::deserialize("Description", stack)?);
2523 }
2524 "DocumentationUrl" => {
2525 obj.documentation_url = Some(OptionalSecureUrlDeserializer::deserialize(
2526 "DocumentationUrl",
2527 stack,
2528 )?);
2529 }
2530 "ExecutionRoleArn" => {
2531 obj.execution_role_arn =
2532 Some(RoleArnDeserializer::deserialize("ExecutionRoleArn", stack)?);
2533 }
2534 "IsDefaultVersion" => {
2535 obj.is_default_version = Some(IsDefaultVersionDeserializer::deserialize(
2536 "IsDefaultVersion",
2537 stack,
2538 )?);
2539 }
2540 "LastUpdated" => {
2541 obj.last_updated =
2542 Some(TimestampDeserializer::deserialize("LastUpdated", stack)?);
2543 }
2544 "LoggingConfig" => {
2545 obj.logging_config = Some(LoggingConfigDeserializer::deserialize(
2546 "LoggingConfig",
2547 stack,
2548 )?);
2549 }
2550 "ProvisioningType" => {
2551 obj.provisioning_type = Some(ProvisioningTypeDeserializer::deserialize(
2552 "ProvisioningType",
2553 stack,
2554 )?);
2555 }
2556 "Schema" => {
2557 obj.schema = Some(TypeSchemaDeserializer::deserialize("Schema", stack)?);
2558 }
2559 "SourceUrl" => {
2560 obj.source_url = Some(OptionalSecureUrlDeserializer::deserialize(
2561 "SourceUrl",
2562 stack,
2563 )?);
2564 }
2565 "TimeCreated" => {
2566 obj.time_created =
2567 Some(TimestampDeserializer::deserialize("TimeCreated", stack)?);
2568 }
2569 "Type" => {
2570 obj.type_ = Some(RegistryTypeDeserializer::deserialize("Type", stack)?);
2571 }
2572 "TypeName" => {
2573 obj.type_name = Some(TypeNameDeserializer::deserialize("TypeName", stack)?);
2574 }
2575 "Visibility" => {
2576 obj.visibility =
2577 Some(VisibilityDeserializer::deserialize("Visibility", stack)?);
2578 }
2579 _ => skip_tree(stack),
2580 }
2581 Ok(())
2582 })
2583 }
2584}
2585#[derive(Clone, Debug, Default, PartialEq)]
2586#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2587pub struct DescribeTypeRegistrationInput {
2588 pub registration_token: String,
2590}
2591
2592struct DescribeTypeRegistrationInputSerializer;
2594impl DescribeTypeRegistrationInputSerializer {
2595 fn serialize(params: &mut Params, name: &str, obj: &DescribeTypeRegistrationInput) {
2596 let mut prefix = name.to_string();
2597 if prefix != "" {
2598 prefix.push_str(".");
2599 }
2600
2601 params.put(
2602 &format!("{}{}", prefix, "RegistrationToken"),
2603 &obj.registration_token,
2604 );
2605 }
2606}
2607
2608#[derive(Clone, Debug, Default, PartialEq)]
2609#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2610pub struct DescribeTypeRegistrationOutput {
2611 pub description: Option<String>,
2613 pub progress_status: Option<String>,
2615 pub type_arn: Option<String>,
2617 pub type_version_arn: Option<String>,
2619}
2620
2621#[allow(dead_code)]
2622struct DescribeTypeRegistrationOutputDeserializer;
2623impl DescribeTypeRegistrationOutputDeserializer {
2624 #[allow(dead_code, unused_variables)]
2625 fn deserialize<T: Peek + Next>(
2626 tag_name: &str,
2627 stack: &mut T,
2628 ) -> Result<DescribeTypeRegistrationOutput, XmlParseError> {
2629 deserialize_elements::<_, DescribeTypeRegistrationOutput, _>(
2630 tag_name,
2631 stack,
2632 |name, stack, obj| {
2633 match name {
2634 "Description" => {
2635 obj.description =
2636 Some(DescriptionDeserializer::deserialize("Description", stack)?);
2637 }
2638 "ProgressStatus" => {
2639 obj.progress_status = Some(RegistrationStatusDeserializer::deserialize(
2640 "ProgressStatus",
2641 stack,
2642 )?);
2643 }
2644 "TypeArn" => {
2645 obj.type_arn = Some(TypeArnDeserializer::deserialize("TypeArn", stack)?);
2646 }
2647 "TypeVersionArn" => {
2648 obj.type_version_arn =
2649 Some(TypeArnDeserializer::deserialize("TypeVersionArn", stack)?);
2650 }
2651 _ => skip_tree(stack),
2652 }
2653 Ok(())
2654 },
2655 )
2656 }
2657}
2658#[allow(dead_code)]
2659struct DescriptionDeserializer;
2660impl DescriptionDeserializer {
2661 #[allow(dead_code, unused_variables)]
2662 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
2663 xml_util::deserialize_primitive(tag_name, stack, Ok)
2664 }
2665}
2666#[derive(Clone, Debug, Default, PartialEq)]
2667#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2668pub struct DetectStackDriftInput {
2669 pub logical_resource_ids: Option<Vec<String>>,
2671 pub stack_name: String,
2673}
2674
2675struct DetectStackDriftInputSerializer;
2677impl DetectStackDriftInputSerializer {
2678 fn serialize(params: &mut Params, name: &str, obj: &DetectStackDriftInput) {
2679 let mut prefix = name.to_string();
2680 if prefix != "" {
2681 prefix.push_str(".");
2682 }
2683
2684 if let Some(ref field_value) = obj.logical_resource_ids {
2685 LogicalResourceIdsSerializer::serialize(
2686 params,
2687 &format!("{}{}", prefix, "LogicalResourceIds"),
2688 field_value,
2689 );
2690 }
2691 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
2692 }
2693}
2694
2695#[derive(Clone, Debug, Default, PartialEq)]
2696#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2697pub struct DetectStackDriftOutput {
2698 pub stack_drift_detection_id: String,
2700}
2701
2702#[allow(dead_code)]
2703struct DetectStackDriftOutputDeserializer;
2704impl DetectStackDriftOutputDeserializer {
2705 #[allow(dead_code, unused_variables)]
2706 fn deserialize<T: Peek + Next>(
2707 tag_name: &str,
2708 stack: &mut T,
2709 ) -> Result<DetectStackDriftOutput, XmlParseError> {
2710 deserialize_elements::<_, DetectStackDriftOutput, _>(tag_name, stack, |name, stack, obj| {
2711 match name {
2712 "StackDriftDetectionId" => {
2713 obj.stack_drift_detection_id = StackDriftDetectionIdDeserializer::deserialize(
2714 "StackDriftDetectionId",
2715 stack,
2716 )?;
2717 }
2718 _ => skip_tree(stack),
2719 }
2720 Ok(())
2721 })
2722 }
2723}
2724#[derive(Clone, Debug, Default, PartialEq)]
2725#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2726pub struct DetectStackResourceDriftInput {
2727 pub logical_resource_id: String,
2729 pub stack_name: String,
2731}
2732
2733struct DetectStackResourceDriftInputSerializer;
2735impl DetectStackResourceDriftInputSerializer {
2736 fn serialize(params: &mut Params, name: &str, obj: &DetectStackResourceDriftInput) {
2737 let mut prefix = name.to_string();
2738 if prefix != "" {
2739 prefix.push_str(".");
2740 }
2741
2742 params.put(
2743 &format!("{}{}", prefix, "LogicalResourceId"),
2744 &obj.logical_resource_id,
2745 );
2746 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
2747 }
2748}
2749
2750#[derive(Clone, Debug, Default, PartialEq)]
2751#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2752pub struct DetectStackResourceDriftOutput {
2753 pub stack_resource_drift: StackResourceDrift,
2755}
2756
2757#[allow(dead_code)]
2758struct DetectStackResourceDriftOutputDeserializer;
2759impl DetectStackResourceDriftOutputDeserializer {
2760 #[allow(dead_code, unused_variables)]
2761 fn deserialize<T: Peek + Next>(
2762 tag_name: &str,
2763 stack: &mut T,
2764 ) -> Result<DetectStackResourceDriftOutput, XmlParseError> {
2765 deserialize_elements::<_, DetectStackResourceDriftOutput, _>(
2766 tag_name,
2767 stack,
2768 |name, stack, obj| {
2769 match name {
2770 "StackResourceDrift" => {
2771 obj.stack_resource_drift = StackResourceDriftDeserializer::deserialize(
2772 "StackResourceDrift",
2773 stack,
2774 )?;
2775 }
2776 _ => skip_tree(stack),
2777 }
2778 Ok(())
2779 },
2780 )
2781 }
2782}
2783#[derive(Clone, Debug, Default, PartialEq)]
2784#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2785pub struct DetectStackSetDriftInput {
2786 pub operation_id: Option<String>,
2788 pub operation_preferences: Option<StackSetOperationPreferences>,
2789 pub stack_set_name: String,
2791}
2792
2793struct DetectStackSetDriftInputSerializer;
2795impl DetectStackSetDriftInputSerializer {
2796 fn serialize(params: &mut Params, name: &str, obj: &DetectStackSetDriftInput) {
2797 let mut prefix = name.to_string();
2798 if prefix != "" {
2799 prefix.push_str(".");
2800 }
2801
2802 if let Some(ref field_value) = obj.operation_id {
2803 params.put(&format!("{}{}", prefix, "OperationId"), &field_value);
2804 }
2805 if let Some(ref field_value) = obj.operation_preferences {
2806 StackSetOperationPreferencesSerializer::serialize(
2807 params,
2808 &format!("{}{}", prefix, "OperationPreferences"),
2809 field_value,
2810 );
2811 }
2812 params.put(
2813 &format!("{}{}", prefix, "StackSetName"),
2814 &obj.stack_set_name,
2815 );
2816 }
2817}
2818
2819#[derive(Clone, Debug, Default, PartialEq)]
2820#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2821pub struct DetectStackSetDriftOutput {
2822 pub operation_id: Option<String>,
2824}
2825
2826#[allow(dead_code)]
2827struct DetectStackSetDriftOutputDeserializer;
2828impl DetectStackSetDriftOutputDeserializer {
2829 #[allow(dead_code, unused_variables)]
2830 fn deserialize<T: Peek + Next>(
2831 tag_name: &str,
2832 stack: &mut T,
2833 ) -> Result<DetectStackSetDriftOutput, XmlParseError> {
2834 deserialize_elements::<_, DetectStackSetDriftOutput, _>(
2835 tag_name,
2836 stack,
2837 |name, stack, obj| {
2838 match name {
2839 "OperationId" => {
2840 obj.operation_id = Some(ClientRequestTokenDeserializer::deserialize(
2841 "OperationId",
2842 stack,
2843 )?);
2844 }
2845 _ => skip_tree(stack),
2846 }
2847 Ok(())
2848 },
2849 )
2850 }
2851}
2852#[allow(dead_code)]
2853struct DifferenceTypeDeserializer;
2854impl DifferenceTypeDeserializer {
2855 #[allow(dead_code, unused_variables)]
2856 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
2857 xml_util::deserialize_primitive(tag_name, stack, Ok)
2858 }
2859}
2860#[allow(dead_code)]
2861struct DisableRollbackDeserializer;
2862impl DisableRollbackDeserializer {
2863 #[allow(dead_code, unused_variables)]
2864 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
2865 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
2866 }
2867}
2868#[allow(dead_code)]
2869struct DriftedStackInstancesCountDeserializer;
2870impl DriftedStackInstancesCountDeserializer {
2871 #[allow(dead_code, unused_variables)]
2872 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
2873 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
2874 }
2875}
2876#[allow(dead_code)]
2877struct EnableTerminationProtectionDeserializer;
2878impl EnableTerminationProtectionDeserializer {
2879 #[allow(dead_code, unused_variables)]
2880 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
2881 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
2882 }
2883}
2884#[derive(Clone, Debug, Default, PartialEq)]
2886#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2887pub struct EstimateTemplateCostInput {
2888 pub parameters: Option<Vec<Parameter>>,
2890 pub template_body: Option<String>,
2892 pub template_url: Option<String>,
2894}
2895
2896struct EstimateTemplateCostInputSerializer;
2898impl EstimateTemplateCostInputSerializer {
2899 fn serialize(params: &mut Params, name: &str, obj: &EstimateTemplateCostInput) {
2900 let mut prefix = name.to_string();
2901 if prefix != "" {
2902 prefix.push_str(".");
2903 }
2904
2905 if let Some(ref field_value) = obj.parameters {
2906 ParametersSerializer::serialize(
2907 params,
2908 &format!("{}{}", prefix, "Parameters"),
2909 field_value,
2910 );
2911 }
2912 if let Some(ref field_value) = obj.template_body {
2913 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
2914 }
2915 if let Some(ref field_value) = obj.template_url {
2916 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
2917 }
2918 }
2919}
2920
2921#[derive(Clone, Debug, Default, PartialEq)]
2923#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2924pub struct EstimateTemplateCostOutput {
2925 pub url: Option<String>,
2927}
2928
2929#[allow(dead_code)]
2930struct EstimateTemplateCostOutputDeserializer;
2931impl EstimateTemplateCostOutputDeserializer {
2932 #[allow(dead_code, unused_variables)]
2933 fn deserialize<T: Peek + Next>(
2934 tag_name: &str,
2935 stack: &mut T,
2936 ) -> Result<EstimateTemplateCostOutput, XmlParseError> {
2937 deserialize_elements::<_, EstimateTemplateCostOutput, _>(
2938 tag_name,
2939 stack,
2940 |name, stack, obj| {
2941 match name {
2942 "Url" => {
2943 obj.url = Some(UrlDeserializer::deserialize("Url", stack)?);
2944 }
2945 _ => skip_tree(stack),
2946 }
2947 Ok(())
2948 },
2949 )
2950 }
2951}
2952#[allow(dead_code)]
2953struct EvaluationTypeDeserializer;
2954impl EvaluationTypeDeserializer {
2955 #[allow(dead_code, unused_variables)]
2956 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
2957 xml_util::deserialize_primitive(tag_name, stack, Ok)
2958 }
2959}
2960#[allow(dead_code)]
2961struct EventIdDeserializer;
2962impl EventIdDeserializer {
2963 #[allow(dead_code, unused_variables)]
2964 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
2965 xml_util::deserialize_primitive(tag_name, stack, Ok)
2966 }
2967}
2968#[derive(Clone, Debug, Default, PartialEq)]
2970#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2971pub struct ExecuteChangeSetInput {
2972 pub change_set_name: String,
2974 pub client_request_token: Option<String>,
2976 pub stack_name: Option<String>,
2978}
2979
2980struct ExecuteChangeSetInputSerializer;
2982impl ExecuteChangeSetInputSerializer {
2983 fn serialize(params: &mut Params, name: &str, obj: &ExecuteChangeSetInput) {
2984 let mut prefix = name.to_string();
2985 if prefix != "" {
2986 prefix.push_str(".");
2987 }
2988
2989 params.put(
2990 &format!("{}{}", prefix, "ChangeSetName"),
2991 &obj.change_set_name,
2992 );
2993 if let Some(ref field_value) = obj.client_request_token {
2994 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
2995 }
2996 if let Some(ref field_value) = obj.stack_name {
2997 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
2998 }
2999 }
3000}
3001
3002#[derive(Clone, Debug, Default, PartialEq)]
3004#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3005pub struct ExecuteChangeSetOutput {}
3006
3007#[allow(dead_code)]
3008struct ExecuteChangeSetOutputDeserializer;
3009impl ExecuteChangeSetOutputDeserializer {
3010 #[allow(dead_code, unused_variables)]
3011 fn deserialize<T: Peek + Next>(
3012 tag_name: &str,
3013 stack: &mut T,
3014 ) -> Result<ExecuteChangeSetOutput, XmlParseError> {
3015 xml_util::start_element(tag_name, stack)?;
3016
3017 let obj = ExecuteChangeSetOutput::default();
3018
3019 xml_util::end_element(tag_name, stack)?;
3020
3021 Ok(obj)
3022 }
3023}
3024#[allow(dead_code)]
3025struct ExecutionRoleNameDeserializer;
3026impl ExecutionRoleNameDeserializer {
3027 #[allow(dead_code, unused_variables)]
3028 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
3029 xml_util::deserialize_primitive(tag_name, stack, Ok)
3030 }
3031}
3032#[allow(dead_code)]
3033struct ExecutionStatusDeserializer;
3034impl ExecutionStatusDeserializer {
3035 #[allow(dead_code, unused_variables)]
3036 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
3037 xml_util::deserialize_primitive(tag_name, stack, Ok)
3038 }
3039}
3040#[derive(Clone, Debug, Default, PartialEq)]
3042#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3043pub struct Export {
3044 pub exporting_stack_id: Option<String>,
3046 pub name: Option<String>,
3048 pub value: Option<String>,
3050}
3051
3052#[allow(dead_code)]
3053struct ExportDeserializer;
3054impl ExportDeserializer {
3055 #[allow(dead_code, unused_variables)]
3056 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Export, XmlParseError> {
3057 deserialize_elements::<_, Export, _>(tag_name, stack, |name, stack, obj| {
3058 match name {
3059 "ExportingStackId" => {
3060 obj.exporting_stack_id =
3061 Some(StackIdDeserializer::deserialize("ExportingStackId", stack)?);
3062 }
3063 "Name" => {
3064 obj.name = Some(ExportNameDeserializer::deserialize("Name", stack)?);
3065 }
3066 "Value" => {
3067 obj.value = Some(ExportValueDeserializer::deserialize("Value", stack)?);
3068 }
3069 _ => skip_tree(stack),
3070 }
3071 Ok(())
3072 })
3073 }
3074}
3075#[allow(dead_code)]
3076struct ExportNameDeserializer;
3077impl ExportNameDeserializer {
3078 #[allow(dead_code, unused_variables)]
3079 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
3080 xml_util::deserialize_primitive(tag_name, stack, Ok)
3081 }
3082}
3083#[allow(dead_code)]
3084struct ExportValueDeserializer;
3085impl ExportValueDeserializer {
3086 #[allow(dead_code, unused_variables)]
3087 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
3088 xml_util::deserialize_primitive(tag_name, stack, Ok)
3089 }
3090}
3091#[allow(dead_code)]
3092struct ExportsDeserializer;
3093impl ExportsDeserializer {
3094 #[allow(dead_code, unused_variables)]
3095 fn deserialize<T: Peek + Next>(
3096 tag_name: &str,
3097 stack: &mut T,
3098 ) -> Result<Vec<Export>, XmlParseError> {
3099 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
3100 if name == "member" {
3101 obj.push(ExportDeserializer::deserialize("member", stack)?);
3102 } else {
3103 skip_tree(stack);
3104 }
3105 Ok(())
3106 })
3107 }
3108}
3109#[allow(dead_code)]
3110struct FailedStackInstancesCountDeserializer;
3111impl FailedStackInstancesCountDeserializer {
3112 #[allow(dead_code, unused_variables)]
3113 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
3114 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
3115 }
3116}
3117#[allow(dead_code)]
3118struct FailureToleranceCountDeserializer;
3119impl FailureToleranceCountDeserializer {
3120 #[allow(dead_code, unused_variables)]
3121 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
3122 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
3123 }
3124}
3125#[allow(dead_code)]
3126struct FailureTolerancePercentageDeserializer;
3127impl FailureTolerancePercentageDeserializer {
3128 #[allow(dead_code, unused_variables)]
3129 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
3130 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
3131 }
3132}
3133#[derive(Clone, Debug, Default, PartialEq)]
3135#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3136pub struct GetStackPolicyInput {
3137 pub stack_name: String,
3139}
3140
3141struct GetStackPolicyInputSerializer;
3143impl GetStackPolicyInputSerializer {
3144 fn serialize(params: &mut Params, name: &str, obj: &GetStackPolicyInput) {
3145 let mut prefix = name.to_string();
3146 if prefix != "" {
3147 prefix.push_str(".");
3148 }
3149
3150 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
3151 }
3152}
3153
3154#[derive(Clone, Debug, Default, PartialEq)]
3156#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3157pub struct GetStackPolicyOutput {
3158 pub stack_policy_body: Option<String>,
3160}
3161
3162#[allow(dead_code)]
3163struct GetStackPolicyOutputDeserializer;
3164impl GetStackPolicyOutputDeserializer {
3165 #[allow(dead_code, unused_variables)]
3166 fn deserialize<T: Peek + Next>(
3167 tag_name: &str,
3168 stack: &mut T,
3169 ) -> Result<GetStackPolicyOutput, XmlParseError> {
3170 deserialize_elements::<_, GetStackPolicyOutput, _>(tag_name, stack, |name, stack, obj| {
3171 match name {
3172 "StackPolicyBody" => {
3173 obj.stack_policy_body = Some(StackPolicyBodyDeserializer::deserialize(
3174 "StackPolicyBody",
3175 stack,
3176 )?);
3177 }
3178 _ => skip_tree(stack),
3179 }
3180 Ok(())
3181 })
3182 }
3183}
3184#[derive(Clone, Debug, Default, PartialEq)]
3186#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3187pub struct GetTemplateInput {
3188 pub change_set_name: Option<String>,
3190 pub stack_name: Option<String>,
3192 pub template_stage: Option<String>,
3194}
3195
3196struct GetTemplateInputSerializer;
3198impl GetTemplateInputSerializer {
3199 fn serialize(params: &mut Params, name: &str, obj: &GetTemplateInput) {
3200 let mut prefix = name.to_string();
3201 if prefix != "" {
3202 prefix.push_str(".");
3203 }
3204
3205 if let Some(ref field_value) = obj.change_set_name {
3206 params.put(&format!("{}{}", prefix, "ChangeSetName"), &field_value);
3207 }
3208 if let Some(ref field_value) = obj.stack_name {
3209 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
3210 }
3211 if let Some(ref field_value) = obj.template_stage {
3212 params.put(&format!("{}{}", prefix, "TemplateStage"), &field_value);
3213 }
3214 }
3215}
3216
3217#[derive(Clone, Debug, Default, PartialEq)]
3219#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3220pub struct GetTemplateOutput {
3221 pub stages_available: Option<Vec<String>>,
3223 pub template_body: Option<String>,
3225}
3226
3227#[allow(dead_code)]
3228struct GetTemplateOutputDeserializer;
3229impl GetTemplateOutputDeserializer {
3230 #[allow(dead_code, unused_variables)]
3231 fn deserialize<T: Peek + Next>(
3232 tag_name: &str,
3233 stack: &mut T,
3234 ) -> Result<GetTemplateOutput, XmlParseError> {
3235 deserialize_elements::<_, GetTemplateOutput, _>(tag_name, stack, |name, stack, obj| {
3236 match name {
3237 "StagesAvailable" => {
3238 obj.stages_available.get_or_insert(vec![]).extend(
3239 StageListDeserializer::deserialize("StagesAvailable", stack)?,
3240 );
3241 }
3242 "TemplateBody" => {
3243 obj.template_body = Some(TemplateBodyDeserializer::deserialize(
3244 "TemplateBody",
3245 stack,
3246 )?);
3247 }
3248 _ => skip_tree(stack),
3249 }
3250 Ok(())
3251 })
3252 }
3253}
3254#[derive(Clone, Debug, Default, PartialEq)]
3256#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3257pub struct GetTemplateSummaryInput {
3258 pub stack_name: Option<String>,
3260 pub stack_set_name: Option<String>,
3262 pub template_body: Option<String>,
3264 pub template_url: Option<String>,
3266}
3267
3268struct GetTemplateSummaryInputSerializer;
3270impl GetTemplateSummaryInputSerializer {
3271 fn serialize(params: &mut Params, name: &str, obj: &GetTemplateSummaryInput) {
3272 let mut prefix = name.to_string();
3273 if prefix != "" {
3274 prefix.push_str(".");
3275 }
3276
3277 if let Some(ref field_value) = obj.stack_name {
3278 params.put(&format!("{}{}", prefix, "StackName"), &field_value);
3279 }
3280 if let Some(ref field_value) = obj.stack_set_name {
3281 params.put(&format!("{}{}", prefix, "StackSetName"), &field_value);
3282 }
3283 if let Some(ref field_value) = obj.template_body {
3284 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
3285 }
3286 if let Some(ref field_value) = obj.template_url {
3287 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
3288 }
3289 }
3290}
3291
3292#[derive(Clone, Debug, Default, PartialEq)]
3294#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3295pub struct GetTemplateSummaryOutput {
3296 pub capabilities: Option<Vec<String>>,
3298 pub capabilities_reason: Option<String>,
3300 pub declared_transforms: Option<Vec<String>>,
3302 pub description: Option<String>,
3304 pub metadata: Option<String>,
3306 pub parameters: Option<Vec<ParameterDeclaration>>,
3308 pub resource_identifier_summaries: Option<Vec<ResourceIdentifierSummary>>,
3310 pub resource_types: Option<Vec<String>>,
3312 pub version: Option<String>,
3314}
3315
3316#[allow(dead_code)]
3317struct GetTemplateSummaryOutputDeserializer;
3318impl GetTemplateSummaryOutputDeserializer {
3319 #[allow(dead_code, unused_variables)]
3320 fn deserialize<T: Peek + Next>(
3321 tag_name: &str,
3322 stack: &mut T,
3323 ) -> Result<GetTemplateSummaryOutput, XmlParseError> {
3324 deserialize_elements::<_, GetTemplateSummaryOutput, _>(
3325 tag_name,
3326 stack,
3327 |name, stack, obj| {
3328 match name {
3329 "Capabilities" => {
3330 obj.capabilities.get_or_insert(vec![]).extend(
3331 CapabilitiesDeserializer::deserialize("Capabilities", stack)?,
3332 );
3333 }
3334 "CapabilitiesReason" => {
3335 obj.capabilities_reason =
3336 Some(CapabilitiesReasonDeserializer::deserialize(
3337 "CapabilitiesReason",
3338 stack,
3339 )?);
3340 }
3341 "DeclaredTransforms" => {
3342 obj.declared_transforms.get_or_insert(vec![]).extend(
3343 TransformsListDeserializer::deserialize("DeclaredTransforms", stack)?,
3344 );
3345 }
3346 "Description" => {
3347 obj.description =
3348 Some(DescriptionDeserializer::deserialize("Description", stack)?);
3349 }
3350 "Metadata" => {
3351 obj.metadata = Some(MetadataDeserializer::deserialize("Metadata", stack)?);
3352 }
3353 "Parameters" => {
3354 obj.parameters.get_or_insert(vec![]).extend(
3355 ParameterDeclarationsDeserializer::deserialize("Parameters", stack)?,
3356 );
3357 }
3358 "ResourceIdentifierSummaries" => {
3359 obj.resource_identifier_summaries
3360 .get_or_insert(vec![])
3361 .extend(ResourceIdentifierSummariesDeserializer::deserialize(
3362 "ResourceIdentifierSummaries",
3363 stack,
3364 )?);
3365 }
3366 "ResourceTypes" => {
3367 obj.resource_types.get_or_insert(vec![]).extend(
3368 ResourceTypesDeserializer::deserialize("ResourceTypes", stack)?,
3369 );
3370 }
3371 "Version" => {
3372 obj.version = Some(VersionDeserializer::deserialize("Version", stack)?);
3373 }
3374 _ => skip_tree(stack),
3375 }
3376 Ok(())
3377 },
3378 )
3379 }
3380}
3381#[allow(dead_code)]
3382struct ImportsDeserializer;
3383impl ImportsDeserializer {
3384 #[allow(dead_code, unused_variables)]
3385 fn deserialize<T: Peek + Next>(
3386 tag_name: &str,
3387 stack: &mut T,
3388 ) -> Result<Vec<String>, XmlParseError> {
3389 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
3390 if name == "member" {
3391 obj.push(StackNameDeserializer::deserialize("member", stack)?);
3392 } else {
3393 skip_tree(stack);
3394 }
3395 Ok(())
3396 })
3397 }
3398}
3399#[allow(dead_code)]
3400struct InProgressStackInstancesCountDeserializer;
3401impl InProgressStackInstancesCountDeserializer {
3402 #[allow(dead_code, unused_variables)]
3403 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
3404 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
3405 }
3406}
3407#[allow(dead_code)]
3408struct InSyncStackInstancesCountDeserializer;
3409impl InSyncStackInstancesCountDeserializer {
3410 #[allow(dead_code, unused_variables)]
3411 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
3412 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
3413 }
3414}
3415#[allow(dead_code)]
3416struct IsDefaultVersionDeserializer;
3417impl IsDefaultVersionDeserializer {
3418 #[allow(dead_code, unused_variables)]
3419 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
3420 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
3421 }
3422}
3423#[allow(dead_code)]
3424struct KeyDeserializer;
3425impl KeyDeserializer {
3426 #[allow(dead_code, unused_variables)]
3427 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
3428 xml_util::deserialize_primitive(tag_name, stack, Ok)
3429 }
3430}
3431#[allow(dead_code)]
3432struct LastUpdatedTimeDeserializer;
3433impl LastUpdatedTimeDeserializer {
3434 #[allow(dead_code, unused_variables)]
3435 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
3436 xml_util::deserialize_primitive(tag_name, stack, Ok)
3437 }
3438}
3439#[allow(dead_code)]
3440struct LimitNameDeserializer;
3441impl LimitNameDeserializer {
3442 #[allow(dead_code, unused_variables)]
3443 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
3444 xml_util::deserialize_primitive(tag_name, stack, Ok)
3445 }
3446}
3447#[allow(dead_code)]
3448struct LimitValueDeserializer;
3449impl LimitValueDeserializer {
3450 #[allow(dead_code, unused_variables)]
3451 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
3452 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
3453 }
3454}
3455#[derive(Clone, Debug, Default, PartialEq)]
3457#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3458pub struct ListChangeSetsInput {
3459 pub next_token: Option<String>,
3461 pub stack_name: String,
3463}
3464
3465struct ListChangeSetsInputSerializer;
3467impl ListChangeSetsInputSerializer {
3468 fn serialize(params: &mut Params, name: &str, obj: &ListChangeSetsInput) {
3469 let mut prefix = name.to_string();
3470 if prefix != "" {
3471 prefix.push_str(".");
3472 }
3473
3474 if let Some(ref field_value) = obj.next_token {
3475 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3476 }
3477 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
3478 }
3479}
3480
3481#[derive(Clone, Debug, Default, PartialEq)]
3483#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3484pub struct ListChangeSetsOutput {
3485 pub next_token: Option<String>,
3487 pub summaries: Option<Vec<ChangeSetSummary>>,
3489}
3490
3491#[allow(dead_code)]
3492struct ListChangeSetsOutputDeserializer;
3493impl ListChangeSetsOutputDeserializer {
3494 #[allow(dead_code, unused_variables)]
3495 fn deserialize<T: Peek + Next>(
3496 tag_name: &str,
3497 stack: &mut T,
3498 ) -> Result<ListChangeSetsOutput, XmlParseError> {
3499 deserialize_elements::<_, ListChangeSetsOutput, _>(tag_name, stack, |name, stack, obj| {
3500 match name {
3501 "NextToken" => {
3502 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3503 }
3504 "Summaries" => {
3505 obj.summaries.get_or_insert(vec![]).extend(
3506 ChangeSetSummariesDeserializer::deserialize("Summaries", stack)?,
3507 );
3508 }
3509 _ => skip_tree(stack),
3510 }
3511 Ok(())
3512 })
3513 }
3514}
3515#[derive(Clone, Debug, Default, PartialEq)]
3516#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3517pub struct ListExportsInput {
3518 pub next_token: Option<String>,
3520}
3521
3522struct ListExportsInputSerializer;
3524impl ListExportsInputSerializer {
3525 fn serialize(params: &mut Params, name: &str, obj: &ListExportsInput) {
3526 let mut prefix = name.to_string();
3527 if prefix != "" {
3528 prefix.push_str(".");
3529 }
3530
3531 if let Some(ref field_value) = obj.next_token {
3532 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3533 }
3534 }
3535}
3536
3537#[derive(Clone, Debug, Default, PartialEq)]
3538#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3539pub struct ListExportsOutput {
3540 pub exports: Option<Vec<Export>>,
3542 pub next_token: Option<String>,
3544}
3545
3546#[allow(dead_code)]
3547struct ListExportsOutputDeserializer;
3548impl ListExportsOutputDeserializer {
3549 #[allow(dead_code, unused_variables)]
3550 fn deserialize<T: Peek + Next>(
3551 tag_name: &str,
3552 stack: &mut T,
3553 ) -> Result<ListExportsOutput, XmlParseError> {
3554 deserialize_elements::<_, ListExportsOutput, _>(tag_name, stack, |name, stack, obj| {
3555 match name {
3556 "Exports" => {
3557 obj.exports
3558 .get_or_insert(vec![])
3559 .extend(ExportsDeserializer::deserialize("Exports", stack)?);
3560 }
3561 "NextToken" => {
3562 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3563 }
3564 _ => skip_tree(stack),
3565 }
3566 Ok(())
3567 })
3568 }
3569}
3570#[derive(Clone, Debug, Default, PartialEq)]
3571#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3572pub struct ListImportsInput {
3573 pub export_name: String,
3575 pub next_token: Option<String>,
3577}
3578
3579struct ListImportsInputSerializer;
3581impl ListImportsInputSerializer {
3582 fn serialize(params: &mut Params, name: &str, obj: &ListImportsInput) {
3583 let mut prefix = name.to_string();
3584 if prefix != "" {
3585 prefix.push_str(".");
3586 }
3587
3588 params.put(&format!("{}{}", prefix, "ExportName"), &obj.export_name);
3589 if let Some(ref field_value) = obj.next_token {
3590 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3591 }
3592 }
3593}
3594
3595#[derive(Clone, Debug, Default, PartialEq)]
3596#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3597pub struct ListImportsOutput {
3598 pub imports: Option<Vec<String>>,
3600 pub next_token: Option<String>,
3602}
3603
3604#[allow(dead_code)]
3605struct ListImportsOutputDeserializer;
3606impl ListImportsOutputDeserializer {
3607 #[allow(dead_code, unused_variables)]
3608 fn deserialize<T: Peek + Next>(
3609 tag_name: &str,
3610 stack: &mut T,
3611 ) -> Result<ListImportsOutput, XmlParseError> {
3612 deserialize_elements::<_, ListImportsOutput, _>(tag_name, stack, |name, stack, obj| {
3613 match name {
3614 "Imports" => {
3615 obj.imports
3616 .get_or_insert(vec![])
3617 .extend(ImportsDeserializer::deserialize("Imports", stack)?);
3618 }
3619 "NextToken" => {
3620 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3621 }
3622 _ => skip_tree(stack),
3623 }
3624 Ok(())
3625 })
3626 }
3627}
3628#[derive(Clone, Debug, Default, PartialEq)]
3629#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3630pub struct ListStackInstancesInput {
3631 pub filters: Option<Vec<StackInstanceFilter>>,
3633 pub max_results: Option<i64>,
3635 pub next_token: Option<String>,
3637 pub stack_instance_account: Option<String>,
3639 pub stack_instance_region: Option<String>,
3641 pub stack_set_name: String,
3643}
3644
3645struct ListStackInstancesInputSerializer;
3647impl ListStackInstancesInputSerializer {
3648 fn serialize(params: &mut Params, name: &str, obj: &ListStackInstancesInput) {
3649 let mut prefix = name.to_string();
3650 if prefix != "" {
3651 prefix.push_str(".");
3652 }
3653
3654 if let Some(ref field_value) = obj.filters {
3655 StackInstanceFiltersSerializer::serialize(
3656 params,
3657 &format!("{}{}", prefix, "Filters"),
3658 field_value,
3659 );
3660 }
3661 if let Some(ref field_value) = obj.max_results {
3662 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
3663 }
3664 if let Some(ref field_value) = obj.next_token {
3665 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3666 }
3667 if let Some(ref field_value) = obj.stack_instance_account {
3668 params.put(
3669 &format!("{}{}", prefix, "StackInstanceAccount"),
3670 &field_value,
3671 );
3672 }
3673 if let Some(ref field_value) = obj.stack_instance_region {
3674 params.put(
3675 &format!("{}{}", prefix, "StackInstanceRegion"),
3676 &field_value,
3677 );
3678 }
3679 params.put(
3680 &format!("{}{}", prefix, "StackSetName"),
3681 &obj.stack_set_name,
3682 );
3683 }
3684}
3685
3686#[derive(Clone, Debug, Default, PartialEq)]
3687#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3688pub struct ListStackInstancesOutput {
3689 pub next_token: Option<String>,
3691 pub summaries: Option<Vec<StackInstanceSummary>>,
3693}
3694
3695#[allow(dead_code)]
3696struct ListStackInstancesOutputDeserializer;
3697impl ListStackInstancesOutputDeserializer {
3698 #[allow(dead_code, unused_variables)]
3699 fn deserialize<T: Peek + Next>(
3700 tag_name: &str,
3701 stack: &mut T,
3702 ) -> Result<ListStackInstancesOutput, XmlParseError> {
3703 deserialize_elements::<_, ListStackInstancesOutput, _>(
3704 tag_name,
3705 stack,
3706 |name, stack, obj| {
3707 match name {
3708 "NextToken" => {
3709 obj.next_token =
3710 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3711 }
3712 "Summaries" => {
3713 obj.summaries.get_or_insert(vec![]).extend(
3714 StackInstanceSummariesDeserializer::deserialize("Summaries", stack)?,
3715 );
3716 }
3717 _ => skip_tree(stack),
3718 }
3719 Ok(())
3720 },
3721 )
3722 }
3723}
3724#[derive(Clone, Debug, Default, PartialEq)]
3726#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3727pub struct ListStackResourcesInput {
3728 pub next_token: Option<String>,
3730 pub stack_name: String,
3732}
3733
3734struct ListStackResourcesInputSerializer;
3736impl ListStackResourcesInputSerializer {
3737 fn serialize(params: &mut Params, name: &str, obj: &ListStackResourcesInput) {
3738 let mut prefix = name.to_string();
3739 if prefix != "" {
3740 prefix.push_str(".");
3741 }
3742
3743 if let Some(ref field_value) = obj.next_token {
3744 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3745 }
3746 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
3747 }
3748}
3749
3750#[derive(Clone, Debug, Default, PartialEq)]
3752#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3753pub struct ListStackResourcesOutput {
3754 pub next_token: Option<String>,
3756 pub stack_resource_summaries: Option<Vec<StackResourceSummary>>,
3758}
3759
3760#[allow(dead_code)]
3761struct ListStackResourcesOutputDeserializer;
3762impl ListStackResourcesOutputDeserializer {
3763 #[allow(dead_code, unused_variables)]
3764 fn deserialize<T: Peek + Next>(
3765 tag_name: &str,
3766 stack: &mut T,
3767 ) -> Result<ListStackResourcesOutput, XmlParseError> {
3768 deserialize_elements::<_, ListStackResourcesOutput, _>(
3769 tag_name,
3770 stack,
3771 |name, stack, obj| {
3772 match name {
3773 "NextToken" => {
3774 obj.next_token =
3775 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3776 }
3777 "StackResourceSummaries" => {
3778 obj.stack_resource_summaries.get_or_insert(vec![]).extend(
3779 StackResourceSummariesDeserializer::deserialize(
3780 "StackResourceSummaries",
3781 stack,
3782 )?,
3783 );
3784 }
3785 _ => skip_tree(stack),
3786 }
3787 Ok(())
3788 },
3789 )
3790 }
3791}
3792#[derive(Clone, Debug, Default, PartialEq)]
3793#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3794pub struct ListStackSetOperationResultsInput {
3795 pub max_results: Option<i64>,
3797 pub next_token: Option<String>,
3799 pub operation_id: String,
3801 pub stack_set_name: String,
3803}
3804
3805struct ListStackSetOperationResultsInputSerializer;
3807impl ListStackSetOperationResultsInputSerializer {
3808 fn serialize(params: &mut Params, name: &str, obj: &ListStackSetOperationResultsInput) {
3809 let mut prefix = name.to_string();
3810 if prefix != "" {
3811 prefix.push_str(".");
3812 }
3813
3814 if let Some(ref field_value) = obj.max_results {
3815 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
3816 }
3817 if let Some(ref field_value) = obj.next_token {
3818 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3819 }
3820 params.put(&format!("{}{}", prefix, "OperationId"), &obj.operation_id);
3821 params.put(
3822 &format!("{}{}", prefix, "StackSetName"),
3823 &obj.stack_set_name,
3824 );
3825 }
3826}
3827
3828#[derive(Clone, Debug, Default, PartialEq)]
3829#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3830pub struct ListStackSetOperationResultsOutput {
3831 pub next_token: Option<String>,
3833 pub summaries: Option<Vec<StackSetOperationResultSummary>>,
3835}
3836
3837#[allow(dead_code)]
3838struct ListStackSetOperationResultsOutputDeserializer;
3839impl ListStackSetOperationResultsOutputDeserializer {
3840 #[allow(dead_code, unused_variables)]
3841 fn deserialize<T: Peek + Next>(
3842 tag_name: &str,
3843 stack: &mut T,
3844 ) -> Result<ListStackSetOperationResultsOutput, XmlParseError> {
3845 deserialize_elements::<_, ListStackSetOperationResultsOutput, _>(
3846 tag_name,
3847 stack,
3848 |name, stack, obj| {
3849 match name {
3850 "NextToken" => {
3851 obj.next_token =
3852 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3853 }
3854 "Summaries" => {
3855 obj.summaries.get_or_insert(vec![]).extend(
3856 StackSetOperationResultSummariesDeserializer::deserialize(
3857 "Summaries",
3858 stack,
3859 )?,
3860 );
3861 }
3862 _ => skip_tree(stack),
3863 }
3864 Ok(())
3865 },
3866 )
3867 }
3868}
3869#[derive(Clone, Debug, Default, PartialEq)]
3870#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3871pub struct ListStackSetOperationsInput {
3872 pub max_results: Option<i64>,
3874 pub next_token: Option<String>,
3876 pub stack_set_name: String,
3878}
3879
3880struct ListStackSetOperationsInputSerializer;
3882impl ListStackSetOperationsInputSerializer {
3883 fn serialize(params: &mut Params, name: &str, obj: &ListStackSetOperationsInput) {
3884 let mut prefix = name.to_string();
3885 if prefix != "" {
3886 prefix.push_str(".");
3887 }
3888
3889 if let Some(ref field_value) = obj.max_results {
3890 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
3891 }
3892 if let Some(ref field_value) = obj.next_token {
3893 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3894 }
3895 params.put(
3896 &format!("{}{}", prefix, "StackSetName"),
3897 &obj.stack_set_name,
3898 );
3899 }
3900}
3901
3902#[derive(Clone, Debug, Default, PartialEq)]
3903#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3904pub struct ListStackSetOperationsOutput {
3905 pub next_token: Option<String>,
3907 pub summaries: Option<Vec<StackSetOperationSummary>>,
3909}
3910
3911#[allow(dead_code)]
3912struct ListStackSetOperationsOutputDeserializer;
3913impl ListStackSetOperationsOutputDeserializer {
3914 #[allow(dead_code, unused_variables)]
3915 fn deserialize<T: Peek + Next>(
3916 tag_name: &str,
3917 stack: &mut T,
3918 ) -> Result<ListStackSetOperationsOutput, XmlParseError> {
3919 deserialize_elements::<_, ListStackSetOperationsOutput, _>(
3920 tag_name,
3921 stack,
3922 |name, stack, obj| {
3923 match name {
3924 "NextToken" => {
3925 obj.next_token =
3926 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3927 }
3928 "Summaries" => {
3929 obj.summaries.get_or_insert(vec![]).extend(
3930 StackSetOperationSummariesDeserializer::deserialize(
3931 "Summaries",
3932 stack,
3933 )?,
3934 );
3935 }
3936 _ => skip_tree(stack),
3937 }
3938 Ok(())
3939 },
3940 )
3941 }
3942}
3943#[derive(Clone, Debug, Default, PartialEq)]
3944#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3945pub struct ListStackSetsInput {
3946 pub max_results: Option<i64>,
3948 pub next_token: Option<String>,
3950 pub status: Option<String>,
3952}
3953
3954struct ListStackSetsInputSerializer;
3956impl ListStackSetsInputSerializer {
3957 fn serialize(params: &mut Params, name: &str, obj: &ListStackSetsInput) {
3958 let mut prefix = name.to_string();
3959 if prefix != "" {
3960 prefix.push_str(".");
3961 }
3962
3963 if let Some(ref field_value) = obj.max_results {
3964 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
3965 }
3966 if let Some(ref field_value) = obj.next_token {
3967 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
3968 }
3969 if let Some(ref field_value) = obj.status {
3970 params.put(&format!("{}{}", prefix, "Status"), &field_value);
3971 }
3972 }
3973}
3974
3975#[derive(Clone, Debug, Default, PartialEq)]
3976#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3977pub struct ListStackSetsOutput {
3978 pub next_token: Option<String>,
3980 pub summaries: Option<Vec<StackSetSummary>>,
3982}
3983
3984#[allow(dead_code)]
3985struct ListStackSetsOutputDeserializer;
3986impl ListStackSetsOutputDeserializer {
3987 #[allow(dead_code, unused_variables)]
3988 fn deserialize<T: Peek + Next>(
3989 tag_name: &str,
3990 stack: &mut T,
3991 ) -> Result<ListStackSetsOutput, XmlParseError> {
3992 deserialize_elements::<_, ListStackSetsOutput, _>(tag_name, stack, |name, stack, obj| {
3993 match name {
3994 "NextToken" => {
3995 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
3996 }
3997 "Summaries" => {
3998 obj.summaries.get_or_insert(vec![]).extend(
3999 StackSetSummariesDeserializer::deserialize("Summaries", stack)?,
4000 );
4001 }
4002 _ => skip_tree(stack),
4003 }
4004 Ok(())
4005 })
4006 }
4007}
4008#[derive(Clone, Debug, Default, PartialEq)]
4010#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4011pub struct ListStacksInput {
4012 pub next_token: Option<String>,
4014 pub stack_status_filter: Option<Vec<String>>,
4016}
4017
4018struct ListStacksInputSerializer;
4020impl ListStacksInputSerializer {
4021 fn serialize(params: &mut Params, name: &str, obj: &ListStacksInput) {
4022 let mut prefix = name.to_string();
4023 if prefix != "" {
4024 prefix.push_str(".");
4025 }
4026
4027 if let Some(ref field_value) = obj.next_token {
4028 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
4029 }
4030 if let Some(ref field_value) = obj.stack_status_filter {
4031 StackStatusFilterSerializer::serialize(
4032 params,
4033 &format!("{}{}", prefix, "StackStatusFilter"),
4034 field_value,
4035 );
4036 }
4037 }
4038}
4039
4040#[derive(Clone, Debug, Default, PartialEq)]
4042#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4043pub struct ListStacksOutput {
4044 pub next_token: Option<String>,
4046 pub stack_summaries: Option<Vec<StackSummary>>,
4048}
4049
4050#[allow(dead_code)]
4051struct ListStacksOutputDeserializer;
4052impl ListStacksOutputDeserializer {
4053 #[allow(dead_code, unused_variables)]
4054 fn deserialize<T: Peek + Next>(
4055 tag_name: &str,
4056 stack: &mut T,
4057 ) -> Result<ListStacksOutput, XmlParseError> {
4058 deserialize_elements::<_, ListStacksOutput, _>(tag_name, stack, |name, stack, obj| {
4059 match name {
4060 "NextToken" => {
4061 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
4062 }
4063 "StackSummaries" => {
4064 obj.stack_summaries.get_or_insert(vec![]).extend(
4065 StackSummariesDeserializer::deserialize("StackSummaries", stack)?,
4066 );
4067 }
4068 _ => skip_tree(stack),
4069 }
4070 Ok(())
4071 })
4072 }
4073}
4074#[derive(Clone, Debug, Default, PartialEq)]
4075#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4076pub struct ListTypeRegistrationsInput {
4077 pub max_results: Option<i64>,
4079 pub next_token: Option<String>,
4081 pub registration_status_filter: Option<String>,
4083 pub type_: Option<String>,
4085 pub type_arn: Option<String>,
4087 pub type_name: Option<String>,
4089}
4090
4091struct ListTypeRegistrationsInputSerializer;
4093impl ListTypeRegistrationsInputSerializer {
4094 fn serialize(params: &mut Params, name: &str, obj: &ListTypeRegistrationsInput) {
4095 let mut prefix = name.to_string();
4096 if prefix != "" {
4097 prefix.push_str(".");
4098 }
4099
4100 if let Some(ref field_value) = obj.max_results {
4101 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
4102 }
4103 if let Some(ref field_value) = obj.next_token {
4104 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
4105 }
4106 if let Some(ref field_value) = obj.registration_status_filter {
4107 params.put(
4108 &format!("{}{}", prefix, "RegistrationStatusFilter"),
4109 &field_value,
4110 );
4111 }
4112 if let Some(ref field_value) = obj.type_ {
4113 params.put(&format!("{}{}", prefix, "Type"), &field_value);
4114 }
4115 if let Some(ref field_value) = obj.type_arn {
4116 params.put(&format!("{}{}", prefix, "TypeArn"), &field_value);
4117 }
4118 if let Some(ref field_value) = obj.type_name {
4119 params.put(&format!("{}{}", prefix, "TypeName"), &field_value);
4120 }
4121 }
4122}
4123
4124#[derive(Clone, Debug, Default, PartialEq)]
4125#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4126pub struct ListTypeRegistrationsOutput {
4127 pub next_token: Option<String>,
4129 pub registration_token_list: Option<Vec<String>>,
4131}
4132
4133#[allow(dead_code)]
4134struct ListTypeRegistrationsOutputDeserializer;
4135impl ListTypeRegistrationsOutputDeserializer {
4136 #[allow(dead_code, unused_variables)]
4137 fn deserialize<T: Peek + Next>(
4138 tag_name: &str,
4139 stack: &mut T,
4140 ) -> Result<ListTypeRegistrationsOutput, XmlParseError> {
4141 deserialize_elements::<_, ListTypeRegistrationsOutput, _>(
4142 tag_name,
4143 stack,
4144 |name, stack, obj| {
4145 match name {
4146 "NextToken" => {
4147 obj.next_token =
4148 Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
4149 }
4150 "RegistrationTokenList" => {
4151 obj.registration_token_list.get_or_insert(vec![]).extend(
4152 RegistrationTokenListDeserializer::deserialize(
4153 "RegistrationTokenList",
4154 stack,
4155 )?,
4156 );
4157 }
4158 _ => skip_tree(stack),
4159 }
4160 Ok(())
4161 },
4162 )
4163 }
4164}
4165#[derive(Clone, Debug, Default, PartialEq)]
4166#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4167pub struct ListTypeVersionsInput {
4168 pub arn: Option<String>,
4170 pub deprecated_status: Option<String>,
4172 pub max_results: Option<i64>,
4174 pub next_token: Option<String>,
4176 pub type_: Option<String>,
4178 pub type_name: Option<String>,
4180}
4181
4182struct ListTypeVersionsInputSerializer;
4184impl ListTypeVersionsInputSerializer {
4185 fn serialize(params: &mut Params, name: &str, obj: &ListTypeVersionsInput) {
4186 let mut prefix = name.to_string();
4187 if prefix != "" {
4188 prefix.push_str(".");
4189 }
4190
4191 if let Some(ref field_value) = obj.arn {
4192 params.put(&format!("{}{}", prefix, "Arn"), &field_value);
4193 }
4194 if let Some(ref field_value) = obj.deprecated_status {
4195 params.put(&format!("{}{}", prefix, "DeprecatedStatus"), &field_value);
4196 }
4197 if let Some(ref field_value) = obj.max_results {
4198 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
4199 }
4200 if let Some(ref field_value) = obj.next_token {
4201 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
4202 }
4203 if let Some(ref field_value) = obj.type_ {
4204 params.put(&format!("{}{}", prefix, "Type"), &field_value);
4205 }
4206 if let Some(ref field_value) = obj.type_name {
4207 params.put(&format!("{}{}", prefix, "TypeName"), &field_value);
4208 }
4209 }
4210}
4211
4212#[derive(Clone, Debug, Default, PartialEq)]
4213#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4214pub struct ListTypeVersionsOutput {
4215 pub next_token: Option<String>,
4217 pub type_version_summaries: Option<Vec<TypeVersionSummary>>,
4219}
4220
4221#[allow(dead_code)]
4222struct ListTypeVersionsOutputDeserializer;
4223impl ListTypeVersionsOutputDeserializer {
4224 #[allow(dead_code, unused_variables)]
4225 fn deserialize<T: Peek + Next>(
4226 tag_name: &str,
4227 stack: &mut T,
4228 ) -> Result<ListTypeVersionsOutput, XmlParseError> {
4229 deserialize_elements::<_, ListTypeVersionsOutput, _>(tag_name, stack, |name, stack, obj| {
4230 match name {
4231 "NextToken" => {
4232 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
4233 }
4234 "TypeVersionSummaries" => {
4235 obj.type_version_summaries.get_or_insert(vec![]).extend(
4236 TypeVersionSummariesDeserializer::deserialize(
4237 "TypeVersionSummaries",
4238 stack,
4239 )?,
4240 );
4241 }
4242 _ => skip_tree(stack),
4243 }
4244 Ok(())
4245 })
4246 }
4247}
4248#[derive(Clone, Debug, Default, PartialEq)]
4249#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4250pub struct ListTypesInput {
4251 pub deprecated_status: Option<String>,
4253 pub max_results: Option<i64>,
4255 pub next_token: Option<String>,
4257 pub provisioning_type: Option<String>,
4259 pub visibility: Option<String>,
4261}
4262
4263struct ListTypesInputSerializer;
4265impl ListTypesInputSerializer {
4266 fn serialize(params: &mut Params, name: &str, obj: &ListTypesInput) {
4267 let mut prefix = name.to_string();
4268 if prefix != "" {
4269 prefix.push_str(".");
4270 }
4271
4272 if let Some(ref field_value) = obj.deprecated_status {
4273 params.put(&format!("{}{}", prefix, "DeprecatedStatus"), &field_value);
4274 }
4275 if let Some(ref field_value) = obj.max_results {
4276 params.put(&format!("{}{}", prefix, "MaxResults"), &field_value);
4277 }
4278 if let Some(ref field_value) = obj.next_token {
4279 params.put(&format!("{}{}", prefix, "NextToken"), &field_value);
4280 }
4281 if let Some(ref field_value) = obj.provisioning_type {
4282 params.put(&format!("{}{}", prefix, "ProvisioningType"), &field_value);
4283 }
4284 if let Some(ref field_value) = obj.visibility {
4285 params.put(&format!("{}{}", prefix, "Visibility"), &field_value);
4286 }
4287 }
4288}
4289
4290#[derive(Clone, Debug, Default, PartialEq)]
4291#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4292pub struct ListTypesOutput {
4293 pub next_token: Option<String>,
4295 pub type_summaries: Option<Vec<TypeSummary>>,
4297}
4298
4299#[allow(dead_code)]
4300struct ListTypesOutputDeserializer;
4301impl ListTypesOutputDeserializer {
4302 #[allow(dead_code, unused_variables)]
4303 fn deserialize<T: Peek + Next>(
4304 tag_name: &str,
4305 stack: &mut T,
4306 ) -> Result<ListTypesOutput, XmlParseError> {
4307 deserialize_elements::<_, ListTypesOutput, _>(tag_name, stack, |name, stack, obj| {
4308 match name {
4309 "NextToken" => {
4310 obj.next_token = Some(NextTokenDeserializer::deserialize("NextToken", stack)?);
4311 }
4312 "TypeSummaries" => {
4313 obj.type_summaries.get_or_insert(vec![]).extend(
4314 TypeSummariesDeserializer::deserialize("TypeSummaries", stack)?,
4315 );
4316 }
4317 _ => skip_tree(stack),
4318 }
4319 Ok(())
4320 })
4321 }
4322}
4323#[allow(dead_code)]
4324struct LogGroupNameDeserializer;
4325impl LogGroupNameDeserializer {
4326 #[allow(dead_code, unused_variables)]
4327 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4328 xml_util::deserialize_primitive(tag_name, stack, Ok)
4329 }
4330}
4331#[derive(Clone, Debug, Default, PartialEq)]
4333#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4334#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4335pub struct LoggingConfig {
4336 pub log_group_name: String,
4338 pub log_role_arn: String,
4340}
4341
4342#[allow(dead_code)]
4343struct LoggingConfigDeserializer;
4344impl LoggingConfigDeserializer {
4345 #[allow(dead_code, unused_variables)]
4346 fn deserialize<T: Peek + Next>(
4347 tag_name: &str,
4348 stack: &mut T,
4349 ) -> Result<LoggingConfig, XmlParseError> {
4350 deserialize_elements::<_, LoggingConfig, _>(tag_name, stack, |name, stack, obj| {
4351 match name {
4352 "LogGroupName" => {
4353 obj.log_group_name =
4354 LogGroupNameDeserializer::deserialize("LogGroupName", stack)?;
4355 }
4356 "LogRoleArn" => {
4357 obj.log_role_arn = RoleArnDeserializer::deserialize("LogRoleArn", stack)?;
4358 }
4359 _ => skip_tree(stack),
4360 }
4361 Ok(())
4362 })
4363 }
4364}
4365
4366struct LoggingConfigSerializer;
4368impl LoggingConfigSerializer {
4369 fn serialize(params: &mut Params, name: &str, obj: &LoggingConfig) {
4370 let mut prefix = name.to_string();
4371 if prefix != "" {
4372 prefix.push_str(".");
4373 }
4374
4375 params.put(
4376 &format!("{}{}", prefix, "LogGroupName"),
4377 &obj.log_group_name,
4378 );
4379 params.put(&format!("{}{}", prefix, "LogRoleArn"), &obj.log_role_arn);
4380 }
4381}
4382
4383#[allow(dead_code)]
4384struct LogicalResourceIdDeserializer;
4385impl LogicalResourceIdDeserializer {
4386 #[allow(dead_code, unused_variables)]
4387 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4388 xml_util::deserialize_primitive(tag_name, stack, Ok)
4389 }
4390}
4391#[allow(dead_code)]
4392struct LogicalResourceIdsDeserializer;
4393impl LogicalResourceIdsDeserializer {
4394 #[allow(dead_code, unused_variables)]
4395 fn deserialize<T: Peek + Next>(
4396 tag_name: &str,
4397 stack: &mut T,
4398 ) -> Result<Vec<String>, XmlParseError> {
4399 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4400 if name == "member" {
4401 obj.push(LogicalResourceIdDeserializer::deserialize("member", stack)?);
4402 } else {
4403 skip_tree(stack);
4404 }
4405 Ok(())
4406 })
4407 }
4408}
4409
4410struct LogicalResourceIdsSerializer;
4412impl LogicalResourceIdsSerializer {
4413 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
4414 for (index, obj) in obj.iter().enumerate() {
4415 let key = format!("{}.member.{}", name, index + 1);
4416 params.put(&key, &obj);
4417 }
4418 }
4419}
4420
4421#[allow(dead_code)]
4422struct MaxConcurrentCountDeserializer;
4423impl MaxConcurrentCountDeserializer {
4424 #[allow(dead_code, unused_variables)]
4425 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
4426 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
4427 }
4428}
4429#[allow(dead_code)]
4430struct MaxConcurrentPercentageDeserializer;
4431impl MaxConcurrentPercentageDeserializer {
4432 #[allow(dead_code, unused_variables)]
4433 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
4434 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
4435 }
4436}
4437#[allow(dead_code)]
4438struct MetadataDeserializer;
4439impl MetadataDeserializer {
4440 #[allow(dead_code, unused_variables)]
4441 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4442 xml_util::deserialize_primitive(tag_name, stack, Ok)
4443 }
4444}
4445#[allow(dead_code)]
4446struct MonitoringTimeInMinutesDeserializer;
4447impl MonitoringTimeInMinutesDeserializer {
4448 #[allow(dead_code, unused_variables)]
4449 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
4450 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
4451 }
4452}
4453#[allow(dead_code)]
4454struct NextTokenDeserializer;
4455impl NextTokenDeserializer {
4456 #[allow(dead_code, unused_variables)]
4457 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4458 xml_util::deserialize_primitive(tag_name, stack, Ok)
4459 }
4460}
4461#[allow(dead_code)]
4462struct NoEchoDeserializer;
4463impl NoEchoDeserializer {
4464 #[allow(dead_code, unused_variables)]
4465 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
4466 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
4467 }
4468}
4469#[allow(dead_code)]
4470struct NotificationARNDeserializer;
4471impl NotificationARNDeserializer {
4472 #[allow(dead_code, unused_variables)]
4473 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4474 xml_util::deserialize_primitive(tag_name, stack, Ok)
4475 }
4476}
4477#[allow(dead_code)]
4478struct NotificationARNsDeserializer;
4479impl NotificationARNsDeserializer {
4480 #[allow(dead_code, unused_variables)]
4481 fn deserialize<T: Peek + Next>(
4482 tag_name: &str,
4483 stack: &mut T,
4484 ) -> Result<Vec<String>, XmlParseError> {
4485 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4486 if name == "member" {
4487 obj.push(NotificationARNDeserializer::deserialize("member", stack)?);
4488 } else {
4489 skip_tree(stack);
4490 }
4491 Ok(())
4492 })
4493 }
4494}
4495
4496struct NotificationARNsSerializer;
4498impl NotificationARNsSerializer {
4499 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
4500 for (index, obj) in obj.iter().enumerate() {
4501 let key = format!("{}.member.{}", name, index + 1);
4502 params.put(&key, &obj);
4503 }
4504 }
4505}
4506
4507#[allow(dead_code)]
4508struct OptionalSecureUrlDeserializer;
4509impl OptionalSecureUrlDeserializer {
4510 #[allow(dead_code, unused_variables)]
4511 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4512 xml_util::deserialize_primitive(tag_name, stack, Ok)
4513 }
4514}
4515#[allow(dead_code)]
4516struct OrganizationalUnitIdDeserializer;
4517impl OrganizationalUnitIdDeserializer {
4518 #[allow(dead_code, unused_variables)]
4519 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4520 xml_util::deserialize_primitive(tag_name, stack, Ok)
4521 }
4522}
4523#[allow(dead_code)]
4524struct OrganizationalUnitIdListDeserializer;
4525impl OrganizationalUnitIdListDeserializer {
4526 #[allow(dead_code, unused_variables)]
4527 fn deserialize<T: Peek + Next>(
4528 tag_name: &str,
4529 stack: &mut T,
4530 ) -> Result<Vec<String>, XmlParseError> {
4531 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4532 if name == "member" {
4533 obj.push(OrganizationalUnitIdDeserializer::deserialize(
4534 "member", stack,
4535 )?);
4536 } else {
4537 skip_tree(stack);
4538 }
4539 Ok(())
4540 })
4541 }
4542}
4543
4544struct OrganizationalUnitIdListSerializer;
4546impl OrganizationalUnitIdListSerializer {
4547 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
4548 for (index, obj) in obj.iter().enumerate() {
4549 let key = format!("{}.member.{}", name, index + 1);
4550 params.put(&key, &obj);
4551 }
4552 }
4553}
4554
4555#[derive(Clone, Debug, Default, PartialEq)]
4557#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4558pub struct Output {
4559 pub description: Option<String>,
4561 pub export_name: Option<String>,
4563 pub output_key: Option<String>,
4565 pub output_value: Option<String>,
4567}
4568
4569#[allow(dead_code)]
4570struct OutputDeserializer;
4571impl OutputDeserializer {
4572 #[allow(dead_code, unused_variables)]
4573 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Output, XmlParseError> {
4574 deserialize_elements::<_, Output, _>(tag_name, stack, |name, stack, obj| {
4575 match name {
4576 "Description" => {
4577 obj.description =
4578 Some(DescriptionDeserializer::deserialize("Description", stack)?);
4579 }
4580 "ExportName" => {
4581 obj.export_name =
4582 Some(ExportNameDeserializer::deserialize("ExportName", stack)?);
4583 }
4584 "OutputKey" => {
4585 obj.output_key = Some(OutputKeyDeserializer::deserialize("OutputKey", stack)?);
4586 }
4587 "OutputValue" => {
4588 obj.output_value =
4589 Some(OutputValueDeserializer::deserialize("OutputValue", stack)?);
4590 }
4591 _ => skip_tree(stack),
4592 }
4593 Ok(())
4594 })
4595 }
4596}
4597#[allow(dead_code)]
4598struct OutputKeyDeserializer;
4599impl OutputKeyDeserializer {
4600 #[allow(dead_code, unused_variables)]
4601 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4602 xml_util::deserialize_primitive(tag_name, stack, Ok)
4603 }
4604}
4605#[allow(dead_code)]
4606struct OutputValueDeserializer;
4607impl OutputValueDeserializer {
4608 #[allow(dead_code, unused_variables)]
4609 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4610 xml_util::deserialize_primitive(tag_name, stack, Ok)
4611 }
4612}
4613#[allow(dead_code)]
4614struct OutputsDeserializer;
4615impl OutputsDeserializer {
4616 #[allow(dead_code, unused_variables)]
4617 fn deserialize<T: Peek + Next>(
4618 tag_name: &str,
4619 stack: &mut T,
4620 ) -> Result<Vec<Output>, XmlParseError> {
4621 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4622 if name == "member" {
4623 obj.push(OutputDeserializer::deserialize("member", stack)?);
4624 } else {
4625 skip_tree(stack);
4626 }
4627 Ok(())
4628 })
4629 }
4630}
4631#[derive(Clone, Debug, Default, PartialEq)]
4633#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4634#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4635pub struct Parameter {
4636 pub parameter_key: Option<String>,
4638 pub parameter_value: Option<String>,
4640 pub resolved_value: Option<String>,
4642 pub use_previous_value: Option<bool>,
4644}
4645
4646#[allow(dead_code)]
4647struct ParameterDeserializer;
4648impl ParameterDeserializer {
4649 #[allow(dead_code, unused_variables)]
4650 fn deserialize<T: Peek + Next>(
4651 tag_name: &str,
4652 stack: &mut T,
4653 ) -> Result<Parameter, XmlParseError> {
4654 deserialize_elements::<_, Parameter, _>(tag_name, stack, |name, stack, obj| {
4655 match name {
4656 "ParameterKey" => {
4657 obj.parameter_key = Some(ParameterKeyDeserializer::deserialize(
4658 "ParameterKey",
4659 stack,
4660 )?);
4661 }
4662 "ParameterValue" => {
4663 obj.parameter_value = Some(ParameterValueDeserializer::deserialize(
4664 "ParameterValue",
4665 stack,
4666 )?);
4667 }
4668 "ResolvedValue" => {
4669 obj.resolved_value = Some(ParameterValueDeserializer::deserialize(
4670 "ResolvedValue",
4671 stack,
4672 )?);
4673 }
4674 "UsePreviousValue" => {
4675 obj.use_previous_value = Some(UsePreviousValueDeserializer::deserialize(
4676 "UsePreviousValue",
4677 stack,
4678 )?);
4679 }
4680 _ => skip_tree(stack),
4681 }
4682 Ok(())
4683 })
4684 }
4685}
4686
4687struct ParameterSerializer;
4689impl ParameterSerializer {
4690 fn serialize(params: &mut Params, name: &str, obj: &Parameter) {
4691 let mut prefix = name.to_string();
4692 if prefix != "" {
4693 prefix.push_str(".");
4694 }
4695
4696 if let Some(ref field_value) = obj.parameter_key {
4697 params.put(&format!("{}{}", prefix, "ParameterKey"), &field_value);
4698 }
4699 if let Some(ref field_value) = obj.parameter_value {
4700 params.put(&format!("{}{}", prefix, "ParameterValue"), &field_value);
4701 }
4702 if let Some(ref field_value) = obj.resolved_value {
4703 params.put(&format!("{}{}", prefix, "ResolvedValue"), &field_value);
4704 }
4705 if let Some(ref field_value) = obj.use_previous_value {
4706 params.put(&format!("{}{}", prefix, "UsePreviousValue"), &field_value);
4707 }
4708 }
4709}
4710
4711#[derive(Clone, Debug, Default, PartialEq)]
4713#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4714pub struct ParameterConstraints {
4715 pub allowed_values: Option<Vec<String>>,
4717}
4718
4719#[allow(dead_code)]
4720struct ParameterConstraintsDeserializer;
4721impl ParameterConstraintsDeserializer {
4722 #[allow(dead_code, unused_variables)]
4723 fn deserialize<T: Peek + Next>(
4724 tag_name: &str,
4725 stack: &mut T,
4726 ) -> Result<ParameterConstraints, XmlParseError> {
4727 deserialize_elements::<_, ParameterConstraints, _>(tag_name, stack, |name, stack, obj| {
4728 match name {
4729 "AllowedValues" => {
4730 obj.allowed_values.get_or_insert(vec![]).extend(
4731 AllowedValuesDeserializer::deserialize("AllowedValues", stack)?,
4732 );
4733 }
4734 _ => skip_tree(stack),
4735 }
4736 Ok(())
4737 })
4738 }
4739}
4740#[derive(Clone, Debug, Default, PartialEq)]
4742#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4743pub struct ParameterDeclaration {
4744 pub default_value: Option<String>,
4746 pub description: Option<String>,
4748 pub no_echo: Option<bool>,
4750 pub parameter_constraints: Option<ParameterConstraints>,
4752 pub parameter_key: Option<String>,
4754 pub parameter_type: Option<String>,
4756}
4757
4758#[allow(dead_code)]
4759struct ParameterDeclarationDeserializer;
4760impl ParameterDeclarationDeserializer {
4761 #[allow(dead_code, unused_variables)]
4762 fn deserialize<T: Peek + Next>(
4763 tag_name: &str,
4764 stack: &mut T,
4765 ) -> Result<ParameterDeclaration, XmlParseError> {
4766 deserialize_elements::<_, ParameterDeclaration, _>(tag_name, stack, |name, stack, obj| {
4767 match name {
4768 "DefaultValue" => {
4769 obj.default_value = Some(ParameterValueDeserializer::deserialize(
4770 "DefaultValue",
4771 stack,
4772 )?);
4773 }
4774 "Description" => {
4775 obj.description =
4776 Some(DescriptionDeserializer::deserialize("Description", stack)?);
4777 }
4778 "NoEcho" => {
4779 obj.no_echo = Some(NoEchoDeserializer::deserialize("NoEcho", stack)?);
4780 }
4781 "ParameterConstraints" => {
4782 obj.parameter_constraints =
4783 Some(ParameterConstraintsDeserializer::deserialize(
4784 "ParameterConstraints",
4785 stack,
4786 )?);
4787 }
4788 "ParameterKey" => {
4789 obj.parameter_key = Some(ParameterKeyDeserializer::deserialize(
4790 "ParameterKey",
4791 stack,
4792 )?);
4793 }
4794 "ParameterType" => {
4795 obj.parameter_type = Some(ParameterTypeDeserializer::deserialize(
4796 "ParameterType",
4797 stack,
4798 )?);
4799 }
4800 _ => skip_tree(stack),
4801 }
4802 Ok(())
4803 })
4804 }
4805}
4806#[allow(dead_code)]
4807struct ParameterDeclarationsDeserializer;
4808impl ParameterDeclarationsDeserializer {
4809 #[allow(dead_code, unused_variables)]
4810 fn deserialize<T: Peek + Next>(
4811 tag_name: &str,
4812 stack: &mut T,
4813 ) -> Result<Vec<ParameterDeclaration>, XmlParseError> {
4814 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4815 if name == "member" {
4816 obj.push(ParameterDeclarationDeserializer::deserialize(
4817 "member", stack,
4818 )?);
4819 } else {
4820 skip_tree(stack);
4821 }
4822 Ok(())
4823 })
4824 }
4825}
4826#[allow(dead_code)]
4827struct ParameterKeyDeserializer;
4828impl ParameterKeyDeserializer {
4829 #[allow(dead_code, unused_variables)]
4830 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4831 xml_util::deserialize_primitive(tag_name, stack, Ok)
4832 }
4833}
4834#[allow(dead_code)]
4835struct ParameterTypeDeserializer;
4836impl ParameterTypeDeserializer {
4837 #[allow(dead_code, unused_variables)]
4838 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4839 xml_util::deserialize_primitive(tag_name, stack, Ok)
4840 }
4841}
4842#[allow(dead_code)]
4843struct ParameterValueDeserializer;
4844impl ParameterValueDeserializer {
4845 #[allow(dead_code, unused_variables)]
4846 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4847 xml_util::deserialize_primitive(tag_name, stack, Ok)
4848 }
4849}
4850#[allow(dead_code)]
4851struct ParametersDeserializer;
4852impl ParametersDeserializer {
4853 #[allow(dead_code, unused_variables)]
4854 fn deserialize<T: Peek + Next>(
4855 tag_name: &str,
4856 stack: &mut T,
4857 ) -> Result<Vec<Parameter>, XmlParseError> {
4858 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4859 if name == "member" {
4860 obj.push(ParameterDeserializer::deserialize("member", stack)?);
4861 } else {
4862 skip_tree(stack);
4863 }
4864 Ok(())
4865 })
4866 }
4867}
4868
4869struct ParametersSerializer;
4871impl ParametersSerializer {
4872 fn serialize(params: &mut Params, name: &str, obj: &Vec<Parameter>) {
4873 for (index, obj) in obj.iter().enumerate() {
4874 let key = format!("{}.member.{}", name, index + 1);
4875 ParameterSerializer::serialize(params, &key, obj);
4876 }
4877 }
4878}
4879
4880#[allow(dead_code)]
4881struct PermissionModelsDeserializer;
4882impl PermissionModelsDeserializer {
4883 #[allow(dead_code, unused_variables)]
4884 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4885 xml_util::deserialize_primitive(tag_name, stack, Ok)
4886 }
4887}
4888#[allow(dead_code)]
4889struct PhysicalResourceIdDeserializer;
4890impl PhysicalResourceIdDeserializer {
4891 #[allow(dead_code, unused_variables)]
4892 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4893 xml_util::deserialize_primitive(tag_name, stack, Ok)
4894 }
4895}
4896#[allow(dead_code)]
4897struct PhysicalResourceIdContextDeserializer;
4898impl PhysicalResourceIdContextDeserializer {
4899 #[allow(dead_code, unused_variables)]
4900 fn deserialize<T: Peek + Next>(
4901 tag_name: &str,
4902 stack: &mut T,
4903 ) -> Result<Vec<PhysicalResourceIdContextKeyValuePair>, XmlParseError> {
4904 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4905 if name == "member" {
4906 obj.push(
4907 PhysicalResourceIdContextKeyValuePairDeserializer::deserialize(
4908 "member", stack,
4909 )?,
4910 );
4911 } else {
4912 skip_tree(stack);
4913 }
4914 Ok(())
4915 })
4916 }
4917}
4918#[derive(Clone, Debug, Default, PartialEq)]
4920#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4921pub struct PhysicalResourceIdContextKeyValuePair {
4922 pub key: String,
4924 pub value: String,
4926}
4927
4928#[allow(dead_code)]
4929struct PhysicalResourceIdContextKeyValuePairDeserializer;
4930impl PhysicalResourceIdContextKeyValuePairDeserializer {
4931 #[allow(dead_code, unused_variables)]
4932 fn deserialize<T: Peek + Next>(
4933 tag_name: &str,
4934 stack: &mut T,
4935 ) -> Result<PhysicalResourceIdContextKeyValuePair, XmlParseError> {
4936 deserialize_elements::<_, PhysicalResourceIdContextKeyValuePair, _>(
4937 tag_name,
4938 stack,
4939 |name, stack, obj| {
4940 match name {
4941 "Key" => {
4942 obj.key = KeyDeserializer::deserialize("Key", stack)?;
4943 }
4944 "Value" => {
4945 obj.value = ValueDeserializer::deserialize("Value", stack)?;
4946 }
4947 _ => skip_tree(stack),
4948 }
4949 Ok(())
4950 },
4951 )
4952 }
4953}
4954#[allow(dead_code)]
4955struct PropertiesDeserializer;
4956impl PropertiesDeserializer {
4957 #[allow(dead_code, unused_variables)]
4958 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
4959 xml_util::deserialize_primitive(tag_name, stack, Ok)
4960 }
4961}
4962#[derive(Clone, Debug, Default, PartialEq)]
4964#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4965pub struct PropertyDifference {
4966 pub actual_value: String,
4968 pub difference_type: String,
4970 pub expected_value: String,
4972 pub property_path: String,
4974}
4975
4976#[allow(dead_code)]
4977struct PropertyDifferenceDeserializer;
4978impl PropertyDifferenceDeserializer {
4979 #[allow(dead_code, unused_variables)]
4980 fn deserialize<T: Peek + Next>(
4981 tag_name: &str,
4982 stack: &mut T,
4983 ) -> Result<PropertyDifference, XmlParseError> {
4984 deserialize_elements::<_, PropertyDifference, _>(tag_name, stack, |name, stack, obj| {
4985 match name {
4986 "ActualValue" => {
4987 obj.actual_value =
4988 PropertyValueDeserializer::deserialize("ActualValue", stack)?;
4989 }
4990 "DifferenceType" => {
4991 obj.difference_type =
4992 DifferenceTypeDeserializer::deserialize("DifferenceType", stack)?;
4993 }
4994 "ExpectedValue" => {
4995 obj.expected_value =
4996 PropertyValueDeserializer::deserialize("ExpectedValue", stack)?;
4997 }
4998 "PropertyPath" => {
4999 obj.property_path =
5000 PropertyPathDeserializer::deserialize("PropertyPath", stack)?;
5001 }
5002 _ => skip_tree(stack),
5003 }
5004 Ok(())
5005 })
5006 }
5007}
5008#[allow(dead_code)]
5009struct PropertyDifferencesDeserializer;
5010impl PropertyDifferencesDeserializer {
5011 #[allow(dead_code, unused_variables)]
5012 fn deserialize<T: Peek + Next>(
5013 tag_name: &str,
5014 stack: &mut T,
5015 ) -> Result<Vec<PropertyDifference>, XmlParseError> {
5016 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5017 if name == "member" {
5018 obj.push(PropertyDifferenceDeserializer::deserialize(
5019 "member", stack,
5020 )?);
5021 } else {
5022 skip_tree(stack);
5023 }
5024 Ok(())
5025 })
5026 }
5027}
5028#[allow(dead_code)]
5029struct PropertyNameDeserializer;
5030impl PropertyNameDeserializer {
5031 #[allow(dead_code, unused_variables)]
5032 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5033 xml_util::deserialize_primitive(tag_name, stack, Ok)
5034 }
5035}
5036#[allow(dead_code)]
5037struct PropertyPathDeserializer;
5038impl PropertyPathDeserializer {
5039 #[allow(dead_code, unused_variables)]
5040 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5041 xml_util::deserialize_primitive(tag_name, stack, Ok)
5042 }
5043}
5044#[allow(dead_code)]
5045struct PropertyValueDeserializer;
5046impl PropertyValueDeserializer {
5047 #[allow(dead_code, unused_variables)]
5048 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5049 xml_util::deserialize_primitive(tag_name, stack, Ok)
5050 }
5051}
5052#[allow(dead_code)]
5053struct ProvisioningTypeDeserializer;
5054impl ProvisioningTypeDeserializer {
5055 #[allow(dead_code, unused_variables)]
5056 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5057 xml_util::deserialize_primitive(tag_name, stack, Ok)
5058 }
5059}
5060#[allow(dead_code)]
5061struct ReasonDeserializer;
5062impl ReasonDeserializer {
5063 #[allow(dead_code, unused_variables)]
5064 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5065 xml_util::deserialize_primitive(tag_name, stack, Ok)
5066 }
5067}
5068#[derive(Clone, Debug, Default, PartialEq)]
5069#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5070pub struct RecordHandlerProgressInput {
5071 pub bearer_token: String,
5073 pub client_request_token: Option<String>,
5075 pub current_operation_status: Option<String>,
5077 pub error_code: Option<String>,
5079 pub operation_status: String,
5081 pub resource_model: Option<String>,
5083 pub status_message: Option<String>,
5085}
5086
5087struct RecordHandlerProgressInputSerializer;
5089impl RecordHandlerProgressInputSerializer {
5090 fn serialize(params: &mut Params, name: &str, obj: &RecordHandlerProgressInput) {
5091 let mut prefix = name.to_string();
5092 if prefix != "" {
5093 prefix.push_str(".");
5094 }
5095
5096 params.put(&format!("{}{}", prefix, "BearerToken"), &obj.bearer_token);
5097 if let Some(ref field_value) = obj.client_request_token {
5098 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
5099 }
5100 if let Some(ref field_value) = obj.current_operation_status {
5101 params.put(
5102 &format!("{}{}", prefix, "CurrentOperationStatus"),
5103 &field_value,
5104 );
5105 }
5106 if let Some(ref field_value) = obj.error_code {
5107 params.put(&format!("{}{}", prefix, "ErrorCode"), &field_value);
5108 }
5109 params.put(
5110 &format!("{}{}", prefix, "OperationStatus"),
5111 &obj.operation_status,
5112 );
5113 if let Some(ref field_value) = obj.resource_model {
5114 params.put(&format!("{}{}", prefix, "ResourceModel"), &field_value);
5115 }
5116 if let Some(ref field_value) = obj.status_message {
5117 params.put(&format!("{}{}", prefix, "StatusMessage"), &field_value);
5118 }
5119 }
5120}
5121
5122#[derive(Clone, Debug, Default, PartialEq)]
5123#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5124pub struct RecordHandlerProgressOutput {}
5125
5126#[allow(dead_code)]
5127struct RecordHandlerProgressOutputDeserializer;
5128impl RecordHandlerProgressOutputDeserializer {
5129 #[allow(dead_code, unused_variables)]
5130 fn deserialize<T: Peek + Next>(
5131 tag_name: &str,
5132 stack: &mut T,
5133 ) -> Result<RecordHandlerProgressOutput, XmlParseError> {
5134 xml_util::start_element(tag_name, stack)?;
5135
5136 let obj = RecordHandlerProgressOutput::default();
5137
5138 xml_util::end_element(tag_name, stack)?;
5139
5140 Ok(obj)
5141 }
5142}
5143#[allow(dead_code)]
5144struct RegionDeserializer;
5145impl RegionDeserializer {
5146 #[allow(dead_code, unused_variables)]
5147 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5148 xml_util::deserialize_primitive(tag_name, stack, Ok)
5149 }
5150}
5151#[allow(dead_code)]
5152struct RegionListDeserializer;
5153impl RegionListDeserializer {
5154 #[allow(dead_code, unused_variables)]
5155 fn deserialize<T: Peek + Next>(
5156 tag_name: &str,
5157 stack: &mut T,
5158 ) -> Result<Vec<String>, XmlParseError> {
5159 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5160 if name == "member" {
5161 obj.push(RegionDeserializer::deserialize("member", stack)?);
5162 } else {
5163 skip_tree(stack);
5164 }
5165 Ok(())
5166 })
5167 }
5168}
5169
5170struct RegionListSerializer;
5172impl RegionListSerializer {
5173 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
5174 for (index, obj) in obj.iter().enumerate() {
5175 let key = format!("{}.member.{}", name, index + 1);
5176 params.put(&key, &obj);
5177 }
5178 }
5179}
5180
5181#[derive(Clone, Debug, Default, PartialEq)]
5182#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5183pub struct RegisterTypeInput {
5184 pub client_request_token: Option<String>,
5186 pub execution_role_arn: Option<String>,
5188 pub logging_config: Option<LoggingConfig>,
5190 pub schema_handler_package: String,
5192 pub type_: Option<String>,
5194 pub type_name: String,
5196}
5197
5198struct RegisterTypeInputSerializer;
5200impl RegisterTypeInputSerializer {
5201 fn serialize(params: &mut Params, name: &str, obj: &RegisterTypeInput) {
5202 let mut prefix = name.to_string();
5203 if prefix != "" {
5204 prefix.push_str(".");
5205 }
5206
5207 if let Some(ref field_value) = obj.client_request_token {
5208 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
5209 }
5210 if let Some(ref field_value) = obj.execution_role_arn {
5211 params.put(&format!("{}{}", prefix, "ExecutionRoleArn"), &field_value);
5212 }
5213 if let Some(ref field_value) = obj.logging_config {
5214 LoggingConfigSerializer::serialize(
5215 params,
5216 &format!("{}{}", prefix, "LoggingConfig"),
5217 field_value,
5218 );
5219 }
5220 params.put(
5221 &format!("{}{}", prefix, "SchemaHandlerPackage"),
5222 &obj.schema_handler_package,
5223 );
5224 if let Some(ref field_value) = obj.type_ {
5225 params.put(&format!("{}{}", prefix, "Type"), &field_value);
5226 }
5227 params.put(&format!("{}{}", prefix, "TypeName"), &obj.type_name);
5228 }
5229}
5230
5231#[derive(Clone, Debug, Default, PartialEq)]
5232#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5233pub struct RegisterTypeOutput {
5234 pub registration_token: Option<String>,
5236}
5237
5238#[allow(dead_code)]
5239struct RegisterTypeOutputDeserializer;
5240impl RegisterTypeOutputDeserializer {
5241 #[allow(dead_code, unused_variables)]
5242 fn deserialize<T: Peek + Next>(
5243 tag_name: &str,
5244 stack: &mut T,
5245 ) -> Result<RegisterTypeOutput, XmlParseError> {
5246 deserialize_elements::<_, RegisterTypeOutput, _>(tag_name, stack, |name, stack, obj| {
5247 match name {
5248 "RegistrationToken" => {
5249 obj.registration_token = Some(RegistrationTokenDeserializer::deserialize(
5250 "RegistrationToken",
5251 stack,
5252 )?);
5253 }
5254 _ => skip_tree(stack),
5255 }
5256 Ok(())
5257 })
5258 }
5259}
5260#[allow(dead_code)]
5261struct RegistrationStatusDeserializer;
5262impl RegistrationStatusDeserializer {
5263 #[allow(dead_code, unused_variables)]
5264 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5265 xml_util::deserialize_primitive(tag_name, stack, Ok)
5266 }
5267}
5268#[allow(dead_code)]
5269struct RegistrationTokenDeserializer;
5270impl RegistrationTokenDeserializer {
5271 #[allow(dead_code, unused_variables)]
5272 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5273 xml_util::deserialize_primitive(tag_name, stack, Ok)
5274 }
5275}
5276#[allow(dead_code)]
5277struct RegistrationTokenListDeserializer;
5278impl RegistrationTokenListDeserializer {
5279 #[allow(dead_code, unused_variables)]
5280 fn deserialize<T: Peek + Next>(
5281 tag_name: &str,
5282 stack: &mut T,
5283 ) -> Result<Vec<String>, XmlParseError> {
5284 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5285 if name == "member" {
5286 obj.push(RegistrationTokenDeserializer::deserialize("member", stack)?);
5287 } else {
5288 skip_tree(stack);
5289 }
5290 Ok(())
5291 })
5292 }
5293}
5294#[allow(dead_code)]
5295struct RegistryTypeDeserializer;
5296impl RegistryTypeDeserializer {
5297 #[allow(dead_code, unused_variables)]
5298 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5299 xml_util::deserialize_primitive(tag_name, stack, Ok)
5300 }
5301}
5302#[allow(dead_code)]
5303struct ReplacementDeserializer;
5304impl ReplacementDeserializer {
5305 #[allow(dead_code, unused_variables)]
5306 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5307 xml_util::deserialize_primitive(tag_name, stack, Ok)
5308 }
5309}
5310#[allow(dead_code)]
5311struct RequiresRecreationDeserializer;
5312impl RequiresRecreationDeserializer {
5313 #[allow(dead_code, unused_variables)]
5314 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5315 xml_util::deserialize_primitive(tag_name, stack, Ok)
5316 }
5317}
5318#[allow(dead_code)]
5319struct ResourceAttributeDeserializer;
5320impl ResourceAttributeDeserializer {
5321 #[allow(dead_code, unused_variables)]
5322 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5323 xml_util::deserialize_primitive(tag_name, stack, Ok)
5324 }
5325}
5326#[derive(Clone, Debug, Default, PartialEq)]
5328#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5329pub struct ResourceChange {
5330 pub action: Option<String>,
5332 pub details: Option<Vec<ResourceChangeDetail>>,
5334 pub logical_resource_id: Option<String>,
5336 pub physical_resource_id: Option<String>,
5338 pub replacement: Option<String>,
5340 pub resource_type: Option<String>,
5342 pub scope: Option<Vec<String>>,
5344}
5345
5346#[allow(dead_code)]
5347struct ResourceChangeDeserializer;
5348impl ResourceChangeDeserializer {
5349 #[allow(dead_code, unused_variables)]
5350 fn deserialize<T: Peek + Next>(
5351 tag_name: &str,
5352 stack: &mut T,
5353 ) -> Result<ResourceChange, XmlParseError> {
5354 deserialize_elements::<_, ResourceChange, _>(tag_name, stack, |name, stack, obj| {
5355 match name {
5356 "Action" => {
5357 obj.action = Some(ChangeActionDeserializer::deserialize("Action", stack)?);
5358 }
5359 "Details" => {
5360 obj.details.get_or_insert(vec![]).extend(
5361 ResourceChangeDetailsDeserializer::deserialize("Details", stack)?,
5362 );
5363 }
5364 "LogicalResourceId" => {
5365 obj.logical_resource_id = Some(LogicalResourceIdDeserializer::deserialize(
5366 "LogicalResourceId",
5367 stack,
5368 )?);
5369 }
5370 "PhysicalResourceId" => {
5371 obj.physical_resource_id = Some(PhysicalResourceIdDeserializer::deserialize(
5372 "PhysicalResourceId",
5373 stack,
5374 )?);
5375 }
5376 "Replacement" => {
5377 obj.replacement =
5378 Some(ReplacementDeserializer::deserialize("Replacement", stack)?);
5379 }
5380 "ResourceType" => {
5381 obj.resource_type = Some(ResourceTypeDeserializer::deserialize(
5382 "ResourceType",
5383 stack,
5384 )?);
5385 }
5386 "Scope" => {
5387 obj.scope
5388 .get_or_insert(vec![])
5389 .extend(ScopeDeserializer::deserialize("Scope", stack)?);
5390 }
5391 _ => skip_tree(stack),
5392 }
5393 Ok(())
5394 })
5395 }
5396}
5397#[derive(Clone, Debug, Default, PartialEq)]
5399#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5400pub struct ResourceChangeDetail {
5401 pub causing_entity: Option<String>,
5403 pub change_source: Option<String>,
5405 pub evaluation: Option<String>,
5407 pub target: Option<ResourceTargetDefinition>,
5409}
5410
5411#[allow(dead_code)]
5412struct ResourceChangeDetailDeserializer;
5413impl ResourceChangeDetailDeserializer {
5414 #[allow(dead_code, unused_variables)]
5415 fn deserialize<T: Peek + Next>(
5416 tag_name: &str,
5417 stack: &mut T,
5418 ) -> Result<ResourceChangeDetail, XmlParseError> {
5419 deserialize_elements::<_, ResourceChangeDetail, _>(tag_name, stack, |name, stack, obj| {
5420 match name {
5421 "CausingEntity" => {
5422 obj.causing_entity = Some(CausingEntityDeserializer::deserialize(
5423 "CausingEntity",
5424 stack,
5425 )?);
5426 }
5427 "ChangeSource" => {
5428 obj.change_source = Some(ChangeSourceDeserializer::deserialize(
5429 "ChangeSource",
5430 stack,
5431 )?);
5432 }
5433 "Evaluation" => {
5434 obj.evaluation = Some(EvaluationTypeDeserializer::deserialize(
5435 "Evaluation",
5436 stack,
5437 )?);
5438 }
5439 "Target" => {
5440 obj.target = Some(ResourceTargetDefinitionDeserializer::deserialize(
5441 "Target", stack,
5442 )?);
5443 }
5444 _ => skip_tree(stack),
5445 }
5446 Ok(())
5447 })
5448 }
5449}
5450#[allow(dead_code)]
5451struct ResourceChangeDetailsDeserializer;
5452impl ResourceChangeDetailsDeserializer {
5453 #[allow(dead_code, unused_variables)]
5454 fn deserialize<T: Peek + Next>(
5455 tag_name: &str,
5456 stack: &mut T,
5457 ) -> Result<Vec<ResourceChangeDetail>, XmlParseError> {
5458 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5459 if name == "member" {
5460 obj.push(ResourceChangeDetailDeserializer::deserialize(
5461 "member", stack,
5462 )?);
5463 } else {
5464 skip_tree(stack);
5465 }
5466 Ok(())
5467 })
5468 }
5469}
5470
5471struct ResourceIdentifierPropertiesSerializer;
5473impl ResourceIdentifierPropertiesSerializer {
5474 fn serialize(
5475 params: &mut Params,
5476 name: &str,
5477 obj: &::std::collections::HashMap<String, String>,
5478 ) {
5479 for (index, (key, value)) in obj.iter().enumerate() {
5480 let prefix = format!("{}.{}", name, index + 1);
5481 params.put(&format!("{}.{}", prefix, "key"), &key);
5482 params.put(&format!("{}.{}", prefix, "Value"), &value);
5483 }
5484 }
5485}
5486
5487#[allow(dead_code)]
5488struct ResourceIdentifierPropertyKeyDeserializer;
5489impl ResourceIdentifierPropertyKeyDeserializer {
5490 #[allow(dead_code, unused_variables)]
5491 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5492 xml_util::deserialize_primitive(tag_name, stack, Ok)
5493 }
5494}
5495#[allow(dead_code)]
5496struct ResourceIdentifierSummariesDeserializer;
5497impl ResourceIdentifierSummariesDeserializer {
5498 #[allow(dead_code, unused_variables)]
5499 fn deserialize<T: Peek + Next>(
5500 tag_name: &str,
5501 stack: &mut T,
5502 ) -> Result<Vec<ResourceIdentifierSummary>, XmlParseError> {
5503 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5504 if name == "member" {
5505 obj.push(ResourceIdentifierSummaryDeserializer::deserialize(
5506 "member", stack,
5507 )?);
5508 } else {
5509 skip_tree(stack);
5510 }
5511 Ok(())
5512 })
5513 }
5514}
5515#[derive(Clone, Debug, Default, PartialEq)]
5517#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5518pub struct ResourceIdentifierSummary {
5519 pub logical_resource_ids: Option<Vec<String>>,
5521 pub resource_identifiers: Option<Vec<String>>,
5523 pub resource_type: Option<String>,
5525}
5526
5527#[allow(dead_code)]
5528struct ResourceIdentifierSummaryDeserializer;
5529impl ResourceIdentifierSummaryDeserializer {
5530 #[allow(dead_code, unused_variables)]
5531 fn deserialize<T: Peek + Next>(
5532 tag_name: &str,
5533 stack: &mut T,
5534 ) -> Result<ResourceIdentifierSummary, XmlParseError> {
5535 deserialize_elements::<_, ResourceIdentifierSummary, _>(
5536 tag_name,
5537 stack,
5538 |name, stack, obj| {
5539 match name {
5540 "LogicalResourceIds" => {
5541 obj.logical_resource_ids.get_or_insert(vec![]).extend(
5542 LogicalResourceIdsDeserializer::deserialize(
5543 "LogicalResourceIds",
5544 stack,
5545 )?,
5546 );
5547 }
5548 "ResourceIdentifiers" => {
5549 obj.resource_identifiers.get_or_insert(vec![]).extend(
5550 ResourceIdentifiersDeserializer::deserialize(
5551 "ResourceIdentifiers",
5552 stack,
5553 )?,
5554 );
5555 }
5556 "ResourceType" => {
5557 obj.resource_type = Some(ResourceTypeDeserializer::deserialize(
5558 "ResourceType",
5559 stack,
5560 )?);
5561 }
5562 _ => skip_tree(stack),
5563 }
5564 Ok(())
5565 },
5566 )
5567 }
5568}
5569#[allow(dead_code)]
5570struct ResourceIdentifiersDeserializer;
5571impl ResourceIdentifiersDeserializer {
5572 #[allow(dead_code, unused_variables)]
5573 fn deserialize<T: Peek + Next>(
5574 tag_name: &str,
5575 stack: &mut T,
5576 ) -> Result<Vec<String>, XmlParseError> {
5577 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5578 if name == "member" {
5579 obj.push(ResourceIdentifierPropertyKeyDeserializer::deserialize(
5580 "member", stack,
5581 )?);
5582 } else {
5583 skip_tree(stack);
5584 }
5585 Ok(())
5586 })
5587 }
5588}
5589#[allow(dead_code)]
5590struct ResourcePropertiesDeserializer;
5591impl ResourcePropertiesDeserializer {
5592 #[allow(dead_code, unused_variables)]
5593 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5594 xml_util::deserialize_primitive(tag_name, stack, Ok)
5595 }
5596}
5597#[allow(dead_code)]
5598struct ResourceStatusDeserializer;
5599impl ResourceStatusDeserializer {
5600 #[allow(dead_code, unused_variables)]
5601 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5602 xml_util::deserialize_primitive(tag_name, stack, Ok)
5603 }
5604}
5605#[allow(dead_code)]
5606struct ResourceStatusReasonDeserializer;
5607impl ResourceStatusReasonDeserializer {
5608 #[allow(dead_code, unused_variables)]
5609 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5610 xml_util::deserialize_primitive(tag_name, stack, Ok)
5611 }
5612}
5613#[derive(Clone, Debug, Default, PartialEq)]
5615#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5616pub struct ResourceTargetDefinition {
5617 pub attribute: Option<String>,
5619 pub name: Option<String>,
5621 pub requires_recreation: Option<String>,
5623}
5624
5625#[allow(dead_code)]
5626struct ResourceTargetDefinitionDeserializer;
5627impl ResourceTargetDefinitionDeserializer {
5628 #[allow(dead_code, unused_variables)]
5629 fn deserialize<T: Peek + Next>(
5630 tag_name: &str,
5631 stack: &mut T,
5632 ) -> Result<ResourceTargetDefinition, XmlParseError> {
5633 deserialize_elements::<_, ResourceTargetDefinition, _>(
5634 tag_name,
5635 stack,
5636 |name, stack, obj| {
5637 match name {
5638 "Attribute" => {
5639 obj.attribute = Some(ResourceAttributeDeserializer::deserialize(
5640 "Attribute",
5641 stack,
5642 )?);
5643 }
5644 "Name" => {
5645 obj.name = Some(PropertyNameDeserializer::deserialize("Name", stack)?);
5646 }
5647 "RequiresRecreation" => {
5648 obj.requires_recreation =
5649 Some(RequiresRecreationDeserializer::deserialize(
5650 "RequiresRecreation",
5651 stack,
5652 )?);
5653 }
5654 _ => skip_tree(stack),
5655 }
5656 Ok(())
5657 },
5658 )
5659 }
5660}
5661#[derive(Clone, Debug, Default, PartialEq)]
5663#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5664pub struct ResourceToImport {
5665 pub logical_resource_id: String,
5667 pub resource_identifier: ::std::collections::HashMap<String, String>,
5669 pub resource_type: String,
5671}
5672
5673struct ResourceToImportSerializer;
5675impl ResourceToImportSerializer {
5676 fn serialize(params: &mut Params, name: &str, obj: &ResourceToImport) {
5677 let mut prefix = name.to_string();
5678 if prefix != "" {
5679 prefix.push_str(".");
5680 }
5681
5682 params.put(
5683 &format!("{}{}", prefix, "LogicalResourceId"),
5684 &obj.logical_resource_id,
5685 );
5686 ResourceIdentifierPropertiesSerializer::serialize(
5687 params,
5688 &format!("{}{}", prefix, "ResourceIdentifier"),
5689 &obj.resource_identifier,
5690 );
5691 params.put(&format!("{}{}", prefix, "ResourceType"), &obj.resource_type);
5692 }
5693}
5694
5695#[allow(dead_code)]
5696struct ResourceTypeDeserializer;
5697impl ResourceTypeDeserializer {
5698 #[allow(dead_code, unused_variables)]
5699 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5700 xml_util::deserialize_primitive(tag_name, stack, Ok)
5701 }
5702}
5703#[allow(dead_code)]
5704struct ResourceTypesDeserializer;
5705impl ResourceTypesDeserializer {
5706 #[allow(dead_code, unused_variables)]
5707 fn deserialize<T: Peek + Next>(
5708 tag_name: &str,
5709 stack: &mut T,
5710 ) -> Result<Vec<String>, XmlParseError> {
5711 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5712 if name == "member" {
5713 obj.push(ResourceTypeDeserializer::deserialize("member", stack)?);
5714 } else {
5715 skip_tree(stack);
5716 }
5717 Ok(())
5718 })
5719 }
5720}
5721
5722struct ResourceTypesSerializer;
5724impl ResourceTypesSerializer {
5725 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
5726 for (index, obj) in obj.iter().enumerate() {
5727 let key = format!("{}.member.{}", name, index + 1);
5728 params.put(&key, &obj);
5729 }
5730 }
5731}
5732
5733struct ResourcesToImportSerializer;
5735impl ResourcesToImportSerializer {
5736 fn serialize(params: &mut Params, name: &str, obj: &Vec<ResourceToImport>) {
5737 for (index, obj) in obj.iter().enumerate() {
5738 let key = format!("{}.member.{}", name, index + 1);
5739 ResourceToImportSerializer::serialize(params, &key, obj);
5740 }
5741 }
5742}
5743
5744struct ResourcesToSkipSerializer;
5746impl ResourcesToSkipSerializer {
5747 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
5748 for (index, obj) in obj.iter().enumerate() {
5749 let key = format!("{}.member.{}", name, index + 1);
5750 params.put(&key, &obj);
5751 }
5752 }
5753}
5754
5755struct RetainResourcesSerializer;
5757impl RetainResourcesSerializer {
5758 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
5759 for (index, obj) in obj.iter().enumerate() {
5760 let key = format!("{}.member.{}", name, index + 1);
5761 params.put(&key, &obj);
5762 }
5763 }
5764}
5765
5766#[allow(dead_code)]
5767struct RetainStacksNullableDeserializer;
5768impl RetainStacksNullableDeserializer {
5769 #[allow(dead_code, unused_variables)]
5770 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
5771 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
5772 }
5773}
5774#[allow(dead_code)]
5775struct RetainStacksOnAccountRemovalNullableDeserializer;
5776impl RetainStacksOnAccountRemovalNullableDeserializer {
5777 #[allow(dead_code, unused_variables)]
5778 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
5779 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
5780 }
5781}
5782#[allow(dead_code)]
5783struct RoleARNDeserializer;
5784impl RoleARNDeserializer {
5785 #[allow(dead_code, unused_variables)]
5786 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5787 xml_util::deserialize_primitive(tag_name, stack, Ok)
5788 }
5789}
5790#[allow(dead_code)]
5791struct RoleArnDeserializer;
5792impl RoleArnDeserializer {
5793 #[allow(dead_code, unused_variables)]
5794 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5795 xml_util::deserialize_primitive(tag_name, stack, Ok)
5796 }
5797}
5798#[derive(Clone, Debug, Default, PartialEq)]
5800#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5801#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5802pub struct RollbackConfiguration {
5803 pub monitoring_time_in_minutes: Option<i64>,
5805 pub rollback_triggers: Option<Vec<RollbackTrigger>>,
5807}
5808
5809#[allow(dead_code)]
5810struct RollbackConfigurationDeserializer;
5811impl RollbackConfigurationDeserializer {
5812 #[allow(dead_code, unused_variables)]
5813 fn deserialize<T: Peek + Next>(
5814 tag_name: &str,
5815 stack: &mut T,
5816 ) -> Result<RollbackConfiguration, XmlParseError> {
5817 deserialize_elements::<_, RollbackConfiguration, _>(tag_name, stack, |name, stack, obj| {
5818 match name {
5819 "MonitoringTimeInMinutes" => {
5820 obj.monitoring_time_in_minutes =
5821 Some(MonitoringTimeInMinutesDeserializer::deserialize(
5822 "MonitoringTimeInMinutes",
5823 stack,
5824 )?);
5825 }
5826 "RollbackTriggers" => {
5827 obj.rollback_triggers.get_or_insert(vec![]).extend(
5828 RollbackTriggersDeserializer::deserialize("RollbackTriggers", stack)?,
5829 );
5830 }
5831 _ => skip_tree(stack),
5832 }
5833 Ok(())
5834 })
5835 }
5836}
5837
5838struct RollbackConfigurationSerializer;
5840impl RollbackConfigurationSerializer {
5841 fn serialize(params: &mut Params, name: &str, obj: &RollbackConfiguration) {
5842 let mut prefix = name.to_string();
5843 if prefix != "" {
5844 prefix.push_str(".");
5845 }
5846
5847 if let Some(ref field_value) = obj.monitoring_time_in_minutes {
5848 params.put(
5849 &format!("{}{}", prefix, "MonitoringTimeInMinutes"),
5850 &field_value,
5851 );
5852 }
5853 if let Some(ref field_value) = obj.rollback_triggers {
5854 RollbackTriggersSerializer::serialize(
5855 params,
5856 &format!("{}{}", prefix, "RollbackTriggers"),
5857 field_value,
5858 );
5859 }
5860 }
5861}
5862
5863#[derive(Clone, Debug, Default, PartialEq)]
5865#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5866#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5867pub struct RollbackTrigger {
5868 pub arn: String,
5870 pub type_: String,
5872}
5873
5874#[allow(dead_code)]
5875struct RollbackTriggerDeserializer;
5876impl RollbackTriggerDeserializer {
5877 #[allow(dead_code, unused_variables)]
5878 fn deserialize<T: Peek + Next>(
5879 tag_name: &str,
5880 stack: &mut T,
5881 ) -> Result<RollbackTrigger, XmlParseError> {
5882 deserialize_elements::<_, RollbackTrigger, _>(tag_name, stack, |name, stack, obj| {
5883 match name {
5884 "Arn" => {
5885 obj.arn = ArnDeserializer::deserialize("Arn", stack)?;
5886 }
5887 "Type" => {
5888 obj.type_ = TypeDeserializer::deserialize("Type", stack)?;
5889 }
5890 _ => skip_tree(stack),
5891 }
5892 Ok(())
5893 })
5894 }
5895}
5896
5897struct RollbackTriggerSerializer;
5899impl RollbackTriggerSerializer {
5900 fn serialize(params: &mut Params, name: &str, obj: &RollbackTrigger) {
5901 let mut prefix = name.to_string();
5902 if prefix != "" {
5903 prefix.push_str(".");
5904 }
5905
5906 params.put(&format!("{}{}", prefix, "Arn"), &obj.arn);
5907 params.put(&format!("{}{}", prefix, "Type"), &obj.type_);
5908 }
5909}
5910
5911#[allow(dead_code)]
5912struct RollbackTriggersDeserializer;
5913impl RollbackTriggersDeserializer {
5914 #[allow(dead_code, unused_variables)]
5915 fn deserialize<T: Peek + Next>(
5916 tag_name: &str,
5917 stack: &mut T,
5918 ) -> Result<Vec<RollbackTrigger>, XmlParseError> {
5919 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5920 if name == "member" {
5921 obj.push(RollbackTriggerDeserializer::deserialize("member", stack)?);
5922 } else {
5923 skip_tree(stack);
5924 }
5925 Ok(())
5926 })
5927 }
5928}
5929
5930struct RollbackTriggersSerializer;
5932impl RollbackTriggersSerializer {
5933 fn serialize(params: &mut Params, name: &str, obj: &Vec<RollbackTrigger>) {
5934 for (index, obj) in obj.iter().enumerate() {
5935 let key = format!("{}.member.{}", name, index + 1);
5936 RollbackTriggerSerializer::serialize(params, &key, obj);
5937 }
5938 }
5939}
5940
5941#[allow(dead_code)]
5942struct ScopeDeserializer;
5943impl ScopeDeserializer {
5944 #[allow(dead_code, unused_variables)]
5945 fn deserialize<T: Peek + Next>(
5946 tag_name: &str,
5947 stack: &mut T,
5948 ) -> Result<Vec<String>, XmlParseError> {
5949 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5950 if name == "member" {
5951 obj.push(ResourceAttributeDeserializer::deserialize("member", stack)?);
5952 } else {
5953 skip_tree(stack);
5954 }
5955 Ok(())
5956 })
5957 }
5958}
5959#[derive(Clone, Debug, Default, PartialEq)]
5961#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5962pub struct SetStackPolicyInput {
5963 pub stack_name: String,
5965 pub stack_policy_body: Option<String>,
5967 pub stack_policy_url: Option<String>,
5969}
5970
5971struct SetStackPolicyInputSerializer;
5973impl SetStackPolicyInputSerializer {
5974 fn serialize(params: &mut Params, name: &str, obj: &SetStackPolicyInput) {
5975 let mut prefix = name.to_string();
5976 if prefix != "" {
5977 prefix.push_str(".");
5978 }
5979
5980 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
5981 if let Some(ref field_value) = obj.stack_policy_body {
5982 params.put(&format!("{}{}", prefix, "StackPolicyBody"), &field_value);
5983 }
5984 if let Some(ref field_value) = obj.stack_policy_url {
5985 params.put(&format!("{}{}", prefix, "StackPolicyURL"), &field_value);
5986 }
5987 }
5988}
5989
5990#[derive(Clone, Debug, Default, PartialEq)]
5991#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5992pub struct SetTypeDefaultVersionInput {
5993 pub arn: Option<String>,
5995 pub type_: Option<String>,
5997 pub type_name: Option<String>,
5999 pub version_id: Option<String>,
6001}
6002
6003struct SetTypeDefaultVersionInputSerializer;
6005impl SetTypeDefaultVersionInputSerializer {
6006 fn serialize(params: &mut Params, name: &str, obj: &SetTypeDefaultVersionInput) {
6007 let mut prefix = name.to_string();
6008 if prefix != "" {
6009 prefix.push_str(".");
6010 }
6011
6012 if let Some(ref field_value) = obj.arn {
6013 params.put(&format!("{}{}", prefix, "Arn"), &field_value);
6014 }
6015 if let Some(ref field_value) = obj.type_ {
6016 params.put(&format!("{}{}", prefix, "Type"), &field_value);
6017 }
6018 if let Some(ref field_value) = obj.type_name {
6019 params.put(&format!("{}{}", prefix, "TypeName"), &field_value);
6020 }
6021 if let Some(ref field_value) = obj.version_id {
6022 params.put(&format!("{}{}", prefix, "VersionId"), &field_value);
6023 }
6024 }
6025}
6026
6027#[derive(Clone, Debug, Default, PartialEq)]
6028#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6029pub struct SetTypeDefaultVersionOutput {}
6030
6031#[allow(dead_code)]
6032struct SetTypeDefaultVersionOutputDeserializer;
6033impl SetTypeDefaultVersionOutputDeserializer {
6034 #[allow(dead_code, unused_variables)]
6035 fn deserialize<T: Peek + Next>(
6036 tag_name: &str,
6037 stack: &mut T,
6038 ) -> Result<SetTypeDefaultVersionOutput, XmlParseError> {
6039 xml_util::start_element(tag_name, stack)?;
6040
6041 let obj = SetTypeDefaultVersionOutput::default();
6042
6043 xml_util::end_element(tag_name, stack)?;
6044
6045 Ok(obj)
6046 }
6047}
6048#[derive(Clone, Debug, Default, PartialEq)]
6050#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6051pub struct SignalResourceInput {
6052 pub logical_resource_id: String,
6054 pub stack_name: String,
6056 pub status: String,
6058 pub unique_id: String,
6060}
6061
6062struct SignalResourceInputSerializer;
6064impl SignalResourceInputSerializer {
6065 fn serialize(params: &mut Params, name: &str, obj: &SignalResourceInput) {
6066 let mut prefix = name.to_string();
6067 if prefix != "" {
6068 prefix.push_str(".");
6069 }
6070
6071 params.put(
6072 &format!("{}{}", prefix, "LogicalResourceId"),
6073 &obj.logical_resource_id,
6074 );
6075 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
6076 params.put(&format!("{}{}", prefix, "Status"), &obj.status);
6077 params.put(&format!("{}{}", prefix, "UniqueId"), &obj.unique_id);
6078 }
6079}
6080
6081#[derive(Clone, Debug, Default, PartialEq)]
6083#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6084pub struct Stack {
6085 pub capabilities: Option<Vec<String>>,
6087 pub change_set_id: Option<String>,
6089 pub creation_time: String,
6091 pub deletion_time: Option<String>,
6093 pub description: Option<String>,
6095 pub disable_rollback: Option<bool>,
6097 pub drift_information: Option<StackDriftInformation>,
6099 pub enable_termination_protection: Option<bool>,
6101 pub last_updated_time: Option<String>,
6103 pub notification_ar_ns: Option<Vec<String>>,
6105 pub outputs: Option<Vec<Output>>,
6107 pub parameters: Option<Vec<Parameter>>,
6109 pub parent_id: Option<String>,
6111 pub role_arn: Option<String>,
6113 pub rollback_configuration: Option<RollbackConfiguration>,
6115 pub root_id: Option<String>,
6117 pub stack_id: Option<String>,
6119 pub stack_name: String,
6121 pub stack_status: String,
6123 pub stack_status_reason: Option<String>,
6125 pub tags: Option<Vec<Tag>>,
6127 pub timeout_in_minutes: Option<i64>,
6129}
6130
6131#[allow(dead_code)]
6132struct StackDeserializer;
6133impl StackDeserializer {
6134 #[allow(dead_code, unused_variables)]
6135 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Stack, XmlParseError> {
6136 deserialize_elements::<_, Stack, _>(tag_name, stack, |name, stack, obj| {
6137 match name {
6138 "Capabilities" => {
6139 obj.capabilities.get_or_insert(vec![]).extend(
6140 CapabilitiesDeserializer::deserialize("Capabilities", stack)?,
6141 );
6142 }
6143 "ChangeSetId" => {
6144 obj.change_set_id =
6145 Some(ChangeSetIdDeserializer::deserialize("ChangeSetId", stack)?);
6146 }
6147 "CreationTime" => {
6148 obj.creation_time =
6149 CreationTimeDeserializer::deserialize("CreationTime", stack)?;
6150 }
6151 "DeletionTime" => {
6152 obj.deletion_time = Some(DeletionTimeDeserializer::deserialize(
6153 "DeletionTime",
6154 stack,
6155 )?);
6156 }
6157 "Description" => {
6158 obj.description =
6159 Some(DescriptionDeserializer::deserialize("Description", stack)?);
6160 }
6161 "DisableRollback" => {
6162 obj.disable_rollback = Some(DisableRollbackDeserializer::deserialize(
6163 "DisableRollback",
6164 stack,
6165 )?);
6166 }
6167 "DriftInformation" => {
6168 obj.drift_information = Some(StackDriftInformationDeserializer::deserialize(
6169 "DriftInformation",
6170 stack,
6171 )?);
6172 }
6173 "EnableTerminationProtection" => {
6174 obj.enable_termination_protection =
6175 Some(EnableTerminationProtectionDeserializer::deserialize(
6176 "EnableTerminationProtection",
6177 stack,
6178 )?);
6179 }
6180 "LastUpdatedTime" => {
6181 obj.last_updated_time = Some(LastUpdatedTimeDeserializer::deserialize(
6182 "LastUpdatedTime",
6183 stack,
6184 )?);
6185 }
6186 "NotificationARNs" => {
6187 obj.notification_ar_ns.get_or_insert(vec![]).extend(
6188 NotificationARNsDeserializer::deserialize("NotificationARNs", stack)?,
6189 );
6190 }
6191 "Outputs" => {
6192 obj.outputs
6193 .get_or_insert(vec![])
6194 .extend(OutputsDeserializer::deserialize("Outputs", stack)?);
6195 }
6196 "Parameters" => {
6197 obj.parameters
6198 .get_or_insert(vec![])
6199 .extend(ParametersDeserializer::deserialize("Parameters", stack)?);
6200 }
6201 "ParentId" => {
6202 obj.parent_id = Some(StackIdDeserializer::deserialize("ParentId", stack)?);
6203 }
6204 "RoleARN" => {
6205 obj.role_arn = Some(RoleARNDeserializer::deserialize("RoleARN", stack)?);
6206 }
6207 "RollbackConfiguration" => {
6208 obj.rollback_configuration =
6209 Some(RollbackConfigurationDeserializer::deserialize(
6210 "RollbackConfiguration",
6211 stack,
6212 )?);
6213 }
6214 "RootId" => {
6215 obj.root_id = Some(StackIdDeserializer::deserialize("RootId", stack)?);
6216 }
6217 "StackId" => {
6218 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
6219 }
6220 "StackName" => {
6221 obj.stack_name = StackNameDeserializer::deserialize("StackName", stack)?;
6222 }
6223 "StackStatus" => {
6224 obj.stack_status = StackStatusDeserializer::deserialize("StackStatus", stack)?;
6225 }
6226 "StackStatusReason" => {
6227 obj.stack_status_reason = Some(StackStatusReasonDeserializer::deserialize(
6228 "StackStatusReason",
6229 stack,
6230 )?);
6231 }
6232 "Tags" => {
6233 obj.tags
6234 .get_or_insert(vec![])
6235 .extend(TagsDeserializer::deserialize("Tags", stack)?);
6236 }
6237 "TimeoutInMinutes" => {
6238 obj.timeout_in_minutes = Some(TimeoutMinutesDeserializer::deserialize(
6239 "TimeoutInMinutes",
6240 stack,
6241 )?);
6242 }
6243 _ => skip_tree(stack),
6244 }
6245 Ok(())
6246 })
6247 }
6248}
6249#[allow(dead_code)]
6250struct StackDriftDetectionIdDeserializer;
6251impl StackDriftDetectionIdDeserializer {
6252 #[allow(dead_code, unused_variables)]
6253 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6254 xml_util::deserialize_primitive(tag_name, stack, Ok)
6255 }
6256}
6257#[allow(dead_code)]
6258struct StackDriftDetectionStatusDeserializer;
6259impl StackDriftDetectionStatusDeserializer {
6260 #[allow(dead_code, unused_variables)]
6261 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6262 xml_util::deserialize_primitive(tag_name, stack, Ok)
6263 }
6264}
6265#[allow(dead_code)]
6266struct StackDriftDetectionStatusReasonDeserializer;
6267impl StackDriftDetectionStatusReasonDeserializer {
6268 #[allow(dead_code, unused_variables)]
6269 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6270 xml_util::deserialize_primitive(tag_name, stack, Ok)
6271 }
6272}
6273#[derive(Clone, Debug, Default, PartialEq)]
6275#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6276pub struct StackDriftInformation {
6277 pub last_check_timestamp: Option<String>,
6279 pub stack_drift_status: String,
6281}
6282
6283#[allow(dead_code)]
6284struct StackDriftInformationDeserializer;
6285impl StackDriftInformationDeserializer {
6286 #[allow(dead_code, unused_variables)]
6287 fn deserialize<T: Peek + Next>(
6288 tag_name: &str,
6289 stack: &mut T,
6290 ) -> Result<StackDriftInformation, XmlParseError> {
6291 deserialize_elements::<_, StackDriftInformation, _>(tag_name, stack, |name, stack, obj| {
6292 match name {
6293 "LastCheckTimestamp" => {
6294 obj.last_check_timestamp = Some(TimestampDeserializer::deserialize(
6295 "LastCheckTimestamp",
6296 stack,
6297 )?);
6298 }
6299 "StackDriftStatus" => {
6300 obj.stack_drift_status =
6301 StackDriftStatusDeserializer::deserialize("StackDriftStatus", stack)?;
6302 }
6303 _ => skip_tree(stack),
6304 }
6305 Ok(())
6306 })
6307 }
6308}
6309#[derive(Clone, Debug, Default, PartialEq)]
6311#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6312pub struct StackDriftInformationSummary {
6313 pub last_check_timestamp: Option<String>,
6315 pub stack_drift_status: String,
6317}
6318
6319#[allow(dead_code)]
6320struct StackDriftInformationSummaryDeserializer;
6321impl StackDriftInformationSummaryDeserializer {
6322 #[allow(dead_code, unused_variables)]
6323 fn deserialize<T: Peek + Next>(
6324 tag_name: &str,
6325 stack: &mut T,
6326 ) -> Result<StackDriftInformationSummary, XmlParseError> {
6327 deserialize_elements::<_, StackDriftInformationSummary, _>(
6328 tag_name,
6329 stack,
6330 |name, stack, obj| {
6331 match name {
6332 "LastCheckTimestamp" => {
6333 obj.last_check_timestamp = Some(TimestampDeserializer::deserialize(
6334 "LastCheckTimestamp",
6335 stack,
6336 )?);
6337 }
6338 "StackDriftStatus" => {
6339 obj.stack_drift_status =
6340 StackDriftStatusDeserializer::deserialize("StackDriftStatus", stack)?;
6341 }
6342 _ => skip_tree(stack),
6343 }
6344 Ok(())
6345 },
6346 )
6347 }
6348}
6349#[allow(dead_code)]
6350struct StackDriftStatusDeserializer;
6351impl StackDriftStatusDeserializer {
6352 #[allow(dead_code, unused_variables)]
6353 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6354 xml_util::deserialize_primitive(tag_name, stack, Ok)
6355 }
6356}
6357#[derive(Clone, Debug, Default, PartialEq)]
6359#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6360pub struct StackEvent {
6361 pub client_request_token: Option<String>,
6363 pub event_id: String,
6365 pub logical_resource_id: Option<String>,
6367 pub physical_resource_id: Option<String>,
6369 pub resource_properties: Option<String>,
6371 pub resource_status: Option<String>,
6373 pub resource_status_reason: Option<String>,
6375 pub resource_type: Option<String>,
6377 pub stack_id: String,
6379 pub stack_name: String,
6381 pub timestamp: String,
6383}
6384
6385#[allow(dead_code)]
6386struct StackEventDeserializer;
6387impl StackEventDeserializer {
6388 #[allow(dead_code, unused_variables)]
6389 fn deserialize<T: Peek + Next>(
6390 tag_name: &str,
6391 stack: &mut T,
6392 ) -> Result<StackEvent, XmlParseError> {
6393 deserialize_elements::<_, StackEvent, _>(tag_name, stack, |name, stack, obj| {
6394 match name {
6395 "ClientRequestToken" => {
6396 obj.client_request_token = Some(ClientRequestTokenDeserializer::deserialize(
6397 "ClientRequestToken",
6398 stack,
6399 )?);
6400 }
6401 "EventId" => {
6402 obj.event_id = EventIdDeserializer::deserialize("EventId", stack)?;
6403 }
6404 "LogicalResourceId" => {
6405 obj.logical_resource_id = Some(LogicalResourceIdDeserializer::deserialize(
6406 "LogicalResourceId",
6407 stack,
6408 )?);
6409 }
6410 "PhysicalResourceId" => {
6411 obj.physical_resource_id = Some(PhysicalResourceIdDeserializer::deserialize(
6412 "PhysicalResourceId",
6413 stack,
6414 )?);
6415 }
6416 "ResourceProperties" => {
6417 obj.resource_properties = Some(ResourcePropertiesDeserializer::deserialize(
6418 "ResourceProperties",
6419 stack,
6420 )?);
6421 }
6422 "ResourceStatus" => {
6423 obj.resource_status = Some(ResourceStatusDeserializer::deserialize(
6424 "ResourceStatus",
6425 stack,
6426 )?);
6427 }
6428 "ResourceStatusReason" => {
6429 obj.resource_status_reason =
6430 Some(ResourceStatusReasonDeserializer::deserialize(
6431 "ResourceStatusReason",
6432 stack,
6433 )?);
6434 }
6435 "ResourceType" => {
6436 obj.resource_type = Some(ResourceTypeDeserializer::deserialize(
6437 "ResourceType",
6438 stack,
6439 )?);
6440 }
6441 "StackId" => {
6442 obj.stack_id = StackIdDeserializer::deserialize("StackId", stack)?;
6443 }
6444 "StackName" => {
6445 obj.stack_name = StackNameDeserializer::deserialize("StackName", stack)?;
6446 }
6447 "Timestamp" => {
6448 obj.timestamp = TimestampDeserializer::deserialize("Timestamp", stack)?;
6449 }
6450 _ => skip_tree(stack),
6451 }
6452 Ok(())
6453 })
6454 }
6455}
6456#[allow(dead_code)]
6457struct StackEventsDeserializer;
6458impl StackEventsDeserializer {
6459 #[allow(dead_code, unused_variables)]
6460 fn deserialize<T: Peek + Next>(
6461 tag_name: &str,
6462 stack: &mut T,
6463 ) -> Result<Vec<StackEvent>, XmlParseError> {
6464 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6465 if name == "member" {
6466 obj.push(StackEventDeserializer::deserialize("member", stack)?);
6467 } else {
6468 skip_tree(stack);
6469 }
6470 Ok(())
6471 })
6472 }
6473}
6474#[allow(dead_code)]
6475struct StackIdDeserializer;
6476impl StackIdDeserializer {
6477 #[allow(dead_code, unused_variables)]
6478 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6479 xml_util::deserialize_primitive(tag_name, stack, Ok)
6480 }
6481}
6482#[derive(Clone, Debug, Default, PartialEq)]
6484#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6485pub struct StackInstance {
6486 pub account: Option<String>,
6488 pub drift_status: Option<String>,
6490 pub last_drift_check_timestamp: Option<String>,
6492 pub organizational_unit_id: Option<String>,
6494 pub parameter_overrides: Option<Vec<Parameter>>,
6496 pub region: Option<String>,
6498 pub stack_id: Option<String>,
6500 pub stack_instance_status: Option<StackInstanceComprehensiveStatus>,
6502 pub stack_set_id: Option<String>,
6504 pub status: Option<String>,
6506 pub status_reason: Option<String>,
6508}
6509
6510#[allow(dead_code)]
6511struct StackInstanceDeserializer;
6512impl StackInstanceDeserializer {
6513 #[allow(dead_code, unused_variables)]
6514 fn deserialize<T: Peek + Next>(
6515 tag_name: &str,
6516 stack: &mut T,
6517 ) -> Result<StackInstance, XmlParseError> {
6518 deserialize_elements::<_, StackInstance, _>(tag_name, stack, |name, stack, obj| {
6519 match name {
6520 "Account" => {
6521 obj.account = Some(AccountDeserializer::deserialize("Account", stack)?);
6522 }
6523 "DriftStatus" => {
6524 obj.drift_status = Some(StackDriftStatusDeserializer::deserialize(
6525 "DriftStatus",
6526 stack,
6527 )?);
6528 }
6529 "LastDriftCheckTimestamp" => {
6530 obj.last_drift_check_timestamp = Some(TimestampDeserializer::deserialize(
6531 "LastDriftCheckTimestamp",
6532 stack,
6533 )?);
6534 }
6535 "OrganizationalUnitId" => {
6536 obj.organizational_unit_id =
6537 Some(OrganizationalUnitIdDeserializer::deserialize(
6538 "OrganizationalUnitId",
6539 stack,
6540 )?);
6541 }
6542 "ParameterOverrides" => {
6543 obj.parameter_overrides.get_or_insert(vec![]).extend(
6544 ParametersDeserializer::deserialize("ParameterOverrides", stack)?,
6545 );
6546 }
6547 "Region" => {
6548 obj.region = Some(RegionDeserializer::deserialize("Region", stack)?);
6549 }
6550 "StackId" => {
6551 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
6552 }
6553 "StackInstanceStatus" => {
6554 obj.stack_instance_status =
6555 Some(StackInstanceComprehensiveStatusDeserializer::deserialize(
6556 "StackInstanceStatus",
6557 stack,
6558 )?);
6559 }
6560 "StackSetId" => {
6561 obj.stack_set_id =
6562 Some(StackSetIdDeserializer::deserialize("StackSetId", stack)?);
6563 }
6564 "Status" => {
6565 obj.status = Some(StackInstanceStatusDeserializer::deserialize(
6566 "Status", stack,
6567 )?);
6568 }
6569 "StatusReason" => {
6570 obj.status_reason =
6571 Some(ReasonDeserializer::deserialize("StatusReason", stack)?);
6572 }
6573 _ => skip_tree(stack),
6574 }
6575 Ok(())
6576 })
6577 }
6578}
6579#[derive(Clone, Debug, Default, PartialEq)]
6581#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6582pub struct StackInstanceComprehensiveStatus {
6583 pub detailed_status: Option<String>,
6585}
6586
6587#[allow(dead_code)]
6588struct StackInstanceComprehensiveStatusDeserializer;
6589impl StackInstanceComprehensiveStatusDeserializer {
6590 #[allow(dead_code, unused_variables)]
6591 fn deserialize<T: Peek + Next>(
6592 tag_name: &str,
6593 stack: &mut T,
6594 ) -> Result<StackInstanceComprehensiveStatus, XmlParseError> {
6595 deserialize_elements::<_, StackInstanceComprehensiveStatus, _>(
6596 tag_name,
6597 stack,
6598 |name, stack, obj| {
6599 match name {
6600 "DetailedStatus" => {
6601 obj.detailed_status =
6602 Some(StackInstanceDetailedStatusDeserializer::deserialize(
6603 "DetailedStatus",
6604 stack,
6605 )?);
6606 }
6607 _ => skip_tree(stack),
6608 }
6609 Ok(())
6610 },
6611 )
6612 }
6613}
6614#[allow(dead_code)]
6615struct StackInstanceDetailedStatusDeserializer;
6616impl StackInstanceDetailedStatusDeserializer {
6617 #[allow(dead_code, unused_variables)]
6618 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6619 xml_util::deserialize_primitive(tag_name, stack, Ok)
6620 }
6621}
6622#[derive(Clone, Debug, Default, PartialEq)]
6624#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6625pub struct StackInstanceFilter {
6626 pub name: Option<String>,
6628 pub values: Option<String>,
6630}
6631
6632struct StackInstanceFilterSerializer;
6634impl StackInstanceFilterSerializer {
6635 fn serialize(params: &mut Params, name: &str, obj: &StackInstanceFilter) {
6636 let mut prefix = name.to_string();
6637 if prefix != "" {
6638 prefix.push_str(".");
6639 }
6640
6641 if let Some(ref field_value) = obj.name {
6642 params.put(&format!("{}{}", prefix, "Name"), &field_value);
6643 }
6644 if let Some(ref field_value) = obj.values {
6645 params.put(&format!("{}{}", prefix, "Values"), &field_value);
6646 }
6647 }
6648}
6649
6650struct StackInstanceFiltersSerializer;
6652impl StackInstanceFiltersSerializer {
6653 fn serialize(params: &mut Params, name: &str, obj: &Vec<StackInstanceFilter>) {
6654 for (index, obj) in obj.iter().enumerate() {
6655 let key = format!("{}.member.{}", name, index + 1);
6656 StackInstanceFilterSerializer::serialize(params, &key, obj);
6657 }
6658 }
6659}
6660
6661#[allow(dead_code)]
6662struct StackInstanceStatusDeserializer;
6663impl StackInstanceStatusDeserializer {
6664 #[allow(dead_code, unused_variables)]
6665 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6666 xml_util::deserialize_primitive(tag_name, stack, Ok)
6667 }
6668}
6669#[allow(dead_code)]
6670struct StackInstanceSummariesDeserializer;
6671impl StackInstanceSummariesDeserializer {
6672 #[allow(dead_code, unused_variables)]
6673 fn deserialize<T: Peek + Next>(
6674 tag_name: &str,
6675 stack: &mut T,
6676 ) -> Result<Vec<StackInstanceSummary>, XmlParseError> {
6677 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6678 if name == "member" {
6679 obj.push(StackInstanceSummaryDeserializer::deserialize(
6680 "member", stack,
6681 )?);
6682 } else {
6683 skip_tree(stack);
6684 }
6685 Ok(())
6686 })
6687 }
6688}
6689#[derive(Clone, Debug, Default, PartialEq)]
6691#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6692pub struct StackInstanceSummary {
6693 pub account: Option<String>,
6695 pub drift_status: Option<String>,
6697 pub last_drift_check_timestamp: Option<String>,
6699 pub organizational_unit_id: Option<String>,
6701 pub region: Option<String>,
6703 pub stack_id: Option<String>,
6705 pub stack_instance_status: Option<StackInstanceComprehensiveStatus>,
6707 pub stack_set_id: Option<String>,
6709 pub status: Option<String>,
6711 pub status_reason: Option<String>,
6713}
6714
6715#[allow(dead_code)]
6716struct StackInstanceSummaryDeserializer;
6717impl StackInstanceSummaryDeserializer {
6718 #[allow(dead_code, unused_variables)]
6719 fn deserialize<T: Peek + Next>(
6720 tag_name: &str,
6721 stack: &mut T,
6722 ) -> Result<StackInstanceSummary, XmlParseError> {
6723 deserialize_elements::<_, StackInstanceSummary, _>(tag_name, stack, |name, stack, obj| {
6724 match name {
6725 "Account" => {
6726 obj.account = Some(AccountDeserializer::deserialize("Account", stack)?);
6727 }
6728 "DriftStatus" => {
6729 obj.drift_status = Some(StackDriftStatusDeserializer::deserialize(
6730 "DriftStatus",
6731 stack,
6732 )?);
6733 }
6734 "LastDriftCheckTimestamp" => {
6735 obj.last_drift_check_timestamp = Some(TimestampDeserializer::deserialize(
6736 "LastDriftCheckTimestamp",
6737 stack,
6738 )?);
6739 }
6740 "OrganizationalUnitId" => {
6741 obj.organizational_unit_id =
6742 Some(OrganizationalUnitIdDeserializer::deserialize(
6743 "OrganizationalUnitId",
6744 stack,
6745 )?);
6746 }
6747 "Region" => {
6748 obj.region = Some(RegionDeserializer::deserialize("Region", stack)?);
6749 }
6750 "StackId" => {
6751 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
6752 }
6753 "StackInstanceStatus" => {
6754 obj.stack_instance_status =
6755 Some(StackInstanceComprehensiveStatusDeserializer::deserialize(
6756 "StackInstanceStatus",
6757 stack,
6758 )?);
6759 }
6760 "StackSetId" => {
6761 obj.stack_set_id =
6762 Some(StackSetIdDeserializer::deserialize("StackSetId", stack)?);
6763 }
6764 "Status" => {
6765 obj.status = Some(StackInstanceStatusDeserializer::deserialize(
6766 "Status", stack,
6767 )?);
6768 }
6769 "StatusReason" => {
6770 obj.status_reason =
6771 Some(ReasonDeserializer::deserialize("StatusReason", stack)?);
6772 }
6773 _ => skip_tree(stack),
6774 }
6775 Ok(())
6776 })
6777 }
6778}
6779#[allow(dead_code)]
6780struct StackNameDeserializer;
6781impl StackNameDeserializer {
6782 #[allow(dead_code, unused_variables)]
6783 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6784 xml_util::deserialize_primitive(tag_name, stack, Ok)
6785 }
6786}
6787#[allow(dead_code)]
6788struct StackPolicyBodyDeserializer;
6789impl StackPolicyBodyDeserializer {
6790 #[allow(dead_code, unused_variables)]
6791 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6792 xml_util::deserialize_primitive(tag_name, stack, Ok)
6793 }
6794}
6795#[derive(Clone, Debug, Default, PartialEq)]
6797#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6798pub struct StackResource {
6799 pub description: Option<String>,
6801 pub drift_information: Option<StackResourceDriftInformation>,
6803 pub logical_resource_id: String,
6805 pub physical_resource_id: Option<String>,
6807 pub resource_status: String,
6809 pub resource_status_reason: Option<String>,
6811 pub resource_type: String,
6813 pub stack_id: Option<String>,
6815 pub stack_name: Option<String>,
6817 pub timestamp: String,
6819}
6820
6821#[allow(dead_code)]
6822struct StackResourceDeserializer;
6823impl StackResourceDeserializer {
6824 #[allow(dead_code, unused_variables)]
6825 fn deserialize<T: Peek + Next>(
6826 tag_name: &str,
6827 stack: &mut T,
6828 ) -> Result<StackResource, XmlParseError> {
6829 deserialize_elements::<_, StackResource, _>(tag_name, stack, |name, stack, obj| {
6830 match name {
6831 "Description" => {
6832 obj.description =
6833 Some(DescriptionDeserializer::deserialize("Description", stack)?);
6834 }
6835 "DriftInformation" => {
6836 obj.drift_information =
6837 Some(StackResourceDriftInformationDeserializer::deserialize(
6838 "DriftInformation",
6839 stack,
6840 )?);
6841 }
6842 "LogicalResourceId" => {
6843 obj.logical_resource_id =
6844 LogicalResourceIdDeserializer::deserialize("LogicalResourceId", stack)?;
6845 }
6846 "PhysicalResourceId" => {
6847 obj.physical_resource_id = Some(PhysicalResourceIdDeserializer::deserialize(
6848 "PhysicalResourceId",
6849 stack,
6850 )?);
6851 }
6852 "ResourceStatus" => {
6853 obj.resource_status =
6854 ResourceStatusDeserializer::deserialize("ResourceStatus", stack)?;
6855 }
6856 "ResourceStatusReason" => {
6857 obj.resource_status_reason =
6858 Some(ResourceStatusReasonDeserializer::deserialize(
6859 "ResourceStatusReason",
6860 stack,
6861 )?);
6862 }
6863 "ResourceType" => {
6864 obj.resource_type =
6865 ResourceTypeDeserializer::deserialize("ResourceType", stack)?;
6866 }
6867 "StackId" => {
6868 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
6869 }
6870 "StackName" => {
6871 obj.stack_name = Some(StackNameDeserializer::deserialize("StackName", stack)?);
6872 }
6873 "Timestamp" => {
6874 obj.timestamp = TimestampDeserializer::deserialize("Timestamp", stack)?;
6875 }
6876 _ => skip_tree(stack),
6877 }
6878 Ok(())
6879 })
6880 }
6881}
6882#[derive(Clone, Debug, Default, PartialEq)]
6884#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6885pub struct StackResourceDetail {
6886 pub description: Option<String>,
6888 pub drift_information: Option<StackResourceDriftInformation>,
6890 pub last_updated_timestamp: String,
6892 pub logical_resource_id: String,
6894 pub metadata: Option<String>,
6896 pub physical_resource_id: Option<String>,
6898 pub resource_status: String,
6900 pub resource_status_reason: Option<String>,
6902 pub resource_type: String,
6904 pub stack_id: Option<String>,
6906 pub stack_name: Option<String>,
6908}
6909
6910#[allow(dead_code)]
6911struct StackResourceDetailDeserializer;
6912impl StackResourceDetailDeserializer {
6913 #[allow(dead_code, unused_variables)]
6914 fn deserialize<T: Peek + Next>(
6915 tag_name: &str,
6916 stack: &mut T,
6917 ) -> Result<StackResourceDetail, XmlParseError> {
6918 deserialize_elements::<_, StackResourceDetail, _>(tag_name, stack, |name, stack, obj| {
6919 match name {
6920 "Description" => {
6921 obj.description =
6922 Some(DescriptionDeserializer::deserialize("Description", stack)?);
6923 }
6924 "DriftInformation" => {
6925 obj.drift_information =
6926 Some(StackResourceDriftInformationDeserializer::deserialize(
6927 "DriftInformation",
6928 stack,
6929 )?);
6930 }
6931 "LastUpdatedTimestamp" => {
6932 obj.last_updated_timestamp =
6933 TimestampDeserializer::deserialize("LastUpdatedTimestamp", stack)?;
6934 }
6935 "LogicalResourceId" => {
6936 obj.logical_resource_id =
6937 LogicalResourceIdDeserializer::deserialize("LogicalResourceId", stack)?;
6938 }
6939 "Metadata" => {
6940 obj.metadata = Some(MetadataDeserializer::deserialize("Metadata", stack)?);
6941 }
6942 "PhysicalResourceId" => {
6943 obj.physical_resource_id = Some(PhysicalResourceIdDeserializer::deserialize(
6944 "PhysicalResourceId",
6945 stack,
6946 )?);
6947 }
6948 "ResourceStatus" => {
6949 obj.resource_status =
6950 ResourceStatusDeserializer::deserialize("ResourceStatus", stack)?;
6951 }
6952 "ResourceStatusReason" => {
6953 obj.resource_status_reason =
6954 Some(ResourceStatusReasonDeserializer::deserialize(
6955 "ResourceStatusReason",
6956 stack,
6957 )?);
6958 }
6959 "ResourceType" => {
6960 obj.resource_type =
6961 ResourceTypeDeserializer::deserialize("ResourceType", stack)?;
6962 }
6963 "StackId" => {
6964 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
6965 }
6966 "StackName" => {
6967 obj.stack_name = Some(StackNameDeserializer::deserialize("StackName", stack)?);
6968 }
6969 _ => skip_tree(stack),
6970 }
6971 Ok(())
6972 })
6973 }
6974}
6975#[derive(Clone, Debug, Default, PartialEq)]
6977#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6978pub struct StackResourceDrift {
6979 pub actual_properties: Option<String>,
6981 pub expected_properties: Option<String>,
6983 pub logical_resource_id: String,
6985 pub physical_resource_id: Option<String>,
6987 pub physical_resource_id_context: Option<Vec<PhysicalResourceIdContextKeyValuePair>>,
6989 pub property_differences: Option<Vec<PropertyDifference>>,
6991 pub resource_type: String,
6993 pub stack_id: String,
6995 pub stack_resource_drift_status: String,
6997 pub timestamp: String,
6999}
7000
7001#[allow(dead_code)]
7002struct StackResourceDriftDeserializer;
7003impl StackResourceDriftDeserializer {
7004 #[allow(dead_code, unused_variables)]
7005 fn deserialize<T: Peek + Next>(
7006 tag_name: &str,
7007 stack: &mut T,
7008 ) -> Result<StackResourceDrift, XmlParseError> {
7009 deserialize_elements::<_, StackResourceDrift, _>(tag_name, stack, |name, stack, obj| {
7010 match name {
7011 "ActualProperties" => {
7012 obj.actual_properties = Some(PropertiesDeserializer::deserialize(
7013 "ActualProperties",
7014 stack,
7015 )?);
7016 }
7017 "ExpectedProperties" => {
7018 obj.expected_properties = Some(PropertiesDeserializer::deserialize(
7019 "ExpectedProperties",
7020 stack,
7021 )?);
7022 }
7023 "LogicalResourceId" => {
7024 obj.logical_resource_id =
7025 LogicalResourceIdDeserializer::deserialize("LogicalResourceId", stack)?;
7026 }
7027 "PhysicalResourceId" => {
7028 obj.physical_resource_id = Some(PhysicalResourceIdDeserializer::deserialize(
7029 "PhysicalResourceId",
7030 stack,
7031 )?);
7032 }
7033 "PhysicalResourceIdContext" => {
7034 obj.physical_resource_id_context
7035 .get_or_insert(vec![])
7036 .extend(PhysicalResourceIdContextDeserializer::deserialize(
7037 "PhysicalResourceIdContext",
7038 stack,
7039 )?);
7040 }
7041 "PropertyDifferences" => {
7042 obj.property_differences.get_or_insert(vec![]).extend(
7043 PropertyDifferencesDeserializer::deserialize("PropertyDifferences", stack)?,
7044 );
7045 }
7046 "ResourceType" => {
7047 obj.resource_type =
7048 ResourceTypeDeserializer::deserialize("ResourceType", stack)?;
7049 }
7050 "StackId" => {
7051 obj.stack_id = StackIdDeserializer::deserialize("StackId", stack)?;
7052 }
7053 "StackResourceDriftStatus" => {
7054 obj.stack_resource_drift_status =
7055 StackResourceDriftStatusDeserializer::deserialize(
7056 "StackResourceDriftStatus",
7057 stack,
7058 )?;
7059 }
7060 "Timestamp" => {
7061 obj.timestamp = TimestampDeserializer::deserialize("Timestamp", stack)?;
7062 }
7063 _ => skip_tree(stack),
7064 }
7065 Ok(())
7066 })
7067 }
7068}
7069#[derive(Clone, Debug, Default, PartialEq)]
7071#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7072pub struct StackResourceDriftInformation {
7073 pub last_check_timestamp: Option<String>,
7075 pub stack_resource_drift_status: String,
7077}
7078
7079#[allow(dead_code)]
7080struct StackResourceDriftInformationDeserializer;
7081impl StackResourceDriftInformationDeserializer {
7082 #[allow(dead_code, unused_variables)]
7083 fn deserialize<T: Peek + Next>(
7084 tag_name: &str,
7085 stack: &mut T,
7086 ) -> Result<StackResourceDriftInformation, XmlParseError> {
7087 deserialize_elements::<_, StackResourceDriftInformation, _>(
7088 tag_name,
7089 stack,
7090 |name, stack, obj| {
7091 match name {
7092 "LastCheckTimestamp" => {
7093 obj.last_check_timestamp = Some(TimestampDeserializer::deserialize(
7094 "LastCheckTimestamp",
7095 stack,
7096 )?);
7097 }
7098 "StackResourceDriftStatus" => {
7099 obj.stack_resource_drift_status =
7100 StackResourceDriftStatusDeserializer::deserialize(
7101 "StackResourceDriftStatus",
7102 stack,
7103 )?;
7104 }
7105 _ => skip_tree(stack),
7106 }
7107 Ok(())
7108 },
7109 )
7110 }
7111}
7112#[derive(Clone, Debug, Default, PartialEq)]
7114#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7115pub struct StackResourceDriftInformationSummary {
7116 pub last_check_timestamp: Option<String>,
7118 pub stack_resource_drift_status: String,
7120}
7121
7122#[allow(dead_code)]
7123struct StackResourceDriftInformationSummaryDeserializer;
7124impl StackResourceDriftInformationSummaryDeserializer {
7125 #[allow(dead_code, unused_variables)]
7126 fn deserialize<T: Peek + Next>(
7127 tag_name: &str,
7128 stack: &mut T,
7129 ) -> Result<StackResourceDriftInformationSummary, XmlParseError> {
7130 deserialize_elements::<_, StackResourceDriftInformationSummary, _>(
7131 tag_name,
7132 stack,
7133 |name, stack, obj| {
7134 match name {
7135 "LastCheckTimestamp" => {
7136 obj.last_check_timestamp = Some(TimestampDeserializer::deserialize(
7137 "LastCheckTimestamp",
7138 stack,
7139 )?);
7140 }
7141 "StackResourceDriftStatus" => {
7142 obj.stack_resource_drift_status =
7143 StackResourceDriftStatusDeserializer::deserialize(
7144 "StackResourceDriftStatus",
7145 stack,
7146 )?;
7147 }
7148 _ => skip_tree(stack),
7149 }
7150 Ok(())
7151 },
7152 )
7153 }
7154}
7155#[allow(dead_code)]
7156struct StackResourceDriftStatusDeserializer;
7157impl StackResourceDriftStatusDeserializer {
7158 #[allow(dead_code, unused_variables)]
7159 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7160 xml_util::deserialize_primitive(tag_name, stack, Ok)
7161 }
7162}
7163
7164struct StackResourceDriftStatusFiltersSerializer;
7166impl StackResourceDriftStatusFiltersSerializer {
7167 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
7168 for (index, obj) in obj.iter().enumerate() {
7169 let key = format!("{}.member.{}", name, index + 1);
7170 params.put(&key, &obj);
7171 }
7172 }
7173}
7174
7175#[allow(dead_code)]
7176struct StackResourceDriftsDeserializer;
7177impl StackResourceDriftsDeserializer {
7178 #[allow(dead_code, unused_variables)]
7179 fn deserialize<T: Peek + Next>(
7180 tag_name: &str,
7181 stack: &mut T,
7182 ) -> Result<Vec<StackResourceDrift>, XmlParseError> {
7183 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7184 if name == "member" {
7185 obj.push(StackResourceDriftDeserializer::deserialize(
7186 "member", stack,
7187 )?);
7188 } else {
7189 skip_tree(stack);
7190 }
7191 Ok(())
7192 })
7193 }
7194}
7195#[allow(dead_code)]
7196struct StackResourceSummariesDeserializer;
7197impl StackResourceSummariesDeserializer {
7198 #[allow(dead_code, unused_variables)]
7199 fn deserialize<T: Peek + Next>(
7200 tag_name: &str,
7201 stack: &mut T,
7202 ) -> Result<Vec<StackResourceSummary>, XmlParseError> {
7203 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7204 if name == "member" {
7205 obj.push(StackResourceSummaryDeserializer::deserialize(
7206 "member", stack,
7207 )?);
7208 } else {
7209 skip_tree(stack);
7210 }
7211 Ok(())
7212 })
7213 }
7214}
7215#[derive(Clone, Debug, Default, PartialEq)]
7217#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7218pub struct StackResourceSummary {
7219 pub drift_information: Option<StackResourceDriftInformationSummary>,
7221 pub last_updated_timestamp: String,
7223 pub logical_resource_id: String,
7225 pub physical_resource_id: Option<String>,
7227 pub resource_status: String,
7229 pub resource_status_reason: Option<String>,
7231 pub resource_type: String,
7233}
7234
7235#[allow(dead_code)]
7236struct StackResourceSummaryDeserializer;
7237impl StackResourceSummaryDeserializer {
7238 #[allow(dead_code, unused_variables)]
7239 fn deserialize<T: Peek + Next>(
7240 tag_name: &str,
7241 stack: &mut T,
7242 ) -> Result<StackResourceSummary, XmlParseError> {
7243 deserialize_elements::<_, StackResourceSummary, _>(tag_name, stack, |name, stack, obj| {
7244 match name {
7245 "DriftInformation" => {
7246 obj.drift_information = Some(
7247 StackResourceDriftInformationSummaryDeserializer::deserialize(
7248 "DriftInformation",
7249 stack,
7250 )?,
7251 );
7252 }
7253 "LastUpdatedTimestamp" => {
7254 obj.last_updated_timestamp =
7255 TimestampDeserializer::deserialize("LastUpdatedTimestamp", stack)?;
7256 }
7257 "LogicalResourceId" => {
7258 obj.logical_resource_id =
7259 LogicalResourceIdDeserializer::deserialize("LogicalResourceId", stack)?;
7260 }
7261 "PhysicalResourceId" => {
7262 obj.physical_resource_id = Some(PhysicalResourceIdDeserializer::deserialize(
7263 "PhysicalResourceId",
7264 stack,
7265 )?);
7266 }
7267 "ResourceStatus" => {
7268 obj.resource_status =
7269 ResourceStatusDeserializer::deserialize("ResourceStatus", stack)?;
7270 }
7271 "ResourceStatusReason" => {
7272 obj.resource_status_reason =
7273 Some(ResourceStatusReasonDeserializer::deserialize(
7274 "ResourceStatusReason",
7275 stack,
7276 )?);
7277 }
7278 "ResourceType" => {
7279 obj.resource_type =
7280 ResourceTypeDeserializer::deserialize("ResourceType", stack)?;
7281 }
7282 _ => skip_tree(stack),
7283 }
7284 Ok(())
7285 })
7286 }
7287}
7288#[allow(dead_code)]
7289struct StackResourcesDeserializer;
7290impl StackResourcesDeserializer {
7291 #[allow(dead_code, unused_variables)]
7292 fn deserialize<T: Peek + Next>(
7293 tag_name: &str,
7294 stack: &mut T,
7295 ) -> Result<Vec<StackResource>, XmlParseError> {
7296 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7297 if name == "member" {
7298 obj.push(StackResourceDeserializer::deserialize("member", stack)?);
7299 } else {
7300 skip_tree(stack);
7301 }
7302 Ok(())
7303 })
7304 }
7305}
7306#[derive(Clone, Debug, Default, PartialEq)]
7308#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7309pub struct StackSet {
7310 pub administration_role_arn: Option<String>,
7312 pub auto_deployment: Option<AutoDeployment>,
7314 pub capabilities: Option<Vec<String>>,
7316 pub description: Option<String>,
7318 pub execution_role_name: Option<String>,
7320 pub organizational_unit_ids: Option<Vec<String>>,
7322 pub parameters: Option<Vec<Parameter>>,
7324 pub permission_model: Option<String>,
7326 pub stack_set_arn: Option<String>,
7328 pub stack_set_drift_detection_details: Option<StackSetDriftDetectionDetails>,
7330 pub stack_set_id: Option<String>,
7332 pub stack_set_name: Option<String>,
7334 pub status: Option<String>,
7336 pub tags: Option<Vec<Tag>>,
7338 pub template_body: Option<String>,
7340}
7341
7342#[allow(dead_code)]
7343struct StackSetDeserializer;
7344impl StackSetDeserializer {
7345 #[allow(dead_code, unused_variables)]
7346 fn deserialize<T: Peek + Next>(
7347 tag_name: &str,
7348 stack: &mut T,
7349 ) -> Result<StackSet, XmlParseError> {
7350 deserialize_elements::<_, StackSet, _>(tag_name, stack, |name, stack, obj| {
7351 match name {
7352 "AdministrationRoleARN" => {
7353 obj.administration_role_arn = Some(RoleARNDeserializer::deserialize(
7354 "AdministrationRoleARN",
7355 stack,
7356 )?);
7357 }
7358 "AutoDeployment" => {
7359 obj.auto_deployment = Some(AutoDeploymentDeserializer::deserialize(
7360 "AutoDeployment",
7361 stack,
7362 )?);
7363 }
7364 "Capabilities" => {
7365 obj.capabilities.get_or_insert(vec![]).extend(
7366 CapabilitiesDeserializer::deserialize("Capabilities", stack)?,
7367 );
7368 }
7369 "Description" => {
7370 obj.description =
7371 Some(DescriptionDeserializer::deserialize("Description", stack)?);
7372 }
7373 "ExecutionRoleName" => {
7374 obj.execution_role_name = Some(ExecutionRoleNameDeserializer::deserialize(
7375 "ExecutionRoleName",
7376 stack,
7377 )?);
7378 }
7379 "OrganizationalUnitIds" => {
7380 obj.organizational_unit_ids.get_or_insert(vec![]).extend(
7381 OrganizationalUnitIdListDeserializer::deserialize(
7382 "OrganizationalUnitIds",
7383 stack,
7384 )?,
7385 );
7386 }
7387 "Parameters" => {
7388 obj.parameters
7389 .get_or_insert(vec![])
7390 .extend(ParametersDeserializer::deserialize("Parameters", stack)?);
7391 }
7392 "PermissionModel" => {
7393 obj.permission_model = Some(PermissionModelsDeserializer::deserialize(
7394 "PermissionModel",
7395 stack,
7396 )?);
7397 }
7398 "StackSetARN" => {
7399 obj.stack_set_arn =
7400 Some(StackSetARNDeserializer::deserialize("StackSetARN", stack)?);
7401 }
7402 "StackSetDriftDetectionDetails" => {
7403 obj.stack_set_drift_detection_details =
7404 Some(StackSetDriftDetectionDetailsDeserializer::deserialize(
7405 "StackSetDriftDetectionDetails",
7406 stack,
7407 )?);
7408 }
7409 "StackSetId" => {
7410 obj.stack_set_id =
7411 Some(StackSetIdDeserializer::deserialize("StackSetId", stack)?);
7412 }
7413 "StackSetName" => {
7414 obj.stack_set_name = Some(StackSetNameDeserializer::deserialize(
7415 "StackSetName",
7416 stack,
7417 )?);
7418 }
7419 "Status" => {
7420 obj.status = Some(StackSetStatusDeserializer::deserialize("Status", stack)?);
7421 }
7422 "Tags" => {
7423 obj.tags
7424 .get_or_insert(vec![])
7425 .extend(TagsDeserializer::deserialize("Tags", stack)?);
7426 }
7427 "TemplateBody" => {
7428 obj.template_body = Some(TemplateBodyDeserializer::deserialize(
7429 "TemplateBody",
7430 stack,
7431 )?);
7432 }
7433 _ => skip_tree(stack),
7434 }
7435 Ok(())
7436 })
7437 }
7438}
7439#[allow(dead_code)]
7440struct StackSetARNDeserializer;
7441impl StackSetARNDeserializer {
7442 #[allow(dead_code, unused_variables)]
7443 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7444 xml_util::deserialize_primitive(tag_name, stack, Ok)
7445 }
7446}
7447#[derive(Clone, Debug, Default, PartialEq)]
7449#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7450pub struct StackSetDriftDetectionDetails {
7451 pub drift_detection_status: Option<String>,
7453 pub drift_status: Option<String>,
7455 pub drifted_stack_instances_count: Option<i64>,
7457 pub failed_stack_instances_count: Option<i64>,
7459 pub in_progress_stack_instances_count: Option<i64>,
7461 pub in_sync_stack_instances_count: Option<i64>,
7463 pub last_drift_check_timestamp: Option<String>,
7465 pub total_stack_instances_count: Option<i64>,
7467}
7468
7469#[allow(dead_code)]
7470struct StackSetDriftDetectionDetailsDeserializer;
7471impl StackSetDriftDetectionDetailsDeserializer {
7472 #[allow(dead_code, unused_variables)]
7473 fn deserialize<T: Peek + Next>(
7474 tag_name: &str,
7475 stack: &mut T,
7476 ) -> Result<StackSetDriftDetectionDetails, XmlParseError> {
7477 deserialize_elements::<_, StackSetDriftDetectionDetails, _>(
7478 tag_name,
7479 stack,
7480 |name, stack, obj| {
7481 match name {
7482 "DriftDetectionStatus" => {
7483 obj.drift_detection_status =
7484 Some(StackSetDriftDetectionStatusDeserializer::deserialize(
7485 "DriftDetectionStatus",
7486 stack,
7487 )?);
7488 }
7489 "DriftStatus" => {
7490 obj.drift_status = Some(StackSetDriftStatusDeserializer::deserialize(
7491 "DriftStatus",
7492 stack,
7493 )?);
7494 }
7495 "DriftedStackInstancesCount" => {
7496 obj.drifted_stack_instances_count =
7497 Some(DriftedStackInstancesCountDeserializer::deserialize(
7498 "DriftedStackInstancesCount",
7499 stack,
7500 )?);
7501 }
7502 "FailedStackInstancesCount" => {
7503 obj.failed_stack_instances_count =
7504 Some(FailedStackInstancesCountDeserializer::deserialize(
7505 "FailedStackInstancesCount",
7506 stack,
7507 )?);
7508 }
7509 "InProgressStackInstancesCount" => {
7510 obj.in_progress_stack_instances_count =
7511 Some(InProgressStackInstancesCountDeserializer::deserialize(
7512 "InProgressStackInstancesCount",
7513 stack,
7514 )?);
7515 }
7516 "InSyncStackInstancesCount" => {
7517 obj.in_sync_stack_instances_count =
7518 Some(InSyncStackInstancesCountDeserializer::deserialize(
7519 "InSyncStackInstancesCount",
7520 stack,
7521 )?);
7522 }
7523 "LastDriftCheckTimestamp" => {
7524 obj.last_drift_check_timestamp = Some(TimestampDeserializer::deserialize(
7525 "LastDriftCheckTimestamp",
7526 stack,
7527 )?);
7528 }
7529 "TotalStackInstancesCount" => {
7530 obj.total_stack_instances_count =
7531 Some(TotalStackInstancesCountDeserializer::deserialize(
7532 "TotalStackInstancesCount",
7533 stack,
7534 )?);
7535 }
7536 _ => skip_tree(stack),
7537 }
7538 Ok(())
7539 },
7540 )
7541 }
7542}
7543#[allow(dead_code)]
7544struct StackSetDriftDetectionStatusDeserializer;
7545impl StackSetDriftDetectionStatusDeserializer {
7546 #[allow(dead_code, unused_variables)]
7547 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7548 xml_util::deserialize_primitive(tag_name, stack, Ok)
7549 }
7550}
7551#[allow(dead_code)]
7552struct StackSetDriftStatusDeserializer;
7553impl StackSetDriftStatusDeserializer {
7554 #[allow(dead_code, unused_variables)]
7555 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7556 xml_util::deserialize_primitive(tag_name, stack, Ok)
7557 }
7558}
7559#[allow(dead_code)]
7560struct StackSetIdDeserializer;
7561impl StackSetIdDeserializer {
7562 #[allow(dead_code, unused_variables)]
7563 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7564 xml_util::deserialize_primitive(tag_name, stack, Ok)
7565 }
7566}
7567#[allow(dead_code)]
7568struct StackSetNameDeserializer;
7569impl StackSetNameDeserializer {
7570 #[allow(dead_code, unused_variables)]
7571 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7572 xml_util::deserialize_primitive(tag_name, stack, Ok)
7573 }
7574}
7575#[derive(Clone, Debug, Default, PartialEq)]
7577#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7578pub struct StackSetOperation {
7579 pub action: Option<String>,
7581 pub administration_role_arn: Option<String>,
7583 pub creation_timestamp: Option<String>,
7585 pub deployment_targets: Option<DeploymentTargets>,
7587 pub end_timestamp: Option<String>,
7589 pub execution_role_name: Option<String>,
7591 pub operation_id: Option<String>,
7593 pub operation_preferences: Option<StackSetOperationPreferences>,
7595 pub retain_stacks: Option<bool>,
7597 pub stack_set_drift_detection_details: Option<StackSetDriftDetectionDetails>,
7599 pub stack_set_id: Option<String>,
7601 pub status: Option<String>,
7603}
7604
7605#[allow(dead_code)]
7606struct StackSetOperationDeserializer;
7607impl StackSetOperationDeserializer {
7608 #[allow(dead_code, unused_variables)]
7609 fn deserialize<T: Peek + Next>(
7610 tag_name: &str,
7611 stack: &mut T,
7612 ) -> Result<StackSetOperation, XmlParseError> {
7613 deserialize_elements::<_, StackSetOperation, _>(tag_name, stack, |name, stack, obj| {
7614 match name {
7615 "Action" => {
7616 obj.action = Some(StackSetOperationActionDeserializer::deserialize(
7617 "Action", stack,
7618 )?);
7619 }
7620 "AdministrationRoleARN" => {
7621 obj.administration_role_arn = Some(RoleARNDeserializer::deserialize(
7622 "AdministrationRoleARN",
7623 stack,
7624 )?);
7625 }
7626 "CreationTimestamp" => {
7627 obj.creation_timestamp = Some(TimestampDeserializer::deserialize(
7628 "CreationTimestamp",
7629 stack,
7630 )?);
7631 }
7632 "DeploymentTargets" => {
7633 obj.deployment_targets = Some(DeploymentTargetsDeserializer::deserialize(
7634 "DeploymentTargets",
7635 stack,
7636 )?);
7637 }
7638 "EndTimestamp" => {
7639 obj.end_timestamp =
7640 Some(TimestampDeserializer::deserialize("EndTimestamp", stack)?);
7641 }
7642 "ExecutionRoleName" => {
7643 obj.execution_role_name = Some(ExecutionRoleNameDeserializer::deserialize(
7644 "ExecutionRoleName",
7645 stack,
7646 )?);
7647 }
7648 "OperationId" => {
7649 obj.operation_id = Some(ClientRequestTokenDeserializer::deserialize(
7650 "OperationId",
7651 stack,
7652 )?);
7653 }
7654 "OperationPreferences" => {
7655 obj.operation_preferences =
7656 Some(StackSetOperationPreferencesDeserializer::deserialize(
7657 "OperationPreferences",
7658 stack,
7659 )?);
7660 }
7661 "RetainStacks" => {
7662 obj.retain_stacks = Some(RetainStacksNullableDeserializer::deserialize(
7663 "RetainStacks",
7664 stack,
7665 )?);
7666 }
7667 "StackSetDriftDetectionDetails" => {
7668 obj.stack_set_drift_detection_details =
7669 Some(StackSetDriftDetectionDetailsDeserializer::deserialize(
7670 "StackSetDriftDetectionDetails",
7671 stack,
7672 )?);
7673 }
7674 "StackSetId" => {
7675 obj.stack_set_id =
7676 Some(StackSetIdDeserializer::deserialize("StackSetId", stack)?);
7677 }
7678 "Status" => {
7679 obj.status = Some(StackSetOperationStatusDeserializer::deserialize(
7680 "Status", stack,
7681 )?);
7682 }
7683 _ => skip_tree(stack),
7684 }
7685 Ok(())
7686 })
7687 }
7688}
7689#[allow(dead_code)]
7690struct StackSetOperationActionDeserializer;
7691impl StackSetOperationActionDeserializer {
7692 #[allow(dead_code, unused_variables)]
7693 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7694 xml_util::deserialize_primitive(tag_name, stack, Ok)
7695 }
7696}
7697#[derive(Clone, Debug, Default, PartialEq)]
7699#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7700#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
7701pub struct StackSetOperationPreferences {
7702 pub failure_tolerance_count: Option<i64>,
7704 pub failure_tolerance_percentage: Option<i64>,
7706 pub max_concurrent_count: Option<i64>,
7708 pub max_concurrent_percentage: Option<i64>,
7710 pub region_order: Option<Vec<String>>,
7712}
7713
7714#[allow(dead_code)]
7715struct StackSetOperationPreferencesDeserializer;
7716impl StackSetOperationPreferencesDeserializer {
7717 #[allow(dead_code, unused_variables)]
7718 fn deserialize<T: Peek + Next>(
7719 tag_name: &str,
7720 stack: &mut T,
7721 ) -> Result<StackSetOperationPreferences, XmlParseError> {
7722 deserialize_elements::<_, StackSetOperationPreferences, _>(
7723 tag_name,
7724 stack,
7725 |name, stack, obj| {
7726 match name {
7727 "FailureToleranceCount" => {
7728 obj.failure_tolerance_count =
7729 Some(FailureToleranceCountDeserializer::deserialize(
7730 "FailureToleranceCount",
7731 stack,
7732 )?);
7733 }
7734 "FailureTolerancePercentage" => {
7735 obj.failure_tolerance_percentage =
7736 Some(FailureTolerancePercentageDeserializer::deserialize(
7737 "FailureTolerancePercentage",
7738 stack,
7739 )?);
7740 }
7741 "MaxConcurrentCount" => {
7742 obj.max_concurrent_count =
7743 Some(MaxConcurrentCountDeserializer::deserialize(
7744 "MaxConcurrentCount",
7745 stack,
7746 )?);
7747 }
7748 "MaxConcurrentPercentage" => {
7749 obj.max_concurrent_percentage =
7750 Some(MaxConcurrentPercentageDeserializer::deserialize(
7751 "MaxConcurrentPercentage",
7752 stack,
7753 )?);
7754 }
7755 "RegionOrder" => {
7756 obj.region_order
7757 .get_or_insert(vec![])
7758 .extend(RegionListDeserializer::deserialize("RegionOrder", stack)?);
7759 }
7760 _ => skip_tree(stack),
7761 }
7762 Ok(())
7763 },
7764 )
7765 }
7766}
7767
7768struct StackSetOperationPreferencesSerializer;
7770impl StackSetOperationPreferencesSerializer {
7771 fn serialize(params: &mut Params, name: &str, obj: &StackSetOperationPreferences) {
7772 let mut prefix = name.to_string();
7773 if prefix != "" {
7774 prefix.push_str(".");
7775 }
7776
7777 if let Some(ref field_value) = obj.failure_tolerance_count {
7778 params.put(
7779 &format!("{}{}", prefix, "FailureToleranceCount"),
7780 &field_value,
7781 );
7782 }
7783 if let Some(ref field_value) = obj.failure_tolerance_percentage {
7784 params.put(
7785 &format!("{}{}", prefix, "FailureTolerancePercentage"),
7786 &field_value,
7787 );
7788 }
7789 if let Some(ref field_value) = obj.max_concurrent_count {
7790 params.put(&format!("{}{}", prefix, "MaxConcurrentCount"), &field_value);
7791 }
7792 if let Some(ref field_value) = obj.max_concurrent_percentage {
7793 params.put(
7794 &format!("{}{}", prefix, "MaxConcurrentPercentage"),
7795 &field_value,
7796 );
7797 }
7798 if let Some(ref field_value) = obj.region_order {
7799 RegionListSerializer::serialize(
7800 params,
7801 &format!("{}{}", prefix, "RegionOrder"),
7802 field_value,
7803 );
7804 }
7805 }
7806}
7807
7808#[allow(dead_code)]
7809struct StackSetOperationResultStatusDeserializer;
7810impl StackSetOperationResultStatusDeserializer {
7811 #[allow(dead_code, unused_variables)]
7812 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7813 xml_util::deserialize_primitive(tag_name, stack, Ok)
7814 }
7815}
7816#[allow(dead_code)]
7817struct StackSetOperationResultSummariesDeserializer;
7818impl StackSetOperationResultSummariesDeserializer {
7819 #[allow(dead_code, unused_variables)]
7820 fn deserialize<T: Peek + Next>(
7821 tag_name: &str,
7822 stack: &mut T,
7823 ) -> Result<Vec<StackSetOperationResultSummary>, XmlParseError> {
7824 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7825 if name == "member" {
7826 obj.push(StackSetOperationResultSummaryDeserializer::deserialize(
7827 "member", stack,
7828 )?);
7829 } else {
7830 skip_tree(stack);
7831 }
7832 Ok(())
7833 })
7834 }
7835}
7836#[derive(Clone, Debug, Default, PartialEq)]
7838#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7839pub struct StackSetOperationResultSummary {
7840 pub account: Option<String>,
7842 pub account_gate_result: Option<AccountGateResult>,
7844 pub organizational_unit_id: Option<String>,
7846 pub region: Option<String>,
7848 pub status: Option<String>,
7850 pub status_reason: Option<String>,
7852}
7853
7854#[allow(dead_code)]
7855struct StackSetOperationResultSummaryDeserializer;
7856impl StackSetOperationResultSummaryDeserializer {
7857 #[allow(dead_code, unused_variables)]
7858 fn deserialize<T: Peek + Next>(
7859 tag_name: &str,
7860 stack: &mut T,
7861 ) -> Result<StackSetOperationResultSummary, XmlParseError> {
7862 deserialize_elements::<_, StackSetOperationResultSummary, _>(
7863 tag_name,
7864 stack,
7865 |name, stack, obj| {
7866 match name {
7867 "Account" => {
7868 obj.account = Some(AccountDeserializer::deserialize("Account", stack)?);
7869 }
7870 "AccountGateResult" => {
7871 obj.account_gate_result = Some(AccountGateResultDeserializer::deserialize(
7872 "AccountGateResult",
7873 stack,
7874 )?);
7875 }
7876 "OrganizationalUnitId" => {
7877 obj.organizational_unit_id =
7878 Some(OrganizationalUnitIdDeserializer::deserialize(
7879 "OrganizationalUnitId",
7880 stack,
7881 )?);
7882 }
7883 "Region" => {
7884 obj.region = Some(RegionDeserializer::deserialize("Region", stack)?);
7885 }
7886 "Status" => {
7887 obj.status = Some(StackSetOperationResultStatusDeserializer::deserialize(
7888 "Status", stack,
7889 )?);
7890 }
7891 "StatusReason" => {
7892 obj.status_reason =
7893 Some(ReasonDeserializer::deserialize("StatusReason", stack)?);
7894 }
7895 _ => skip_tree(stack),
7896 }
7897 Ok(())
7898 },
7899 )
7900 }
7901}
7902#[allow(dead_code)]
7903struct StackSetOperationStatusDeserializer;
7904impl StackSetOperationStatusDeserializer {
7905 #[allow(dead_code, unused_variables)]
7906 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7907 xml_util::deserialize_primitive(tag_name, stack, Ok)
7908 }
7909}
7910#[allow(dead_code)]
7911struct StackSetOperationSummariesDeserializer;
7912impl StackSetOperationSummariesDeserializer {
7913 #[allow(dead_code, unused_variables)]
7914 fn deserialize<T: Peek + Next>(
7915 tag_name: &str,
7916 stack: &mut T,
7917 ) -> Result<Vec<StackSetOperationSummary>, XmlParseError> {
7918 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7919 if name == "member" {
7920 obj.push(StackSetOperationSummaryDeserializer::deserialize(
7921 "member", stack,
7922 )?);
7923 } else {
7924 skip_tree(stack);
7925 }
7926 Ok(())
7927 })
7928 }
7929}
7930#[derive(Clone, Debug, Default, PartialEq)]
7932#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7933pub struct StackSetOperationSummary {
7934 pub action: Option<String>,
7936 pub creation_timestamp: Option<String>,
7938 pub end_timestamp: Option<String>,
7940 pub operation_id: Option<String>,
7942 pub status: Option<String>,
7944}
7945
7946#[allow(dead_code)]
7947struct StackSetOperationSummaryDeserializer;
7948impl StackSetOperationSummaryDeserializer {
7949 #[allow(dead_code, unused_variables)]
7950 fn deserialize<T: Peek + Next>(
7951 tag_name: &str,
7952 stack: &mut T,
7953 ) -> Result<StackSetOperationSummary, XmlParseError> {
7954 deserialize_elements::<_, StackSetOperationSummary, _>(
7955 tag_name,
7956 stack,
7957 |name, stack, obj| {
7958 match name {
7959 "Action" => {
7960 obj.action = Some(StackSetOperationActionDeserializer::deserialize(
7961 "Action", stack,
7962 )?);
7963 }
7964 "CreationTimestamp" => {
7965 obj.creation_timestamp = Some(TimestampDeserializer::deserialize(
7966 "CreationTimestamp",
7967 stack,
7968 )?);
7969 }
7970 "EndTimestamp" => {
7971 obj.end_timestamp =
7972 Some(TimestampDeserializer::deserialize("EndTimestamp", stack)?);
7973 }
7974 "OperationId" => {
7975 obj.operation_id = Some(ClientRequestTokenDeserializer::deserialize(
7976 "OperationId",
7977 stack,
7978 )?);
7979 }
7980 "Status" => {
7981 obj.status = Some(StackSetOperationStatusDeserializer::deserialize(
7982 "Status", stack,
7983 )?);
7984 }
7985 _ => skip_tree(stack),
7986 }
7987 Ok(())
7988 },
7989 )
7990 }
7991}
7992#[allow(dead_code)]
7993struct StackSetStatusDeserializer;
7994impl StackSetStatusDeserializer {
7995 #[allow(dead_code, unused_variables)]
7996 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7997 xml_util::deserialize_primitive(tag_name, stack, Ok)
7998 }
7999}
8000#[allow(dead_code)]
8001struct StackSetSummariesDeserializer;
8002impl StackSetSummariesDeserializer {
8003 #[allow(dead_code, unused_variables)]
8004 fn deserialize<T: Peek + Next>(
8005 tag_name: &str,
8006 stack: &mut T,
8007 ) -> Result<Vec<StackSetSummary>, XmlParseError> {
8008 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8009 if name == "member" {
8010 obj.push(StackSetSummaryDeserializer::deserialize("member", stack)?);
8011 } else {
8012 skip_tree(stack);
8013 }
8014 Ok(())
8015 })
8016 }
8017}
8018#[derive(Clone, Debug, Default, PartialEq)]
8020#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8021pub struct StackSetSummary {
8022 pub auto_deployment: Option<AutoDeployment>,
8024 pub description: Option<String>,
8026 pub drift_status: Option<String>,
8028 pub last_drift_check_timestamp: Option<String>,
8030 pub permission_model: Option<String>,
8032 pub stack_set_id: Option<String>,
8034 pub stack_set_name: Option<String>,
8036 pub status: Option<String>,
8038}
8039
8040#[allow(dead_code)]
8041struct StackSetSummaryDeserializer;
8042impl StackSetSummaryDeserializer {
8043 #[allow(dead_code, unused_variables)]
8044 fn deserialize<T: Peek + Next>(
8045 tag_name: &str,
8046 stack: &mut T,
8047 ) -> Result<StackSetSummary, XmlParseError> {
8048 deserialize_elements::<_, StackSetSummary, _>(tag_name, stack, |name, stack, obj| {
8049 match name {
8050 "AutoDeployment" => {
8051 obj.auto_deployment = Some(AutoDeploymentDeserializer::deserialize(
8052 "AutoDeployment",
8053 stack,
8054 )?);
8055 }
8056 "Description" => {
8057 obj.description =
8058 Some(DescriptionDeserializer::deserialize("Description", stack)?);
8059 }
8060 "DriftStatus" => {
8061 obj.drift_status = Some(StackDriftStatusDeserializer::deserialize(
8062 "DriftStatus",
8063 stack,
8064 )?);
8065 }
8066 "LastDriftCheckTimestamp" => {
8067 obj.last_drift_check_timestamp = Some(TimestampDeserializer::deserialize(
8068 "LastDriftCheckTimestamp",
8069 stack,
8070 )?);
8071 }
8072 "PermissionModel" => {
8073 obj.permission_model = Some(PermissionModelsDeserializer::deserialize(
8074 "PermissionModel",
8075 stack,
8076 )?);
8077 }
8078 "StackSetId" => {
8079 obj.stack_set_id =
8080 Some(StackSetIdDeserializer::deserialize("StackSetId", stack)?);
8081 }
8082 "StackSetName" => {
8083 obj.stack_set_name = Some(StackSetNameDeserializer::deserialize(
8084 "StackSetName",
8085 stack,
8086 )?);
8087 }
8088 "Status" => {
8089 obj.status = Some(StackSetStatusDeserializer::deserialize("Status", stack)?);
8090 }
8091 _ => skip_tree(stack),
8092 }
8093 Ok(())
8094 })
8095 }
8096}
8097#[allow(dead_code)]
8098struct StackStatusDeserializer;
8099impl StackStatusDeserializer {
8100 #[allow(dead_code, unused_variables)]
8101 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8102 xml_util::deserialize_primitive(tag_name, stack, Ok)
8103 }
8104}
8105
8106struct StackStatusFilterSerializer;
8108impl StackStatusFilterSerializer {
8109 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
8110 for (index, obj) in obj.iter().enumerate() {
8111 let key = format!("{}.member.{}", name, index + 1);
8112 params.put(&key, &obj);
8113 }
8114 }
8115}
8116
8117#[allow(dead_code)]
8118struct StackStatusReasonDeserializer;
8119impl StackStatusReasonDeserializer {
8120 #[allow(dead_code, unused_variables)]
8121 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8122 xml_util::deserialize_primitive(tag_name, stack, Ok)
8123 }
8124}
8125#[allow(dead_code)]
8126struct StackSummariesDeserializer;
8127impl StackSummariesDeserializer {
8128 #[allow(dead_code, unused_variables)]
8129 fn deserialize<T: Peek + Next>(
8130 tag_name: &str,
8131 stack: &mut T,
8132 ) -> Result<Vec<StackSummary>, XmlParseError> {
8133 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8134 if name == "member" {
8135 obj.push(StackSummaryDeserializer::deserialize("member", stack)?);
8136 } else {
8137 skip_tree(stack);
8138 }
8139 Ok(())
8140 })
8141 }
8142}
8143#[derive(Clone, Debug, Default, PartialEq)]
8145#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8146pub struct StackSummary {
8147 pub creation_time: String,
8149 pub deletion_time: Option<String>,
8151 pub drift_information: Option<StackDriftInformationSummary>,
8153 pub last_updated_time: Option<String>,
8155 pub parent_id: Option<String>,
8157 pub root_id: Option<String>,
8159 pub stack_id: Option<String>,
8161 pub stack_name: String,
8163 pub stack_status: String,
8165 pub stack_status_reason: Option<String>,
8167 pub template_description: Option<String>,
8169}
8170
8171#[allow(dead_code)]
8172struct StackSummaryDeserializer;
8173impl StackSummaryDeserializer {
8174 #[allow(dead_code, unused_variables)]
8175 fn deserialize<T: Peek + Next>(
8176 tag_name: &str,
8177 stack: &mut T,
8178 ) -> Result<StackSummary, XmlParseError> {
8179 deserialize_elements::<_, StackSummary, _>(tag_name, stack, |name, stack, obj| {
8180 match name {
8181 "CreationTime" => {
8182 obj.creation_time =
8183 CreationTimeDeserializer::deserialize("CreationTime", stack)?;
8184 }
8185 "DeletionTime" => {
8186 obj.deletion_time = Some(DeletionTimeDeserializer::deserialize(
8187 "DeletionTime",
8188 stack,
8189 )?);
8190 }
8191 "DriftInformation" => {
8192 obj.drift_information =
8193 Some(StackDriftInformationSummaryDeserializer::deserialize(
8194 "DriftInformation",
8195 stack,
8196 )?);
8197 }
8198 "LastUpdatedTime" => {
8199 obj.last_updated_time = Some(LastUpdatedTimeDeserializer::deserialize(
8200 "LastUpdatedTime",
8201 stack,
8202 )?);
8203 }
8204 "ParentId" => {
8205 obj.parent_id = Some(StackIdDeserializer::deserialize("ParentId", stack)?);
8206 }
8207 "RootId" => {
8208 obj.root_id = Some(StackIdDeserializer::deserialize("RootId", stack)?);
8209 }
8210 "StackId" => {
8211 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
8212 }
8213 "StackName" => {
8214 obj.stack_name = StackNameDeserializer::deserialize("StackName", stack)?;
8215 }
8216 "StackStatus" => {
8217 obj.stack_status = StackStatusDeserializer::deserialize("StackStatus", stack)?;
8218 }
8219 "StackStatusReason" => {
8220 obj.stack_status_reason = Some(StackStatusReasonDeserializer::deserialize(
8221 "StackStatusReason",
8222 stack,
8223 )?);
8224 }
8225 "TemplateDescription" => {
8226 obj.template_description = Some(TemplateDescriptionDeserializer::deserialize(
8227 "TemplateDescription",
8228 stack,
8229 )?);
8230 }
8231 _ => skip_tree(stack),
8232 }
8233 Ok(())
8234 })
8235 }
8236}
8237#[allow(dead_code)]
8238struct StacksDeserializer;
8239impl StacksDeserializer {
8240 #[allow(dead_code, unused_variables)]
8241 fn deserialize<T: Peek + Next>(
8242 tag_name: &str,
8243 stack: &mut T,
8244 ) -> Result<Vec<Stack>, XmlParseError> {
8245 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8246 if name == "member" {
8247 obj.push(StackDeserializer::deserialize("member", stack)?);
8248 } else {
8249 skip_tree(stack);
8250 }
8251 Ok(())
8252 })
8253 }
8254}
8255#[allow(dead_code)]
8256struct StageListDeserializer;
8257impl StageListDeserializer {
8258 #[allow(dead_code, unused_variables)]
8259 fn deserialize<T: Peek + Next>(
8260 tag_name: &str,
8261 stack: &mut T,
8262 ) -> Result<Vec<String>, XmlParseError> {
8263 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8264 if name == "member" {
8265 obj.push(TemplateStageDeserializer::deserialize("member", stack)?);
8266 } else {
8267 skip_tree(stack);
8268 }
8269 Ok(())
8270 })
8271 }
8272}
8273#[derive(Clone, Debug, Default, PartialEq)]
8274#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8275pub struct StopStackSetOperationInput {
8276 pub operation_id: String,
8278 pub stack_set_name: String,
8280}
8281
8282struct StopStackSetOperationInputSerializer;
8284impl StopStackSetOperationInputSerializer {
8285 fn serialize(params: &mut Params, name: &str, obj: &StopStackSetOperationInput) {
8286 let mut prefix = name.to_string();
8287 if prefix != "" {
8288 prefix.push_str(".");
8289 }
8290
8291 params.put(&format!("{}{}", prefix, "OperationId"), &obj.operation_id);
8292 params.put(
8293 &format!("{}{}", prefix, "StackSetName"),
8294 &obj.stack_set_name,
8295 );
8296 }
8297}
8298
8299#[derive(Clone, Debug, Default, PartialEq)]
8300#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8301pub struct StopStackSetOperationOutput {}
8302
8303#[allow(dead_code)]
8304struct StopStackSetOperationOutputDeserializer;
8305impl StopStackSetOperationOutputDeserializer {
8306 #[allow(dead_code, unused_variables)]
8307 fn deserialize<T: Peek + Next>(
8308 tag_name: &str,
8309 stack: &mut T,
8310 ) -> Result<StopStackSetOperationOutput, XmlParseError> {
8311 xml_util::start_element(tag_name, stack)?;
8312
8313 let obj = StopStackSetOperationOutput::default();
8314
8315 xml_util::end_element(tag_name, stack)?;
8316
8317 Ok(obj)
8318 }
8319}
8320#[derive(Clone, Debug, Default, PartialEq)]
8322#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8323#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8324pub struct Tag {
8325 pub key: String,
8327 pub value: String,
8329}
8330
8331#[allow(dead_code)]
8332struct TagDeserializer;
8333impl TagDeserializer {
8334 #[allow(dead_code, unused_variables)]
8335 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Tag, XmlParseError> {
8336 deserialize_elements::<_, Tag, _>(tag_name, stack, |name, stack, obj| {
8337 match name {
8338 "Key" => {
8339 obj.key = TagKeyDeserializer::deserialize("Key", stack)?;
8340 }
8341 "Value" => {
8342 obj.value = TagValueDeserializer::deserialize("Value", stack)?;
8343 }
8344 _ => skip_tree(stack),
8345 }
8346 Ok(())
8347 })
8348 }
8349}
8350
8351struct TagSerializer;
8353impl TagSerializer {
8354 fn serialize(params: &mut Params, name: &str, obj: &Tag) {
8355 let mut prefix = name.to_string();
8356 if prefix != "" {
8357 prefix.push_str(".");
8358 }
8359
8360 params.put(&format!("{}{}", prefix, "Key"), &obj.key);
8361 params.put(&format!("{}{}", prefix, "Value"), &obj.value);
8362 }
8363}
8364
8365#[allow(dead_code)]
8366struct TagKeyDeserializer;
8367impl TagKeyDeserializer {
8368 #[allow(dead_code, unused_variables)]
8369 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8370 xml_util::deserialize_primitive(tag_name, stack, Ok)
8371 }
8372}
8373#[allow(dead_code)]
8374struct TagValueDeserializer;
8375impl TagValueDeserializer {
8376 #[allow(dead_code, unused_variables)]
8377 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8378 xml_util::deserialize_primitive(tag_name, stack, Ok)
8379 }
8380}
8381#[allow(dead_code)]
8382struct TagsDeserializer;
8383impl TagsDeserializer {
8384 #[allow(dead_code, unused_variables)]
8385 fn deserialize<T: Peek + Next>(
8386 tag_name: &str,
8387 stack: &mut T,
8388 ) -> Result<Vec<Tag>, XmlParseError> {
8389 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8390 if name == "member" {
8391 obj.push(TagDeserializer::deserialize("member", stack)?);
8392 } else {
8393 skip_tree(stack);
8394 }
8395 Ok(())
8396 })
8397 }
8398}
8399
8400struct TagsSerializer;
8402impl TagsSerializer {
8403 fn serialize(params: &mut Params, name: &str, obj: &Vec<Tag>) {
8404 for (index, obj) in obj.iter().enumerate() {
8405 let key = format!("{}.member.{}", name, index + 1);
8406 TagSerializer::serialize(params, &key, obj);
8407 }
8408 }
8409}
8410
8411#[allow(dead_code)]
8412struct TemplateBodyDeserializer;
8413impl TemplateBodyDeserializer {
8414 #[allow(dead_code, unused_variables)]
8415 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8416 xml_util::deserialize_primitive(tag_name, stack, Ok)
8417 }
8418}
8419#[allow(dead_code)]
8420struct TemplateDescriptionDeserializer;
8421impl TemplateDescriptionDeserializer {
8422 #[allow(dead_code, unused_variables)]
8423 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8424 xml_util::deserialize_primitive(tag_name, stack, Ok)
8425 }
8426}
8427#[derive(Clone, Debug, Default, PartialEq)]
8429#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8430pub struct TemplateParameter {
8431 pub default_value: Option<String>,
8433 pub description: Option<String>,
8435 pub no_echo: Option<bool>,
8437 pub parameter_key: Option<String>,
8439}
8440
8441#[allow(dead_code)]
8442struct TemplateParameterDeserializer;
8443impl TemplateParameterDeserializer {
8444 #[allow(dead_code, unused_variables)]
8445 fn deserialize<T: Peek + Next>(
8446 tag_name: &str,
8447 stack: &mut T,
8448 ) -> Result<TemplateParameter, XmlParseError> {
8449 deserialize_elements::<_, TemplateParameter, _>(tag_name, stack, |name, stack, obj| {
8450 match name {
8451 "DefaultValue" => {
8452 obj.default_value = Some(ParameterValueDeserializer::deserialize(
8453 "DefaultValue",
8454 stack,
8455 )?);
8456 }
8457 "Description" => {
8458 obj.description =
8459 Some(DescriptionDeserializer::deserialize("Description", stack)?);
8460 }
8461 "NoEcho" => {
8462 obj.no_echo = Some(NoEchoDeserializer::deserialize("NoEcho", stack)?);
8463 }
8464 "ParameterKey" => {
8465 obj.parameter_key = Some(ParameterKeyDeserializer::deserialize(
8466 "ParameterKey",
8467 stack,
8468 )?);
8469 }
8470 _ => skip_tree(stack),
8471 }
8472 Ok(())
8473 })
8474 }
8475}
8476#[allow(dead_code)]
8477struct TemplateParametersDeserializer;
8478impl TemplateParametersDeserializer {
8479 #[allow(dead_code, unused_variables)]
8480 fn deserialize<T: Peek + Next>(
8481 tag_name: &str,
8482 stack: &mut T,
8483 ) -> Result<Vec<TemplateParameter>, XmlParseError> {
8484 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8485 if name == "member" {
8486 obj.push(TemplateParameterDeserializer::deserialize("member", stack)?);
8487 } else {
8488 skip_tree(stack);
8489 }
8490 Ok(())
8491 })
8492 }
8493}
8494#[allow(dead_code)]
8495struct TemplateStageDeserializer;
8496impl TemplateStageDeserializer {
8497 #[allow(dead_code, unused_variables)]
8498 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8499 xml_util::deserialize_primitive(tag_name, stack, Ok)
8500 }
8501}
8502#[allow(dead_code)]
8503struct TimeoutMinutesDeserializer;
8504impl TimeoutMinutesDeserializer {
8505 #[allow(dead_code, unused_variables)]
8506 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
8507 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
8508 }
8509}
8510#[allow(dead_code)]
8511struct TimestampDeserializer;
8512impl TimestampDeserializer {
8513 #[allow(dead_code, unused_variables)]
8514 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8515 xml_util::deserialize_primitive(tag_name, stack, Ok)
8516 }
8517}
8518#[allow(dead_code)]
8519struct TotalStackInstancesCountDeserializer;
8520impl TotalStackInstancesCountDeserializer {
8521 #[allow(dead_code, unused_variables)]
8522 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
8523 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
8524 }
8525}
8526#[allow(dead_code)]
8527struct TransformNameDeserializer;
8528impl TransformNameDeserializer {
8529 #[allow(dead_code, unused_variables)]
8530 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8531 xml_util::deserialize_primitive(tag_name, stack, Ok)
8532 }
8533}
8534#[allow(dead_code)]
8535struct TransformsListDeserializer;
8536impl TransformsListDeserializer {
8537 #[allow(dead_code, unused_variables)]
8538 fn deserialize<T: Peek + Next>(
8539 tag_name: &str,
8540 stack: &mut T,
8541 ) -> Result<Vec<String>, XmlParseError> {
8542 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8543 if name == "member" {
8544 obj.push(TransformNameDeserializer::deserialize("member", stack)?);
8545 } else {
8546 skip_tree(stack);
8547 }
8548 Ok(())
8549 })
8550 }
8551}
8552#[allow(dead_code)]
8553struct TypeDeserializer;
8554impl TypeDeserializer {
8555 #[allow(dead_code, unused_variables)]
8556 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8557 xml_util::deserialize_primitive(tag_name, stack, Ok)
8558 }
8559}
8560#[allow(dead_code)]
8561struct TypeArnDeserializer;
8562impl TypeArnDeserializer {
8563 #[allow(dead_code, unused_variables)]
8564 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8565 xml_util::deserialize_primitive(tag_name, stack, Ok)
8566 }
8567}
8568#[allow(dead_code)]
8569struct TypeNameDeserializer;
8570impl TypeNameDeserializer {
8571 #[allow(dead_code, unused_variables)]
8572 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8573 xml_util::deserialize_primitive(tag_name, stack, Ok)
8574 }
8575}
8576#[allow(dead_code)]
8577struct TypeSchemaDeserializer;
8578impl TypeSchemaDeserializer {
8579 #[allow(dead_code, unused_variables)]
8580 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8581 xml_util::deserialize_primitive(tag_name, stack, Ok)
8582 }
8583}
8584#[allow(dead_code)]
8585struct TypeSummariesDeserializer;
8586impl TypeSummariesDeserializer {
8587 #[allow(dead_code, unused_variables)]
8588 fn deserialize<T: Peek + Next>(
8589 tag_name: &str,
8590 stack: &mut T,
8591 ) -> Result<Vec<TypeSummary>, XmlParseError> {
8592 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8593 if name == "member" {
8594 obj.push(TypeSummaryDeserializer::deserialize("member", stack)?);
8595 } else {
8596 skip_tree(stack);
8597 }
8598 Ok(())
8599 })
8600 }
8601}
8602#[derive(Clone, Debug, Default, PartialEq)]
8604#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8605pub struct TypeSummary {
8606 pub default_version_id: Option<String>,
8608 pub description: Option<String>,
8610 pub last_updated: Option<String>,
8612 pub type_: Option<String>,
8614 pub type_arn: Option<String>,
8616 pub type_name: Option<String>,
8618}
8619
8620#[allow(dead_code)]
8621struct TypeSummaryDeserializer;
8622impl TypeSummaryDeserializer {
8623 #[allow(dead_code, unused_variables)]
8624 fn deserialize<T: Peek + Next>(
8625 tag_name: &str,
8626 stack: &mut T,
8627 ) -> Result<TypeSummary, XmlParseError> {
8628 deserialize_elements::<_, TypeSummary, _>(tag_name, stack, |name, stack, obj| {
8629 match name {
8630 "DefaultVersionId" => {
8631 obj.default_version_id = Some(TypeVersionIdDeserializer::deserialize(
8632 "DefaultVersionId",
8633 stack,
8634 )?);
8635 }
8636 "Description" => {
8637 obj.description =
8638 Some(DescriptionDeserializer::deserialize("Description", stack)?);
8639 }
8640 "LastUpdated" => {
8641 obj.last_updated =
8642 Some(TimestampDeserializer::deserialize("LastUpdated", stack)?);
8643 }
8644 "Type" => {
8645 obj.type_ = Some(RegistryTypeDeserializer::deserialize("Type", stack)?);
8646 }
8647 "TypeArn" => {
8648 obj.type_arn = Some(TypeArnDeserializer::deserialize("TypeArn", stack)?);
8649 }
8650 "TypeName" => {
8651 obj.type_name = Some(TypeNameDeserializer::deserialize("TypeName", stack)?);
8652 }
8653 _ => skip_tree(stack),
8654 }
8655 Ok(())
8656 })
8657 }
8658}
8659#[allow(dead_code)]
8660struct TypeVersionIdDeserializer;
8661impl TypeVersionIdDeserializer {
8662 #[allow(dead_code, unused_variables)]
8663 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8664 xml_util::deserialize_primitive(tag_name, stack, Ok)
8665 }
8666}
8667#[allow(dead_code)]
8668struct TypeVersionSummariesDeserializer;
8669impl TypeVersionSummariesDeserializer {
8670 #[allow(dead_code, unused_variables)]
8671 fn deserialize<T: Peek + Next>(
8672 tag_name: &str,
8673 stack: &mut T,
8674 ) -> Result<Vec<TypeVersionSummary>, XmlParseError> {
8675 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8676 if name == "member" {
8677 obj.push(TypeVersionSummaryDeserializer::deserialize(
8678 "member", stack,
8679 )?);
8680 } else {
8681 skip_tree(stack);
8682 }
8683 Ok(())
8684 })
8685 }
8686}
8687#[derive(Clone, Debug, Default, PartialEq)]
8689#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8690pub struct TypeVersionSummary {
8691 pub arn: Option<String>,
8693 pub description: Option<String>,
8695 pub is_default_version: Option<bool>,
8697 pub time_created: Option<String>,
8699 pub type_: Option<String>,
8701 pub type_name: Option<String>,
8703 pub version_id: Option<String>,
8705}
8706
8707#[allow(dead_code)]
8708struct TypeVersionSummaryDeserializer;
8709impl TypeVersionSummaryDeserializer {
8710 #[allow(dead_code, unused_variables)]
8711 fn deserialize<T: Peek + Next>(
8712 tag_name: &str,
8713 stack: &mut T,
8714 ) -> Result<TypeVersionSummary, XmlParseError> {
8715 deserialize_elements::<_, TypeVersionSummary, _>(tag_name, stack, |name, stack, obj| {
8716 match name {
8717 "Arn" => {
8718 obj.arn = Some(TypeArnDeserializer::deserialize("Arn", stack)?);
8719 }
8720 "Description" => {
8721 obj.description =
8722 Some(DescriptionDeserializer::deserialize("Description", stack)?);
8723 }
8724 "IsDefaultVersion" => {
8725 obj.is_default_version = Some(IsDefaultVersionDeserializer::deserialize(
8726 "IsDefaultVersion",
8727 stack,
8728 )?);
8729 }
8730 "TimeCreated" => {
8731 obj.time_created =
8732 Some(TimestampDeserializer::deserialize("TimeCreated", stack)?);
8733 }
8734 "Type" => {
8735 obj.type_ = Some(RegistryTypeDeserializer::deserialize("Type", stack)?);
8736 }
8737 "TypeName" => {
8738 obj.type_name = Some(TypeNameDeserializer::deserialize("TypeName", stack)?);
8739 }
8740 "VersionId" => {
8741 obj.version_id =
8742 Some(TypeVersionIdDeserializer::deserialize("VersionId", stack)?);
8743 }
8744 _ => skip_tree(stack),
8745 }
8746 Ok(())
8747 })
8748 }
8749}
8750#[derive(Clone, Debug, Default, PartialEq)]
8752#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8753pub struct UpdateStackInput {
8754 pub capabilities: Option<Vec<String>>,
8756 pub client_request_token: Option<String>,
8758 pub notification_ar_ns: Option<Vec<String>>,
8760 pub parameters: Option<Vec<Parameter>>,
8762 pub resource_types: Option<Vec<String>>,
8764 pub role_arn: Option<String>,
8766 pub rollback_configuration: Option<RollbackConfiguration>,
8768 pub stack_name: String,
8770 pub stack_policy_body: Option<String>,
8772 pub stack_policy_during_update_body: Option<String>,
8774 pub stack_policy_during_update_url: Option<String>,
8776 pub stack_policy_url: Option<String>,
8778 pub tags: Option<Vec<Tag>>,
8780 pub template_body: Option<String>,
8782 pub template_url: Option<String>,
8784 pub use_previous_template: Option<bool>,
8786}
8787
8788struct UpdateStackInputSerializer;
8790impl UpdateStackInputSerializer {
8791 fn serialize(params: &mut Params, name: &str, obj: &UpdateStackInput) {
8792 let mut prefix = name.to_string();
8793 if prefix != "" {
8794 prefix.push_str(".");
8795 }
8796
8797 if let Some(ref field_value) = obj.capabilities {
8798 CapabilitiesSerializer::serialize(
8799 params,
8800 &format!("{}{}", prefix, "Capabilities"),
8801 field_value,
8802 );
8803 }
8804 if let Some(ref field_value) = obj.client_request_token {
8805 params.put(&format!("{}{}", prefix, "ClientRequestToken"), &field_value);
8806 }
8807 if let Some(ref field_value) = obj.notification_ar_ns {
8808 NotificationARNsSerializer::serialize(
8809 params,
8810 &format!("{}{}", prefix, "NotificationARNs"),
8811 field_value,
8812 );
8813 }
8814 if let Some(ref field_value) = obj.parameters {
8815 ParametersSerializer::serialize(
8816 params,
8817 &format!("{}{}", prefix, "Parameters"),
8818 field_value,
8819 );
8820 }
8821 if let Some(ref field_value) = obj.resource_types {
8822 ResourceTypesSerializer::serialize(
8823 params,
8824 &format!("{}{}", prefix, "ResourceTypes"),
8825 field_value,
8826 );
8827 }
8828 if let Some(ref field_value) = obj.role_arn {
8829 params.put(&format!("{}{}", prefix, "RoleARN"), &field_value);
8830 }
8831 if let Some(ref field_value) = obj.rollback_configuration {
8832 RollbackConfigurationSerializer::serialize(
8833 params,
8834 &format!("{}{}", prefix, "RollbackConfiguration"),
8835 field_value,
8836 );
8837 }
8838 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
8839 if let Some(ref field_value) = obj.stack_policy_body {
8840 params.put(&format!("{}{}", prefix, "StackPolicyBody"), &field_value);
8841 }
8842 if let Some(ref field_value) = obj.stack_policy_during_update_body {
8843 params.put(
8844 &format!("{}{}", prefix, "StackPolicyDuringUpdateBody"),
8845 &field_value,
8846 );
8847 }
8848 if let Some(ref field_value) = obj.stack_policy_during_update_url {
8849 params.put(
8850 &format!("{}{}", prefix, "StackPolicyDuringUpdateURL"),
8851 &field_value,
8852 );
8853 }
8854 if let Some(ref field_value) = obj.stack_policy_url {
8855 params.put(&format!("{}{}", prefix, "StackPolicyURL"), &field_value);
8856 }
8857 if let Some(ref field_value) = obj.tags {
8858 TagsSerializer::serialize(params, &format!("{}{}", prefix, "Tags"), field_value);
8859 }
8860 if let Some(ref field_value) = obj.template_body {
8861 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
8862 }
8863 if let Some(ref field_value) = obj.template_url {
8864 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
8865 }
8866 if let Some(ref field_value) = obj.use_previous_template {
8867 params.put(
8868 &format!("{}{}", prefix, "UsePreviousTemplate"),
8869 &field_value,
8870 );
8871 }
8872 }
8873}
8874
8875#[derive(Clone, Debug, Default, PartialEq)]
8876#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8877pub struct UpdateStackInstancesInput {
8878 pub accounts: Option<Vec<String>>,
8880 pub deployment_targets: Option<DeploymentTargets>,
8882 pub operation_id: Option<String>,
8884 pub operation_preferences: Option<StackSetOperationPreferences>,
8886 pub parameter_overrides: Option<Vec<Parameter>>,
8888 pub regions: Vec<String>,
8890 pub stack_set_name: String,
8892}
8893
8894struct UpdateStackInstancesInputSerializer;
8896impl UpdateStackInstancesInputSerializer {
8897 fn serialize(params: &mut Params, name: &str, obj: &UpdateStackInstancesInput) {
8898 let mut prefix = name.to_string();
8899 if prefix != "" {
8900 prefix.push_str(".");
8901 }
8902
8903 if let Some(ref field_value) = obj.accounts {
8904 AccountListSerializer::serialize(
8905 params,
8906 &format!("{}{}", prefix, "Accounts"),
8907 field_value,
8908 );
8909 }
8910 if let Some(ref field_value) = obj.deployment_targets {
8911 DeploymentTargetsSerializer::serialize(
8912 params,
8913 &format!("{}{}", prefix, "DeploymentTargets"),
8914 field_value,
8915 );
8916 }
8917 if let Some(ref field_value) = obj.operation_id {
8918 params.put(&format!("{}{}", prefix, "OperationId"), &field_value);
8919 }
8920 if let Some(ref field_value) = obj.operation_preferences {
8921 StackSetOperationPreferencesSerializer::serialize(
8922 params,
8923 &format!("{}{}", prefix, "OperationPreferences"),
8924 field_value,
8925 );
8926 }
8927 if let Some(ref field_value) = obj.parameter_overrides {
8928 ParametersSerializer::serialize(
8929 params,
8930 &format!("{}{}", prefix, "ParameterOverrides"),
8931 field_value,
8932 );
8933 }
8934 RegionListSerializer::serialize(params, &format!("{}{}", prefix, "Regions"), &obj.regions);
8935 params.put(
8936 &format!("{}{}", prefix, "StackSetName"),
8937 &obj.stack_set_name,
8938 );
8939 }
8940}
8941
8942#[derive(Clone, Debug, Default, PartialEq)]
8943#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8944pub struct UpdateStackInstancesOutput {
8945 pub operation_id: Option<String>,
8947}
8948
8949#[allow(dead_code)]
8950struct UpdateStackInstancesOutputDeserializer;
8951impl UpdateStackInstancesOutputDeserializer {
8952 #[allow(dead_code, unused_variables)]
8953 fn deserialize<T: Peek + Next>(
8954 tag_name: &str,
8955 stack: &mut T,
8956 ) -> Result<UpdateStackInstancesOutput, XmlParseError> {
8957 deserialize_elements::<_, UpdateStackInstancesOutput, _>(
8958 tag_name,
8959 stack,
8960 |name, stack, obj| {
8961 match name {
8962 "OperationId" => {
8963 obj.operation_id = Some(ClientRequestTokenDeserializer::deserialize(
8964 "OperationId",
8965 stack,
8966 )?);
8967 }
8968 _ => skip_tree(stack),
8969 }
8970 Ok(())
8971 },
8972 )
8973 }
8974}
8975#[derive(Clone, Debug, Default, PartialEq)]
8977#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8978pub struct UpdateStackOutput {
8979 pub stack_id: Option<String>,
8981}
8982
8983#[allow(dead_code)]
8984struct UpdateStackOutputDeserializer;
8985impl UpdateStackOutputDeserializer {
8986 #[allow(dead_code, unused_variables)]
8987 fn deserialize<T: Peek + Next>(
8988 tag_name: &str,
8989 stack: &mut T,
8990 ) -> Result<UpdateStackOutput, XmlParseError> {
8991 deserialize_elements::<_, UpdateStackOutput, _>(tag_name, stack, |name, stack, obj| {
8992 match name {
8993 "StackId" => {
8994 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
8995 }
8996 _ => skip_tree(stack),
8997 }
8998 Ok(())
8999 })
9000 }
9001}
9002#[derive(Clone, Debug, Default, PartialEq)]
9003#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
9004pub struct UpdateStackSetInput {
9005 pub accounts: Option<Vec<String>>,
9007 pub administration_role_arn: Option<String>,
9009 pub auto_deployment: Option<AutoDeployment>,
9011 pub capabilities: Option<Vec<String>>,
9013 pub deployment_targets: Option<DeploymentTargets>,
9015 pub description: Option<String>,
9017 pub execution_role_name: Option<String>,
9019 pub operation_id: Option<String>,
9021 pub operation_preferences: Option<StackSetOperationPreferences>,
9023 pub parameters: Option<Vec<Parameter>>,
9025 pub permission_model: Option<String>,
9027 pub regions: Option<Vec<String>>,
9029 pub stack_set_name: String,
9031 pub tags: Option<Vec<Tag>>,
9033 pub template_body: Option<String>,
9035 pub template_url: Option<String>,
9037 pub use_previous_template: Option<bool>,
9039}
9040
9041struct UpdateStackSetInputSerializer;
9043impl UpdateStackSetInputSerializer {
9044 fn serialize(params: &mut Params, name: &str, obj: &UpdateStackSetInput) {
9045 let mut prefix = name.to_string();
9046 if prefix != "" {
9047 prefix.push_str(".");
9048 }
9049
9050 if let Some(ref field_value) = obj.accounts {
9051 AccountListSerializer::serialize(
9052 params,
9053 &format!("{}{}", prefix, "Accounts"),
9054 field_value,
9055 );
9056 }
9057 if let Some(ref field_value) = obj.administration_role_arn {
9058 params.put(
9059 &format!("{}{}", prefix, "AdministrationRoleARN"),
9060 &field_value,
9061 );
9062 }
9063 if let Some(ref field_value) = obj.auto_deployment {
9064 AutoDeploymentSerializer::serialize(
9065 params,
9066 &format!("{}{}", prefix, "AutoDeployment"),
9067 field_value,
9068 );
9069 }
9070 if let Some(ref field_value) = obj.capabilities {
9071 CapabilitiesSerializer::serialize(
9072 params,
9073 &format!("{}{}", prefix, "Capabilities"),
9074 field_value,
9075 );
9076 }
9077 if let Some(ref field_value) = obj.deployment_targets {
9078 DeploymentTargetsSerializer::serialize(
9079 params,
9080 &format!("{}{}", prefix, "DeploymentTargets"),
9081 field_value,
9082 );
9083 }
9084 if let Some(ref field_value) = obj.description {
9085 params.put(&format!("{}{}", prefix, "Description"), &field_value);
9086 }
9087 if let Some(ref field_value) = obj.execution_role_name {
9088 params.put(&format!("{}{}", prefix, "ExecutionRoleName"), &field_value);
9089 }
9090 if let Some(ref field_value) = obj.operation_id {
9091 params.put(&format!("{}{}", prefix, "OperationId"), &field_value);
9092 }
9093 if let Some(ref field_value) = obj.operation_preferences {
9094 StackSetOperationPreferencesSerializer::serialize(
9095 params,
9096 &format!("{}{}", prefix, "OperationPreferences"),
9097 field_value,
9098 );
9099 }
9100 if let Some(ref field_value) = obj.parameters {
9101 ParametersSerializer::serialize(
9102 params,
9103 &format!("{}{}", prefix, "Parameters"),
9104 field_value,
9105 );
9106 }
9107 if let Some(ref field_value) = obj.permission_model {
9108 params.put(&format!("{}{}", prefix, "PermissionModel"), &field_value);
9109 }
9110 if let Some(ref field_value) = obj.regions {
9111 RegionListSerializer::serialize(
9112 params,
9113 &format!("{}{}", prefix, "Regions"),
9114 field_value,
9115 );
9116 }
9117 params.put(
9118 &format!("{}{}", prefix, "StackSetName"),
9119 &obj.stack_set_name,
9120 );
9121 if let Some(ref field_value) = obj.tags {
9122 TagsSerializer::serialize(params, &format!("{}{}", prefix, "Tags"), field_value);
9123 }
9124 if let Some(ref field_value) = obj.template_body {
9125 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
9126 }
9127 if let Some(ref field_value) = obj.template_url {
9128 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
9129 }
9130 if let Some(ref field_value) = obj.use_previous_template {
9131 params.put(
9132 &format!("{}{}", prefix, "UsePreviousTemplate"),
9133 &field_value,
9134 );
9135 }
9136 }
9137}
9138
9139#[derive(Clone, Debug, Default, PartialEq)]
9140#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
9141pub struct UpdateStackSetOutput {
9142 pub operation_id: Option<String>,
9144}
9145
9146#[allow(dead_code)]
9147struct UpdateStackSetOutputDeserializer;
9148impl UpdateStackSetOutputDeserializer {
9149 #[allow(dead_code, unused_variables)]
9150 fn deserialize<T: Peek + Next>(
9151 tag_name: &str,
9152 stack: &mut T,
9153 ) -> Result<UpdateStackSetOutput, XmlParseError> {
9154 deserialize_elements::<_, UpdateStackSetOutput, _>(tag_name, stack, |name, stack, obj| {
9155 match name {
9156 "OperationId" => {
9157 obj.operation_id = Some(ClientRequestTokenDeserializer::deserialize(
9158 "OperationId",
9159 stack,
9160 )?);
9161 }
9162 _ => skip_tree(stack),
9163 }
9164 Ok(())
9165 })
9166 }
9167}
9168#[derive(Clone, Debug, Default, PartialEq)]
9169#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
9170pub struct UpdateTerminationProtectionInput {
9171 pub enable_termination_protection: bool,
9173 pub stack_name: String,
9175}
9176
9177struct UpdateTerminationProtectionInputSerializer;
9179impl UpdateTerminationProtectionInputSerializer {
9180 fn serialize(params: &mut Params, name: &str, obj: &UpdateTerminationProtectionInput) {
9181 let mut prefix = name.to_string();
9182 if prefix != "" {
9183 prefix.push_str(".");
9184 }
9185
9186 params.put(
9187 &format!("{}{}", prefix, "EnableTerminationProtection"),
9188 &obj.enable_termination_protection,
9189 );
9190 params.put(&format!("{}{}", prefix, "StackName"), &obj.stack_name);
9191 }
9192}
9193
9194#[derive(Clone, Debug, Default, PartialEq)]
9195#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
9196pub struct UpdateTerminationProtectionOutput {
9197 pub stack_id: Option<String>,
9199}
9200
9201#[allow(dead_code)]
9202struct UpdateTerminationProtectionOutputDeserializer;
9203impl UpdateTerminationProtectionOutputDeserializer {
9204 #[allow(dead_code, unused_variables)]
9205 fn deserialize<T: Peek + Next>(
9206 tag_name: &str,
9207 stack: &mut T,
9208 ) -> Result<UpdateTerminationProtectionOutput, XmlParseError> {
9209 deserialize_elements::<_, UpdateTerminationProtectionOutput, _>(
9210 tag_name,
9211 stack,
9212 |name, stack, obj| {
9213 match name {
9214 "StackId" => {
9215 obj.stack_id = Some(StackIdDeserializer::deserialize("StackId", stack)?);
9216 }
9217 _ => skip_tree(stack),
9218 }
9219 Ok(())
9220 },
9221 )
9222 }
9223}
9224#[allow(dead_code)]
9225struct UrlDeserializer;
9226impl UrlDeserializer {
9227 #[allow(dead_code, unused_variables)]
9228 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
9229 xml_util::deserialize_primitive(tag_name, stack, Ok)
9230 }
9231}
9232#[allow(dead_code)]
9233struct UsePreviousValueDeserializer;
9234impl UsePreviousValueDeserializer {
9235 #[allow(dead_code, unused_variables)]
9236 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
9237 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
9238 }
9239}
9240#[derive(Clone, Debug, Default, PartialEq)]
9242#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
9243pub struct ValidateTemplateInput {
9244 pub template_body: Option<String>,
9246 pub template_url: Option<String>,
9248}
9249
9250struct ValidateTemplateInputSerializer;
9252impl ValidateTemplateInputSerializer {
9253 fn serialize(params: &mut Params, name: &str, obj: &ValidateTemplateInput) {
9254 let mut prefix = name.to_string();
9255 if prefix != "" {
9256 prefix.push_str(".");
9257 }
9258
9259 if let Some(ref field_value) = obj.template_body {
9260 params.put(&format!("{}{}", prefix, "TemplateBody"), &field_value);
9261 }
9262 if let Some(ref field_value) = obj.template_url {
9263 params.put(&format!("{}{}", prefix, "TemplateURL"), &field_value);
9264 }
9265 }
9266}
9267
9268#[derive(Clone, Debug, Default, PartialEq)]
9270#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
9271pub struct ValidateTemplateOutput {
9272 pub capabilities: Option<Vec<String>>,
9274 pub capabilities_reason: Option<String>,
9276 pub declared_transforms: Option<Vec<String>>,
9278 pub description: Option<String>,
9280 pub parameters: Option<Vec<TemplateParameter>>,
9282}
9283
9284#[allow(dead_code)]
9285struct ValidateTemplateOutputDeserializer;
9286impl ValidateTemplateOutputDeserializer {
9287 #[allow(dead_code, unused_variables)]
9288 fn deserialize<T: Peek + Next>(
9289 tag_name: &str,
9290 stack: &mut T,
9291 ) -> Result<ValidateTemplateOutput, XmlParseError> {
9292 deserialize_elements::<_, ValidateTemplateOutput, _>(tag_name, stack, |name, stack, obj| {
9293 match name {
9294 "Capabilities" => {
9295 obj.capabilities.get_or_insert(vec![]).extend(
9296 CapabilitiesDeserializer::deserialize("Capabilities", stack)?,
9297 );
9298 }
9299 "CapabilitiesReason" => {
9300 obj.capabilities_reason = Some(CapabilitiesReasonDeserializer::deserialize(
9301 "CapabilitiesReason",
9302 stack,
9303 )?);
9304 }
9305 "DeclaredTransforms" => {
9306 obj.declared_transforms.get_or_insert(vec![]).extend(
9307 TransformsListDeserializer::deserialize("DeclaredTransforms", stack)?,
9308 );
9309 }
9310 "Description" => {
9311 obj.description =
9312 Some(DescriptionDeserializer::deserialize("Description", stack)?);
9313 }
9314 "Parameters" => {
9315 obj.parameters.get_or_insert(vec![]).extend(
9316 TemplateParametersDeserializer::deserialize("Parameters", stack)?,
9317 );
9318 }
9319 _ => skip_tree(stack),
9320 }
9321 Ok(())
9322 })
9323 }
9324}
9325#[allow(dead_code)]
9326struct ValueDeserializer;
9327impl ValueDeserializer {
9328 #[allow(dead_code, unused_variables)]
9329 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
9330 xml_util::deserialize_primitive(tag_name, stack, Ok)
9331 }
9332}
9333#[allow(dead_code)]
9334struct VersionDeserializer;
9335impl VersionDeserializer {
9336 #[allow(dead_code, unused_variables)]
9337 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
9338 xml_util::deserialize_primitive(tag_name, stack, Ok)
9339 }
9340}
9341#[allow(dead_code)]
9342struct VisibilityDeserializer;
9343impl VisibilityDeserializer {
9344 #[allow(dead_code, unused_variables)]
9345 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
9346 xml_util::deserialize_primitive(tag_name, stack, Ok)
9347 }
9348}
9349#[derive(Debug, PartialEq)]
9351pub enum CancelUpdateStackError {
9352 TokenAlreadyExists(String),
9354}
9355
9356impl CancelUpdateStackError {
9357 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CancelUpdateStackError> {
9358 {
9359 let reader = EventReader::new(res.body.as_ref());
9360 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9361 find_start_element(&mut stack);
9362 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9363 match &parsed_error.code[..] {
9364 "TokenAlreadyExistsException" => {
9365 return RusotoError::Service(CancelUpdateStackError::TokenAlreadyExists(
9366 parsed_error.message,
9367 ))
9368 }
9369 _ => {}
9370 }
9371 }
9372 }
9373 RusotoError::Unknown(res)
9374 }
9375
9376 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9377 where
9378 T: Peek + Next,
9379 {
9380 xml_util::start_element("ErrorResponse", stack)?;
9381 XmlErrorDeserializer::deserialize("Error", stack)
9382 }
9383}
9384impl fmt::Display for CancelUpdateStackError {
9385 #[allow(unused_variables)]
9386 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9387 match *self {
9388 CancelUpdateStackError::TokenAlreadyExists(ref cause) => write!(f, "{}", cause),
9389 }
9390 }
9391}
9392impl Error for CancelUpdateStackError {}
9393#[derive(Debug, PartialEq)]
9395pub enum ContinueUpdateRollbackError {
9396 TokenAlreadyExists(String),
9398}
9399
9400impl ContinueUpdateRollbackError {
9401 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ContinueUpdateRollbackError> {
9402 {
9403 let reader = EventReader::new(res.body.as_ref());
9404 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9405 find_start_element(&mut stack);
9406 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9407 match &parsed_error.code[..] {
9408 "TokenAlreadyExistsException" => {
9409 return RusotoError::Service(
9410 ContinueUpdateRollbackError::TokenAlreadyExists(parsed_error.message),
9411 )
9412 }
9413 _ => {}
9414 }
9415 }
9416 }
9417 RusotoError::Unknown(res)
9418 }
9419
9420 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9421 where
9422 T: Peek + Next,
9423 {
9424 xml_util::start_element("ErrorResponse", stack)?;
9425 XmlErrorDeserializer::deserialize("Error", stack)
9426 }
9427}
9428impl fmt::Display for ContinueUpdateRollbackError {
9429 #[allow(unused_variables)]
9430 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9431 match *self {
9432 ContinueUpdateRollbackError::TokenAlreadyExists(ref cause) => write!(f, "{}", cause),
9433 }
9434 }
9435}
9436impl Error for ContinueUpdateRollbackError {}
9437#[derive(Debug, PartialEq)]
9439pub enum CreateChangeSetError {
9440 AlreadyExists(String),
9442 InsufficientCapabilities(String),
9444 LimitExceeded(String),
9446}
9447
9448impl CreateChangeSetError {
9449 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateChangeSetError> {
9450 {
9451 let reader = EventReader::new(res.body.as_ref());
9452 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9453 find_start_element(&mut stack);
9454 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9455 match &parsed_error.code[..] {
9456 "AlreadyExistsException" => {
9457 return RusotoError::Service(CreateChangeSetError::AlreadyExists(
9458 parsed_error.message,
9459 ))
9460 }
9461 "InsufficientCapabilitiesException" => {
9462 return RusotoError::Service(
9463 CreateChangeSetError::InsufficientCapabilities(parsed_error.message),
9464 )
9465 }
9466 "LimitExceededException" => {
9467 return RusotoError::Service(CreateChangeSetError::LimitExceeded(
9468 parsed_error.message,
9469 ))
9470 }
9471 _ => {}
9472 }
9473 }
9474 }
9475 RusotoError::Unknown(res)
9476 }
9477
9478 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9479 where
9480 T: Peek + Next,
9481 {
9482 xml_util::start_element("ErrorResponse", stack)?;
9483 XmlErrorDeserializer::deserialize("Error", stack)
9484 }
9485}
9486impl fmt::Display for CreateChangeSetError {
9487 #[allow(unused_variables)]
9488 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9489 match *self {
9490 CreateChangeSetError::AlreadyExists(ref cause) => write!(f, "{}", cause),
9491 CreateChangeSetError::InsufficientCapabilities(ref cause) => write!(f, "{}", cause),
9492 CreateChangeSetError::LimitExceeded(ref cause) => write!(f, "{}", cause),
9493 }
9494 }
9495}
9496impl Error for CreateChangeSetError {}
9497#[derive(Debug, PartialEq)]
9499pub enum CreateStackError {
9500 AlreadyExists(String),
9502 InsufficientCapabilities(String),
9504 LimitExceeded(String),
9506 TokenAlreadyExists(String),
9508}
9509
9510impl CreateStackError {
9511 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateStackError> {
9512 {
9513 let reader = EventReader::new(res.body.as_ref());
9514 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9515 find_start_element(&mut stack);
9516 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9517 match &parsed_error.code[..] {
9518 "AlreadyExistsException" => {
9519 return RusotoError::Service(CreateStackError::AlreadyExists(
9520 parsed_error.message,
9521 ))
9522 }
9523 "InsufficientCapabilitiesException" => {
9524 return RusotoError::Service(CreateStackError::InsufficientCapabilities(
9525 parsed_error.message,
9526 ))
9527 }
9528 "LimitExceededException" => {
9529 return RusotoError::Service(CreateStackError::LimitExceeded(
9530 parsed_error.message,
9531 ))
9532 }
9533 "TokenAlreadyExistsException" => {
9534 return RusotoError::Service(CreateStackError::TokenAlreadyExists(
9535 parsed_error.message,
9536 ))
9537 }
9538 _ => {}
9539 }
9540 }
9541 }
9542 RusotoError::Unknown(res)
9543 }
9544
9545 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9546 where
9547 T: Peek + Next,
9548 {
9549 xml_util::start_element("ErrorResponse", stack)?;
9550 XmlErrorDeserializer::deserialize("Error", stack)
9551 }
9552}
9553impl fmt::Display for CreateStackError {
9554 #[allow(unused_variables)]
9555 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9556 match *self {
9557 CreateStackError::AlreadyExists(ref cause) => write!(f, "{}", cause),
9558 CreateStackError::InsufficientCapabilities(ref cause) => write!(f, "{}", cause),
9559 CreateStackError::LimitExceeded(ref cause) => write!(f, "{}", cause),
9560 CreateStackError::TokenAlreadyExists(ref cause) => write!(f, "{}", cause),
9561 }
9562 }
9563}
9564impl Error for CreateStackError {}
9565#[derive(Debug, PartialEq)]
9567pub enum CreateStackInstancesError {
9568 InvalidOperation(String),
9570 LimitExceeded(String),
9572 OperationIdAlreadyExists(String),
9574 OperationInProgress(String),
9576 StackSetNotFound(String),
9578 StaleRequest(String),
9580}
9581
9582impl CreateStackInstancesError {
9583 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateStackInstancesError> {
9584 {
9585 let reader = EventReader::new(res.body.as_ref());
9586 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9587 find_start_element(&mut stack);
9588 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9589 match &parsed_error.code[..] {
9590 "InvalidOperationException" => {
9591 return RusotoError::Service(CreateStackInstancesError::InvalidOperation(
9592 parsed_error.message,
9593 ))
9594 }
9595 "LimitExceededException" => {
9596 return RusotoError::Service(CreateStackInstancesError::LimitExceeded(
9597 parsed_error.message,
9598 ))
9599 }
9600 "OperationIdAlreadyExistsException" => {
9601 return RusotoError::Service(
9602 CreateStackInstancesError::OperationIdAlreadyExists(
9603 parsed_error.message,
9604 ),
9605 )
9606 }
9607 "OperationInProgressException" => {
9608 return RusotoError::Service(
9609 CreateStackInstancesError::OperationInProgress(parsed_error.message),
9610 )
9611 }
9612 "StackSetNotFoundException" => {
9613 return RusotoError::Service(CreateStackInstancesError::StackSetNotFound(
9614 parsed_error.message,
9615 ))
9616 }
9617 "StaleRequestException" => {
9618 return RusotoError::Service(CreateStackInstancesError::StaleRequest(
9619 parsed_error.message,
9620 ))
9621 }
9622 _ => {}
9623 }
9624 }
9625 }
9626 RusotoError::Unknown(res)
9627 }
9628
9629 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9630 where
9631 T: Peek + Next,
9632 {
9633 xml_util::start_element("ErrorResponse", stack)?;
9634 XmlErrorDeserializer::deserialize("Error", stack)
9635 }
9636}
9637impl fmt::Display for CreateStackInstancesError {
9638 #[allow(unused_variables)]
9639 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9640 match *self {
9641 CreateStackInstancesError::InvalidOperation(ref cause) => write!(f, "{}", cause),
9642 CreateStackInstancesError::LimitExceeded(ref cause) => write!(f, "{}", cause),
9643 CreateStackInstancesError::OperationIdAlreadyExists(ref cause) => {
9644 write!(f, "{}", cause)
9645 }
9646 CreateStackInstancesError::OperationInProgress(ref cause) => write!(f, "{}", cause),
9647 CreateStackInstancesError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
9648 CreateStackInstancesError::StaleRequest(ref cause) => write!(f, "{}", cause),
9649 }
9650 }
9651}
9652impl Error for CreateStackInstancesError {}
9653#[derive(Debug, PartialEq)]
9655pub enum CreateStackSetError {
9656 CreatedButModified(String),
9658 LimitExceeded(String),
9660 NameAlreadyExists(String),
9662}
9663
9664impl CreateStackSetError {
9665 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateStackSetError> {
9666 {
9667 let reader = EventReader::new(res.body.as_ref());
9668 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9669 find_start_element(&mut stack);
9670 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9671 match &parsed_error.code[..] {
9672 "CreatedButModifiedException" => {
9673 return RusotoError::Service(CreateStackSetError::CreatedButModified(
9674 parsed_error.message,
9675 ))
9676 }
9677 "LimitExceededException" => {
9678 return RusotoError::Service(CreateStackSetError::LimitExceeded(
9679 parsed_error.message,
9680 ))
9681 }
9682 "NameAlreadyExistsException" => {
9683 return RusotoError::Service(CreateStackSetError::NameAlreadyExists(
9684 parsed_error.message,
9685 ))
9686 }
9687 _ => {}
9688 }
9689 }
9690 }
9691 RusotoError::Unknown(res)
9692 }
9693
9694 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9695 where
9696 T: Peek + Next,
9697 {
9698 xml_util::start_element("ErrorResponse", stack)?;
9699 XmlErrorDeserializer::deserialize("Error", stack)
9700 }
9701}
9702impl fmt::Display for CreateStackSetError {
9703 #[allow(unused_variables)]
9704 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9705 match *self {
9706 CreateStackSetError::CreatedButModified(ref cause) => write!(f, "{}", cause),
9707 CreateStackSetError::LimitExceeded(ref cause) => write!(f, "{}", cause),
9708 CreateStackSetError::NameAlreadyExists(ref cause) => write!(f, "{}", cause),
9709 }
9710 }
9711}
9712impl Error for CreateStackSetError {}
9713#[derive(Debug, PartialEq)]
9715pub enum DeleteChangeSetError {
9716 InvalidChangeSetStatus(String),
9718}
9719
9720impl DeleteChangeSetError {
9721 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteChangeSetError> {
9722 {
9723 let reader = EventReader::new(res.body.as_ref());
9724 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9725 find_start_element(&mut stack);
9726 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9727 match &parsed_error.code[..] {
9728 "InvalidChangeSetStatus" => {
9729 return RusotoError::Service(DeleteChangeSetError::InvalidChangeSetStatus(
9730 parsed_error.message,
9731 ))
9732 }
9733 _ => {}
9734 }
9735 }
9736 }
9737 RusotoError::Unknown(res)
9738 }
9739
9740 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9741 where
9742 T: Peek + Next,
9743 {
9744 xml_util::start_element("ErrorResponse", stack)?;
9745 XmlErrorDeserializer::deserialize("Error", stack)
9746 }
9747}
9748impl fmt::Display for DeleteChangeSetError {
9749 #[allow(unused_variables)]
9750 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9751 match *self {
9752 DeleteChangeSetError::InvalidChangeSetStatus(ref cause) => write!(f, "{}", cause),
9753 }
9754 }
9755}
9756impl Error for DeleteChangeSetError {}
9757#[derive(Debug, PartialEq)]
9759pub enum DeleteStackError {
9760 TokenAlreadyExists(String),
9762}
9763
9764impl DeleteStackError {
9765 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteStackError> {
9766 {
9767 let reader = EventReader::new(res.body.as_ref());
9768 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9769 find_start_element(&mut stack);
9770 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9771 match &parsed_error.code[..] {
9772 "TokenAlreadyExistsException" => {
9773 return RusotoError::Service(DeleteStackError::TokenAlreadyExists(
9774 parsed_error.message,
9775 ))
9776 }
9777 _ => {}
9778 }
9779 }
9780 }
9781 RusotoError::Unknown(res)
9782 }
9783
9784 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9785 where
9786 T: Peek + Next,
9787 {
9788 xml_util::start_element("ErrorResponse", stack)?;
9789 XmlErrorDeserializer::deserialize("Error", stack)
9790 }
9791}
9792impl fmt::Display for DeleteStackError {
9793 #[allow(unused_variables)]
9794 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9795 match *self {
9796 DeleteStackError::TokenAlreadyExists(ref cause) => write!(f, "{}", cause),
9797 }
9798 }
9799}
9800impl Error for DeleteStackError {}
9801#[derive(Debug, PartialEq)]
9803pub enum DeleteStackInstancesError {
9804 InvalidOperation(String),
9806 OperationIdAlreadyExists(String),
9808 OperationInProgress(String),
9810 StackSetNotFound(String),
9812 StaleRequest(String),
9814}
9815
9816impl DeleteStackInstancesError {
9817 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteStackInstancesError> {
9818 {
9819 let reader = EventReader::new(res.body.as_ref());
9820 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9821 find_start_element(&mut stack);
9822 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9823 match &parsed_error.code[..] {
9824 "InvalidOperationException" => {
9825 return RusotoError::Service(DeleteStackInstancesError::InvalidOperation(
9826 parsed_error.message,
9827 ))
9828 }
9829 "OperationIdAlreadyExistsException" => {
9830 return RusotoError::Service(
9831 DeleteStackInstancesError::OperationIdAlreadyExists(
9832 parsed_error.message,
9833 ),
9834 )
9835 }
9836 "OperationInProgressException" => {
9837 return RusotoError::Service(
9838 DeleteStackInstancesError::OperationInProgress(parsed_error.message),
9839 )
9840 }
9841 "StackSetNotFoundException" => {
9842 return RusotoError::Service(DeleteStackInstancesError::StackSetNotFound(
9843 parsed_error.message,
9844 ))
9845 }
9846 "StaleRequestException" => {
9847 return RusotoError::Service(DeleteStackInstancesError::StaleRequest(
9848 parsed_error.message,
9849 ))
9850 }
9851 _ => {}
9852 }
9853 }
9854 }
9855 RusotoError::Unknown(res)
9856 }
9857
9858 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9859 where
9860 T: Peek + Next,
9861 {
9862 xml_util::start_element("ErrorResponse", stack)?;
9863 XmlErrorDeserializer::deserialize("Error", stack)
9864 }
9865}
9866impl fmt::Display for DeleteStackInstancesError {
9867 #[allow(unused_variables)]
9868 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9869 match *self {
9870 DeleteStackInstancesError::InvalidOperation(ref cause) => write!(f, "{}", cause),
9871 DeleteStackInstancesError::OperationIdAlreadyExists(ref cause) => {
9872 write!(f, "{}", cause)
9873 }
9874 DeleteStackInstancesError::OperationInProgress(ref cause) => write!(f, "{}", cause),
9875 DeleteStackInstancesError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
9876 DeleteStackInstancesError::StaleRequest(ref cause) => write!(f, "{}", cause),
9877 }
9878 }
9879}
9880impl Error for DeleteStackInstancesError {}
9881#[derive(Debug, PartialEq)]
9883pub enum DeleteStackSetError {
9884 OperationInProgress(String),
9886 StackSetNotEmpty(String),
9888}
9889
9890impl DeleteStackSetError {
9891 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteStackSetError> {
9892 {
9893 let reader = EventReader::new(res.body.as_ref());
9894 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9895 find_start_element(&mut stack);
9896 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9897 match &parsed_error.code[..] {
9898 "OperationInProgressException" => {
9899 return RusotoError::Service(DeleteStackSetError::OperationInProgress(
9900 parsed_error.message,
9901 ))
9902 }
9903 "StackSetNotEmptyException" => {
9904 return RusotoError::Service(DeleteStackSetError::StackSetNotEmpty(
9905 parsed_error.message,
9906 ))
9907 }
9908 _ => {}
9909 }
9910 }
9911 }
9912 RusotoError::Unknown(res)
9913 }
9914
9915 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9916 where
9917 T: Peek + Next,
9918 {
9919 xml_util::start_element("ErrorResponse", stack)?;
9920 XmlErrorDeserializer::deserialize("Error", stack)
9921 }
9922}
9923impl fmt::Display for DeleteStackSetError {
9924 #[allow(unused_variables)]
9925 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9926 match *self {
9927 DeleteStackSetError::OperationInProgress(ref cause) => write!(f, "{}", cause),
9928 DeleteStackSetError::StackSetNotEmpty(ref cause) => write!(f, "{}", cause),
9929 }
9930 }
9931}
9932impl Error for DeleteStackSetError {}
9933#[derive(Debug, PartialEq)]
9935pub enum DeregisterTypeError {
9936 CFNRegistry(String),
9938 TypeNotFound(String),
9940}
9941
9942impl DeregisterTypeError {
9943 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeregisterTypeError> {
9944 {
9945 let reader = EventReader::new(res.body.as_ref());
9946 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9947 find_start_element(&mut stack);
9948 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9949 match &parsed_error.code[..] {
9950 "CFNRegistryException" => {
9951 return RusotoError::Service(DeregisterTypeError::CFNRegistry(
9952 parsed_error.message,
9953 ))
9954 }
9955 "TypeNotFoundException" => {
9956 return RusotoError::Service(DeregisterTypeError::TypeNotFound(
9957 parsed_error.message,
9958 ))
9959 }
9960 _ => {}
9961 }
9962 }
9963 }
9964 RusotoError::Unknown(res)
9965 }
9966
9967 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9968 where
9969 T: Peek + Next,
9970 {
9971 xml_util::start_element("ErrorResponse", stack)?;
9972 XmlErrorDeserializer::deserialize("Error", stack)
9973 }
9974}
9975impl fmt::Display for DeregisterTypeError {
9976 #[allow(unused_variables)]
9977 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9978 match *self {
9979 DeregisterTypeError::CFNRegistry(ref cause) => write!(f, "{}", cause),
9980 DeregisterTypeError::TypeNotFound(ref cause) => write!(f, "{}", cause),
9981 }
9982 }
9983}
9984impl Error for DeregisterTypeError {}
9985#[derive(Debug, PartialEq)]
9987pub enum DescribeAccountLimitsError {}
9988
9989impl DescribeAccountLimitsError {
9990 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeAccountLimitsError> {
9991 {
9992 let reader = EventReader::new(res.body.as_ref());
9993 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9994 find_start_element(&mut stack);
9995 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9996 match &parsed_error.code[..] {
9997 _ => {}
9998 }
9999 }
10000 }
10001 RusotoError::Unknown(res)
10002 }
10003
10004 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10005 where
10006 T: Peek + Next,
10007 {
10008 xml_util::start_element("ErrorResponse", stack)?;
10009 XmlErrorDeserializer::deserialize("Error", stack)
10010 }
10011}
10012impl fmt::Display for DescribeAccountLimitsError {
10013 #[allow(unused_variables)]
10014 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10015 match *self {}
10016 }
10017}
10018impl Error for DescribeAccountLimitsError {}
10019#[derive(Debug, PartialEq)]
10021pub enum DescribeChangeSetError {
10022 ChangeSetNotFound(String),
10024}
10025
10026impl DescribeChangeSetError {
10027 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeChangeSetError> {
10028 {
10029 let reader = EventReader::new(res.body.as_ref());
10030 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10031 find_start_element(&mut stack);
10032 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10033 match &parsed_error.code[..] {
10034 "ChangeSetNotFound" => {
10035 return RusotoError::Service(DescribeChangeSetError::ChangeSetNotFound(
10036 parsed_error.message,
10037 ))
10038 }
10039 _ => {}
10040 }
10041 }
10042 }
10043 RusotoError::Unknown(res)
10044 }
10045
10046 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10047 where
10048 T: Peek + Next,
10049 {
10050 xml_util::start_element("ErrorResponse", stack)?;
10051 XmlErrorDeserializer::deserialize("Error", stack)
10052 }
10053}
10054impl fmt::Display for DescribeChangeSetError {
10055 #[allow(unused_variables)]
10056 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10057 match *self {
10058 DescribeChangeSetError::ChangeSetNotFound(ref cause) => write!(f, "{}", cause),
10059 }
10060 }
10061}
10062impl Error for DescribeChangeSetError {}
10063#[derive(Debug, PartialEq)]
10065pub enum DescribeStackDriftDetectionStatusError {}
10066
10067impl DescribeStackDriftDetectionStatusError {
10068 pub fn from_response(
10069 res: BufferedHttpResponse,
10070 ) -> RusotoError<DescribeStackDriftDetectionStatusError> {
10071 {
10072 let reader = EventReader::new(res.body.as_ref());
10073 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10074 find_start_element(&mut stack);
10075 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10076 match &parsed_error.code[..] {
10077 _ => {}
10078 }
10079 }
10080 }
10081 RusotoError::Unknown(res)
10082 }
10083
10084 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10085 where
10086 T: Peek + Next,
10087 {
10088 xml_util::start_element("ErrorResponse", stack)?;
10089 XmlErrorDeserializer::deserialize("Error", stack)
10090 }
10091}
10092impl fmt::Display for DescribeStackDriftDetectionStatusError {
10093 #[allow(unused_variables)]
10094 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10095 match *self {}
10096 }
10097}
10098impl Error for DescribeStackDriftDetectionStatusError {}
10099#[derive(Debug, PartialEq)]
10101pub enum DescribeStackEventsError {}
10102
10103impl DescribeStackEventsError {
10104 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeStackEventsError> {
10105 {
10106 let reader = EventReader::new(res.body.as_ref());
10107 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10108 find_start_element(&mut stack);
10109 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10110 match &parsed_error.code[..] {
10111 _ => {}
10112 }
10113 }
10114 }
10115 RusotoError::Unknown(res)
10116 }
10117
10118 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10119 where
10120 T: Peek + Next,
10121 {
10122 xml_util::start_element("ErrorResponse", stack)?;
10123 XmlErrorDeserializer::deserialize("Error", stack)
10124 }
10125}
10126impl fmt::Display for DescribeStackEventsError {
10127 #[allow(unused_variables)]
10128 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10129 match *self {}
10130 }
10131}
10132impl Error for DescribeStackEventsError {}
10133#[derive(Debug, PartialEq)]
10135pub enum DescribeStackInstanceError {
10136 StackInstanceNotFound(String),
10138 StackSetNotFound(String),
10140}
10141
10142impl DescribeStackInstanceError {
10143 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeStackInstanceError> {
10144 {
10145 let reader = EventReader::new(res.body.as_ref());
10146 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10147 find_start_element(&mut stack);
10148 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10149 match &parsed_error.code[..] {
10150 "StackInstanceNotFoundException" => {
10151 return RusotoError::Service(
10152 DescribeStackInstanceError::StackInstanceNotFound(parsed_error.message),
10153 )
10154 }
10155 "StackSetNotFoundException" => {
10156 return RusotoError::Service(DescribeStackInstanceError::StackSetNotFound(
10157 parsed_error.message,
10158 ))
10159 }
10160 _ => {}
10161 }
10162 }
10163 }
10164 RusotoError::Unknown(res)
10165 }
10166
10167 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10168 where
10169 T: Peek + Next,
10170 {
10171 xml_util::start_element("ErrorResponse", stack)?;
10172 XmlErrorDeserializer::deserialize("Error", stack)
10173 }
10174}
10175impl fmt::Display for DescribeStackInstanceError {
10176 #[allow(unused_variables)]
10177 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10178 match *self {
10179 DescribeStackInstanceError::StackInstanceNotFound(ref cause) => write!(f, "{}", cause),
10180 DescribeStackInstanceError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
10181 }
10182 }
10183}
10184impl Error for DescribeStackInstanceError {}
10185#[derive(Debug, PartialEq)]
10187pub enum DescribeStackResourceError {}
10188
10189impl DescribeStackResourceError {
10190 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeStackResourceError> {
10191 {
10192 let reader = EventReader::new(res.body.as_ref());
10193 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10194 find_start_element(&mut stack);
10195 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10196 match &parsed_error.code[..] {
10197 _ => {}
10198 }
10199 }
10200 }
10201 RusotoError::Unknown(res)
10202 }
10203
10204 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10205 where
10206 T: Peek + Next,
10207 {
10208 xml_util::start_element("ErrorResponse", stack)?;
10209 XmlErrorDeserializer::deserialize("Error", stack)
10210 }
10211}
10212impl fmt::Display for DescribeStackResourceError {
10213 #[allow(unused_variables)]
10214 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10215 match *self {}
10216 }
10217}
10218impl Error for DescribeStackResourceError {}
10219#[derive(Debug, PartialEq)]
10221pub enum DescribeStackResourceDriftsError {}
10222
10223impl DescribeStackResourceDriftsError {
10224 pub fn from_response(
10225 res: BufferedHttpResponse,
10226 ) -> RusotoError<DescribeStackResourceDriftsError> {
10227 {
10228 let reader = EventReader::new(res.body.as_ref());
10229 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10230 find_start_element(&mut stack);
10231 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10232 match &parsed_error.code[..] {
10233 _ => {}
10234 }
10235 }
10236 }
10237 RusotoError::Unknown(res)
10238 }
10239
10240 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10241 where
10242 T: Peek + Next,
10243 {
10244 xml_util::start_element("ErrorResponse", stack)?;
10245 XmlErrorDeserializer::deserialize("Error", stack)
10246 }
10247}
10248impl fmt::Display for DescribeStackResourceDriftsError {
10249 #[allow(unused_variables)]
10250 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10251 match *self {}
10252 }
10253}
10254impl Error for DescribeStackResourceDriftsError {}
10255#[derive(Debug, PartialEq)]
10257pub enum DescribeStackResourcesError {}
10258
10259impl DescribeStackResourcesError {
10260 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeStackResourcesError> {
10261 {
10262 let reader = EventReader::new(res.body.as_ref());
10263 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10264 find_start_element(&mut stack);
10265 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10266 match &parsed_error.code[..] {
10267 _ => {}
10268 }
10269 }
10270 }
10271 RusotoError::Unknown(res)
10272 }
10273
10274 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10275 where
10276 T: Peek + Next,
10277 {
10278 xml_util::start_element("ErrorResponse", stack)?;
10279 XmlErrorDeserializer::deserialize("Error", stack)
10280 }
10281}
10282impl fmt::Display for DescribeStackResourcesError {
10283 #[allow(unused_variables)]
10284 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10285 match *self {}
10286 }
10287}
10288impl Error for DescribeStackResourcesError {}
10289#[derive(Debug, PartialEq)]
10291pub enum DescribeStackSetError {
10292 StackSetNotFound(String),
10294}
10295
10296impl DescribeStackSetError {
10297 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeStackSetError> {
10298 {
10299 let reader = EventReader::new(res.body.as_ref());
10300 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10301 find_start_element(&mut stack);
10302 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10303 match &parsed_error.code[..] {
10304 "StackSetNotFoundException" => {
10305 return RusotoError::Service(DescribeStackSetError::StackSetNotFound(
10306 parsed_error.message,
10307 ))
10308 }
10309 _ => {}
10310 }
10311 }
10312 }
10313 RusotoError::Unknown(res)
10314 }
10315
10316 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10317 where
10318 T: Peek + Next,
10319 {
10320 xml_util::start_element("ErrorResponse", stack)?;
10321 XmlErrorDeserializer::deserialize("Error", stack)
10322 }
10323}
10324impl fmt::Display for DescribeStackSetError {
10325 #[allow(unused_variables)]
10326 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10327 match *self {
10328 DescribeStackSetError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
10329 }
10330 }
10331}
10332impl Error for DescribeStackSetError {}
10333#[derive(Debug, PartialEq)]
10335pub enum DescribeStackSetOperationError {
10336 OperationNotFound(String),
10338 StackSetNotFound(String),
10340}
10341
10342impl DescribeStackSetOperationError {
10343 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeStackSetOperationError> {
10344 {
10345 let reader = EventReader::new(res.body.as_ref());
10346 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10347 find_start_element(&mut stack);
10348 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10349 match &parsed_error.code[..] {
10350 "OperationNotFoundException" => {
10351 return RusotoError::Service(
10352 DescribeStackSetOperationError::OperationNotFound(parsed_error.message),
10353 )
10354 }
10355 "StackSetNotFoundException" => {
10356 return RusotoError::Service(
10357 DescribeStackSetOperationError::StackSetNotFound(parsed_error.message),
10358 )
10359 }
10360 _ => {}
10361 }
10362 }
10363 }
10364 RusotoError::Unknown(res)
10365 }
10366
10367 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10368 where
10369 T: Peek + Next,
10370 {
10371 xml_util::start_element("ErrorResponse", stack)?;
10372 XmlErrorDeserializer::deserialize("Error", stack)
10373 }
10374}
10375impl fmt::Display for DescribeStackSetOperationError {
10376 #[allow(unused_variables)]
10377 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10378 match *self {
10379 DescribeStackSetOperationError::OperationNotFound(ref cause) => write!(f, "{}", cause),
10380 DescribeStackSetOperationError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
10381 }
10382 }
10383}
10384impl Error for DescribeStackSetOperationError {}
10385#[derive(Debug, PartialEq)]
10387pub enum DescribeStacksError {}
10388
10389impl DescribeStacksError {
10390 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeStacksError> {
10391 {
10392 let reader = EventReader::new(res.body.as_ref());
10393 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10394 find_start_element(&mut stack);
10395 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10396 match &parsed_error.code[..] {
10397 _ => {}
10398 }
10399 }
10400 }
10401 RusotoError::Unknown(res)
10402 }
10403
10404 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10405 where
10406 T: Peek + Next,
10407 {
10408 xml_util::start_element("ErrorResponse", stack)?;
10409 XmlErrorDeserializer::deserialize("Error", stack)
10410 }
10411}
10412impl fmt::Display for DescribeStacksError {
10413 #[allow(unused_variables)]
10414 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10415 match *self {}
10416 }
10417}
10418impl Error for DescribeStacksError {}
10419#[derive(Debug, PartialEq)]
10421pub enum DescribeTypeError {
10422 CFNRegistry(String),
10424 TypeNotFound(String),
10426}
10427
10428impl DescribeTypeError {
10429 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeTypeError> {
10430 {
10431 let reader = EventReader::new(res.body.as_ref());
10432 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10433 find_start_element(&mut stack);
10434 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10435 match &parsed_error.code[..] {
10436 "CFNRegistryException" => {
10437 return RusotoError::Service(DescribeTypeError::CFNRegistry(
10438 parsed_error.message,
10439 ))
10440 }
10441 "TypeNotFoundException" => {
10442 return RusotoError::Service(DescribeTypeError::TypeNotFound(
10443 parsed_error.message,
10444 ))
10445 }
10446 _ => {}
10447 }
10448 }
10449 }
10450 RusotoError::Unknown(res)
10451 }
10452
10453 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10454 where
10455 T: Peek + Next,
10456 {
10457 xml_util::start_element("ErrorResponse", stack)?;
10458 XmlErrorDeserializer::deserialize("Error", stack)
10459 }
10460}
10461impl fmt::Display for DescribeTypeError {
10462 #[allow(unused_variables)]
10463 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10464 match *self {
10465 DescribeTypeError::CFNRegistry(ref cause) => write!(f, "{}", cause),
10466 DescribeTypeError::TypeNotFound(ref cause) => write!(f, "{}", cause),
10467 }
10468 }
10469}
10470impl Error for DescribeTypeError {}
10471#[derive(Debug, PartialEq)]
10473pub enum DescribeTypeRegistrationError {
10474 CFNRegistry(String),
10476}
10477
10478impl DescribeTypeRegistrationError {
10479 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeTypeRegistrationError> {
10480 {
10481 let reader = EventReader::new(res.body.as_ref());
10482 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10483 find_start_element(&mut stack);
10484 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10485 match &parsed_error.code[..] {
10486 "CFNRegistryException" => {
10487 return RusotoError::Service(DescribeTypeRegistrationError::CFNRegistry(
10488 parsed_error.message,
10489 ))
10490 }
10491 _ => {}
10492 }
10493 }
10494 }
10495 RusotoError::Unknown(res)
10496 }
10497
10498 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10499 where
10500 T: Peek + Next,
10501 {
10502 xml_util::start_element("ErrorResponse", stack)?;
10503 XmlErrorDeserializer::deserialize("Error", stack)
10504 }
10505}
10506impl fmt::Display for DescribeTypeRegistrationError {
10507 #[allow(unused_variables)]
10508 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10509 match *self {
10510 DescribeTypeRegistrationError::CFNRegistry(ref cause) => write!(f, "{}", cause),
10511 }
10512 }
10513}
10514impl Error for DescribeTypeRegistrationError {}
10515#[derive(Debug, PartialEq)]
10517pub enum DetectStackDriftError {}
10518
10519impl DetectStackDriftError {
10520 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DetectStackDriftError> {
10521 {
10522 let reader = EventReader::new(res.body.as_ref());
10523 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10524 find_start_element(&mut stack);
10525 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10526 match &parsed_error.code[..] {
10527 _ => {}
10528 }
10529 }
10530 }
10531 RusotoError::Unknown(res)
10532 }
10533
10534 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10535 where
10536 T: Peek + Next,
10537 {
10538 xml_util::start_element("ErrorResponse", stack)?;
10539 XmlErrorDeserializer::deserialize("Error", stack)
10540 }
10541}
10542impl fmt::Display for DetectStackDriftError {
10543 #[allow(unused_variables)]
10544 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10545 match *self {}
10546 }
10547}
10548impl Error for DetectStackDriftError {}
10549#[derive(Debug, PartialEq)]
10551pub enum DetectStackResourceDriftError {}
10552
10553impl DetectStackResourceDriftError {
10554 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DetectStackResourceDriftError> {
10555 {
10556 let reader = EventReader::new(res.body.as_ref());
10557 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10558 find_start_element(&mut stack);
10559 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10560 match &parsed_error.code[..] {
10561 _ => {}
10562 }
10563 }
10564 }
10565 RusotoError::Unknown(res)
10566 }
10567
10568 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10569 where
10570 T: Peek + Next,
10571 {
10572 xml_util::start_element("ErrorResponse", stack)?;
10573 XmlErrorDeserializer::deserialize("Error", stack)
10574 }
10575}
10576impl fmt::Display for DetectStackResourceDriftError {
10577 #[allow(unused_variables)]
10578 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10579 match *self {}
10580 }
10581}
10582impl Error for DetectStackResourceDriftError {}
10583#[derive(Debug, PartialEq)]
10585pub enum DetectStackSetDriftError {
10586 InvalidOperation(String),
10588 OperationInProgress(String),
10590 StackSetNotFound(String),
10592}
10593
10594impl DetectStackSetDriftError {
10595 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DetectStackSetDriftError> {
10596 {
10597 let reader = EventReader::new(res.body.as_ref());
10598 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10599 find_start_element(&mut stack);
10600 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10601 match &parsed_error.code[..] {
10602 "InvalidOperationException" => {
10603 return RusotoError::Service(DetectStackSetDriftError::InvalidOperation(
10604 parsed_error.message,
10605 ))
10606 }
10607 "OperationInProgressException" => {
10608 return RusotoError::Service(DetectStackSetDriftError::OperationInProgress(
10609 parsed_error.message,
10610 ))
10611 }
10612 "StackSetNotFoundException" => {
10613 return RusotoError::Service(DetectStackSetDriftError::StackSetNotFound(
10614 parsed_error.message,
10615 ))
10616 }
10617 _ => {}
10618 }
10619 }
10620 }
10621 RusotoError::Unknown(res)
10622 }
10623
10624 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10625 where
10626 T: Peek + Next,
10627 {
10628 xml_util::start_element("ErrorResponse", stack)?;
10629 XmlErrorDeserializer::deserialize("Error", stack)
10630 }
10631}
10632impl fmt::Display for DetectStackSetDriftError {
10633 #[allow(unused_variables)]
10634 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10635 match *self {
10636 DetectStackSetDriftError::InvalidOperation(ref cause) => write!(f, "{}", cause),
10637 DetectStackSetDriftError::OperationInProgress(ref cause) => write!(f, "{}", cause),
10638 DetectStackSetDriftError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
10639 }
10640 }
10641}
10642impl Error for DetectStackSetDriftError {}
10643#[derive(Debug, PartialEq)]
10645pub enum EstimateTemplateCostError {}
10646
10647impl EstimateTemplateCostError {
10648 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<EstimateTemplateCostError> {
10649 {
10650 let reader = EventReader::new(res.body.as_ref());
10651 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10652 find_start_element(&mut stack);
10653 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10654 match &parsed_error.code[..] {
10655 _ => {}
10656 }
10657 }
10658 }
10659 RusotoError::Unknown(res)
10660 }
10661
10662 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10663 where
10664 T: Peek + Next,
10665 {
10666 xml_util::start_element("ErrorResponse", stack)?;
10667 XmlErrorDeserializer::deserialize("Error", stack)
10668 }
10669}
10670impl fmt::Display for EstimateTemplateCostError {
10671 #[allow(unused_variables)]
10672 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10673 match *self {}
10674 }
10675}
10676impl Error for EstimateTemplateCostError {}
10677#[derive(Debug, PartialEq)]
10679pub enum ExecuteChangeSetError {
10680 ChangeSetNotFound(String),
10682 InsufficientCapabilities(String),
10684 InvalidChangeSetStatus(String),
10686 TokenAlreadyExists(String),
10688}
10689
10690impl ExecuteChangeSetError {
10691 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ExecuteChangeSetError> {
10692 {
10693 let reader = EventReader::new(res.body.as_ref());
10694 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10695 find_start_element(&mut stack);
10696 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10697 match &parsed_error.code[..] {
10698 "ChangeSetNotFound" => {
10699 return RusotoError::Service(ExecuteChangeSetError::ChangeSetNotFound(
10700 parsed_error.message,
10701 ))
10702 }
10703 "InsufficientCapabilitiesException" => {
10704 return RusotoError::Service(
10705 ExecuteChangeSetError::InsufficientCapabilities(parsed_error.message),
10706 )
10707 }
10708 "InvalidChangeSetStatus" => {
10709 return RusotoError::Service(ExecuteChangeSetError::InvalidChangeSetStatus(
10710 parsed_error.message,
10711 ))
10712 }
10713 "TokenAlreadyExistsException" => {
10714 return RusotoError::Service(ExecuteChangeSetError::TokenAlreadyExists(
10715 parsed_error.message,
10716 ))
10717 }
10718 _ => {}
10719 }
10720 }
10721 }
10722 RusotoError::Unknown(res)
10723 }
10724
10725 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10726 where
10727 T: Peek + Next,
10728 {
10729 xml_util::start_element("ErrorResponse", stack)?;
10730 XmlErrorDeserializer::deserialize("Error", stack)
10731 }
10732}
10733impl fmt::Display for ExecuteChangeSetError {
10734 #[allow(unused_variables)]
10735 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10736 match *self {
10737 ExecuteChangeSetError::ChangeSetNotFound(ref cause) => write!(f, "{}", cause),
10738 ExecuteChangeSetError::InsufficientCapabilities(ref cause) => write!(f, "{}", cause),
10739 ExecuteChangeSetError::InvalidChangeSetStatus(ref cause) => write!(f, "{}", cause),
10740 ExecuteChangeSetError::TokenAlreadyExists(ref cause) => write!(f, "{}", cause),
10741 }
10742 }
10743}
10744impl Error for ExecuteChangeSetError {}
10745#[derive(Debug, PartialEq)]
10747pub enum GetStackPolicyError {}
10748
10749impl GetStackPolicyError {
10750 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<GetStackPolicyError> {
10751 {
10752 let reader = EventReader::new(res.body.as_ref());
10753 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10754 find_start_element(&mut stack);
10755 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10756 match &parsed_error.code[..] {
10757 _ => {}
10758 }
10759 }
10760 }
10761 RusotoError::Unknown(res)
10762 }
10763
10764 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10765 where
10766 T: Peek + Next,
10767 {
10768 xml_util::start_element("ErrorResponse", stack)?;
10769 XmlErrorDeserializer::deserialize("Error", stack)
10770 }
10771}
10772impl fmt::Display for GetStackPolicyError {
10773 #[allow(unused_variables)]
10774 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10775 match *self {}
10776 }
10777}
10778impl Error for GetStackPolicyError {}
10779#[derive(Debug, PartialEq)]
10781pub enum GetTemplateError {
10782 ChangeSetNotFound(String),
10784}
10785
10786impl GetTemplateError {
10787 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<GetTemplateError> {
10788 {
10789 let reader = EventReader::new(res.body.as_ref());
10790 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10791 find_start_element(&mut stack);
10792 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10793 match &parsed_error.code[..] {
10794 "ChangeSetNotFound" => {
10795 return RusotoError::Service(GetTemplateError::ChangeSetNotFound(
10796 parsed_error.message,
10797 ))
10798 }
10799 _ => {}
10800 }
10801 }
10802 }
10803 RusotoError::Unknown(res)
10804 }
10805
10806 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10807 where
10808 T: Peek + Next,
10809 {
10810 xml_util::start_element("ErrorResponse", stack)?;
10811 XmlErrorDeserializer::deserialize("Error", stack)
10812 }
10813}
10814impl fmt::Display for GetTemplateError {
10815 #[allow(unused_variables)]
10816 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10817 match *self {
10818 GetTemplateError::ChangeSetNotFound(ref cause) => write!(f, "{}", cause),
10819 }
10820 }
10821}
10822impl Error for GetTemplateError {}
10823#[derive(Debug, PartialEq)]
10825pub enum GetTemplateSummaryError {
10826 StackSetNotFound(String),
10828}
10829
10830impl GetTemplateSummaryError {
10831 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<GetTemplateSummaryError> {
10832 {
10833 let reader = EventReader::new(res.body.as_ref());
10834 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10835 find_start_element(&mut stack);
10836 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10837 match &parsed_error.code[..] {
10838 "StackSetNotFoundException" => {
10839 return RusotoError::Service(GetTemplateSummaryError::StackSetNotFound(
10840 parsed_error.message,
10841 ))
10842 }
10843 _ => {}
10844 }
10845 }
10846 }
10847 RusotoError::Unknown(res)
10848 }
10849
10850 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10851 where
10852 T: Peek + Next,
10853 {
10854 xml_util::start_element("ErrorResponse", stack)?;
10855 XmlErrorDeserializer::deserialize("Error", stack)
10856 }
10857}
10858impl fmt::Display for GetTemplateSummaryError {
10859 #[allow(unused_variables)]
10860 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10861 match *self {
10862 GetTemplateSummaryError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
10863 }
10864 }
10865}
10866impl Error for GetTemplateSummaryError {}
10867#[derive(Debug, PartialEq)]
10869pub enum ListChangeSetsError {}
10870
10871impl ListChangeSetsError {
10872 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListChangeSetsError> {
10873 {
10874 let reader = EventReader::new(res.body.as_ref());
10875 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10876 find_start_element(&mut stack);
10877 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10878 match &parsed_error.code[..] {
10879 _ => {}
10880 }
10881 }
10882 }
10883 RusotoError::Unknown(res)
10884 }
10885
10886 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10887 where
10888 T: Peek + Next,
10889 {
10890 xml_util::start_element("ErrorResponse", stack)?;
10891 XmlErrorDeserializer::deserialize("Error", stack)
10892 }
10893}
10894impl fmt::Display for ListChangeSetsError {
10895 #[allow(unused_variables)]
10896 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10897 match *self {}
10898 }
10899}
10900impl Error for ListChangeSetsError {}
10901#[derive(Debug, PartialEq)]
10903pub enum ListExportsError {}
10904
10905impl ListExportsError {
10906 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListExportsError> {
10907 {
10908 let reader = EventReader::new(res.body.as_ref());
10909 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10910 find_start_element(&mut stack);
10911 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10912 match &parsed_error.code[..] {
10913 _ => {}
10914 }
10915 }
10916 }
10917 RusotoError::Unknown(res)
10918 }
10919
10920 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10921 where
10922 T: Peek + Next,
10923 {
10924 xml_util::start_element("ErrorResponse", stack)?;
10925 XmlErrorDeserializer::deserialize("Error", stack)
10926 }
10927}
10928impl fmt::Display for ListExportsError {
10929 #[allow(unused_variables)]
10930 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10931 match *self {}
10932 }
10933}
10934impl Error for ListExportsError {}
10935#[derive(Debug, PartialEq)]
10937pub enum ListImportsError {}
10938
10939impl ListImportsError {
10940 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListImportsError> {
10941 {
10942 let reader = EventReader::new(res.body.as_ref());
10943 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10944 find_start_element(&mut stack);
10945 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10946 match &parsed_error.code[..] {
10947 _ => {}
10948 }
10949 }
10950 }
10951 RusotoError::Unknown(res)
10952 }
10953
10954 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10955 where
10956 T: Peek + Next,
10957 {
10958 xml_util::start_element("ErrorResponse", stack)?;
10959 XmlErrorDeserializer::deserialize("Error", stack)
10960 }
10961}
10962impl fmt::Display for ListImportsError {
10963 #[allow(unused_variables)]
10964 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10965 match *self {}
10966 }
10967}
10968impl Error for ListImportsError {}
10969#[derive(Debug, PartialEq)]
10971pub enum ListStackInstancesError {
10972 StackSetNotFound(String),
10974}
10975
10976impl ListStackInstancesError {
10977 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListStackInstancesError> {
10978 {
10979 let reader = EventReader::new(res.body.as_ref());
10980 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10981 find_start_element(&mut stack);
10982 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10983 match &parsed_error.code[..] {
10984 "StackSetNotFoundException" => {
10985 return RusotoError::Service(ListStackInstancesError::StackSetNotFound(
10986 parsed_error.message,
10987 ))
10988 }
10989 _ => {}
10990 }
10991 }
10992 }
10993 RusotoError::Unknown(res)
10994 }
10995
10996 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10997 where
10998 T: Peek + Next,
10999 {
11000 xml_util::start_element("ErrorResponse", stack)?;
11001 XmlErrorDeserializer::deserialize("Error", stack)
11002 }
11003}
11004impl fmt::Display for ListStackInstancesError {
11005 #[allow(unused_variables)]
11006 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11007 match *self {
11008 ListStackInstancesError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
11009 }
11010 }
11011}
11012impl Error for ListStackInstancesError {}
11013#[derive(Debug, PartialEq)]
11015pub enum ListStackResourcesError {}
11016
11017impl ListStackResourcesError {
11018 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListStackResourcesError> {
11019 {
11020 let reader = EventReader::new(res.body.as_ref());
11021 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11022 find_start_element(&mut stack);
11023 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11024 match &parsed_error.code[..] {
11025 _ => {}
11026 }
11027 }
11028 }
11029 RusotoError::Unknown(res)
11030 }
11031
11032 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11033 where
11034 T: Peek + Next,
11035 {
11036 xml_util::start_element("ErrorResponse", stack)?;
11037 XmlErrorDeserializer::deserialize("Error", stack)
11038 }
11039}
11040impl fmt::Display for ListStackResourcesError {
11041 #[allow(unused_variables)]
11042 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11043 match *self {}
11044 }
11045}
11046impl Error for ListStackResourcesError {}
11047#[derive(Debug, PartialEq)]
11049pub enum ListStackSetOperationResultsError {
11050 OperationNotFound(String),
11052 StackSetNotFound(String),
11054}
11055
11056impl ListStackSetOperationResultsError {
11057 pub fn from_response(
11058 res: BufferedHttpResponse,
11059 ) -> RusotoError<ListStackSetOperationResultsError> {
11060 {
11061 let reader = EventReader::new(res.body.as_ref());
11062 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11063 find_start_element(&mut stack);
11064 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11065 match &parsed_error.code[..] {
11066 "OperationNotFoundException" => {
11067 return RusotoError::Service(
11068 ListStackSetOperationResultsError::OperationNotFound(
11069 parsed_error.message,
11070 ),
11071 )
11072 }
11073 "StackSetNotFoundException" => {
11074 return RusotoError::Service(
11075 ListStackSetOperationResultsError::StackSetNotFound(
11076 parsed_error.message,
11077 ),
11078 )
11079 }
11080 _ => {}
11081 }
11082 }
11083 }
11084 RusotoError::Unknown(res)
11085 }
11086
11087 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11088 where
11089 T: Peek + Next,
11090 {
11091 xml_util::start_element("ErrorResponse", stack)?;
11092 XmlErrorDeserializer::deserialize("Error", stack)
11093 }
11094}
11095impl fmt::Display for ListStackSetOperationResultsError {
11096 #[allow(unused_variables)]
11097 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11098 match *self {
11099 ListStackSetOperationResultsError::OperationNotFound(ref cause) => {
11100 write!(f, "{}", cause)
11101 }
11102 ListStackSetOperationResultsError::StackSetNotFound(ref cause) => {
11103 write!(f, "{}", cause)
11104 }
11105 }
11106 }
11107}
11108impl Error for ListStackSetOperationResultsError {}
11109#[derive(Debug, PartialEq)]
11111pub enum ListStackSetOperationsError {
11112 StackSetNotFound(String),
11114}
11115
11116impl ListStackSetOperationsError {
11117 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListStackSetOperationsError> {
11118 {
11119 let reader = EventReader::new(res.body.as_ref());
11120 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11121 find_start_element(&mut stack);
11122 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11123 match &parsed_error.code[..] {
11124 "StackSetNotFoundException" => {
11125 return RusotoError::Service(ListStackSetOperationsError::StackSetNotFound(
11126 parsed_error.message,
11127 ))
11128 }
11129 _ => {}
11130 }
11131 }
11132 }
11133 RusotoError::Unknown(res)
11134 }
11135
11136 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11137 where
11138 T: Peek + Next,
11139 {
11140 xml_util::start_element("ErrorResponse", stack)?;
11141 XmlErrorDeserializer::deserialize("Error", stack)
11142 }
11143}
11144impl fmt::Display for ListStackSetOperationsError {
11145 #[allow(unused_variables)]
11146 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11147 match *self {
11148 ListStackSetOperationsError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
11149 }
11150 }
11151}
11152impl Error for ListStackSetOperationsError {}
11153#[derive(Debug, PartialEq)]
11155pub enum ListStackSetsError {}
11156
11157impl ListStackSetsError {
11158 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListStackSetsError> {
11159 {
11160 let reader = EventReader::new(res.body.as_ref());
11161 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11162 find_start_element(&mut stack);
11163 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11164 match &parsed_error.code[..] {
11165 _ => {}
11166 }
11167 }
11168 }
11169 RusotoError::Unknown(res)
11170 }
11171
11172 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11173 where
11174 T: Peek + Next,
11175 {
11176 xml_util::start_element("ErrorResponse", stack)?;
11177 XmlErrorDeserializer::deserialize("Error", stack)
11178 }
11179}
11180impl fmt::Display for ListStackSetsError {
11181 #[allow(unused_variables)]
11182 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11183 match *self {}
11184 }
11185}
11186impl Error for ListStackSetsError {}
11187#[derive(Debug, PartialEq)]
11189pub enum ListStacksError {}
11190
11191impl ListStacksError {
11192 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListStacksError> {
11193 {
11194 let reader = EventReader::new(res.body.as_ref());
11195 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11196 find_start_element(&mut stack);
11197 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11198 match &parsed_error.code[..] {
11199 _ => {}
11200 }
11201 }
11202 }
11203 RusotoError::Unknown(res)
11204 }
11205
11206 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11207 where
11208 T: Peek + Next,
11209 {
11210 xml_util::start_element("ErrorResponse", stack)?;
11211 XmlErrorDeserializer::deserialize("Error", stack)
11212 }
11213}
11214impl fmt::Display for ListStacksError {
11215 #[allow(unused_variables)]
11216 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11217 match *self {}
11218 }
11219}
11220impl Error for ListStacksError {}
11221#[derive(Debug, PartialEq)]
11223pub enum ListTypeRegistrationsError {
11224 CFNRegistry(String),
11226}
11227
11228impl ListTypeRegistrationsError {
11229 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListTypeRegistrationsError> {
11230 {
11231 let reader = EventReader::new(res.body.as_ref());
11232 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11233 find_start_element(&mut stack);
11234 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11235 match &parsed_error.code[..] {
11236 "CFNRegistryException" => {
11237 return RusotoError::Service(ListTypeRegistrationsError::CFNRegistry(
11238 parsed_error.message,
11239 ))
11240 }
11241 _ => {}
11242 }
11243 }
11244 }
11245 RusotoError::Unknown(res)
11246 }
11247
11248 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11249 where
11250 T: Peek + Next,
11251 {
11252 xml_util::start_element("ErrorResponse", stack)?;
11253 XmlErrorDeserializer::deserialize("Error", stack)
11254 }
11255}
11256impl fmt::Display for ListTypeRegistrationsError {
11257 #[allow(unused_variables)]
11258 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11259 match *self {
11260 ListTypeRegistrationsError::CFNRegistry(ref cause) => write!(f, "{}", cause),
11261 }
11262 }
11263}
11264impl Error for ListTypeRegistrationsError {}
11265#[derive(Debug, PartialEq)]
11267pub enum ListTypeVersionsError {
11268 CFNRegistry(String),
11270}
11271
11272impl ListTypeVersionsError {
11273 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListTypeVersionsError> {
11274 {
11275 let reader = EventReader::new(res.body.as_ref());
11276 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11277 find_start_element(&mut stack);
11278 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11279 match &parsed_error.code[..] {
11280 "CFNRegistryException" => {
11281 return RusotoError::Service(ListTypeVersionsError::CFNRegistry(
11282 parsed_error.message,
11283 ))
11284 }
11285 _ => {}
11286 }
11287 }
11288 }
11289 RusotoError::Unknown(res)
11290 }
11291
11292 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11293 where
11294 T: Peek + Next,
11295 {
11296 xml_util::start_element("ErrorResponse", stack)?;
11297 XmlErrorDeserializer::deserialize("Error", stack)
11298 }
11299}
11300impl fmt::Display for ListTypeVersionsError {
11301 #[allow(unused_variables)]
11302 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11303 match *self {
11304 ListTypeVersionsError::CFNRegistry(ref cause) => write!(f, "{}", cause),
11305 }
11306 }
11307}
11308impl Error for ListTypeVersionsError {}
11309#[derive(Debug, PartialEq)]
11311pub enum ListTypesError {
11312 CFNRegistry(String),
11314}
11315
11316impl ListTypesError {
11317 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListTypesError> {
11318 {
11319 let reader = EventReader::new(res.body.as_ref());
11320 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11321 find_start_element(&mut stack);
11322 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11323 match &parsed_error.code[..] {
11324 "CFNRegistryException" => {
11325 return RusotoError::Service(ListTypesError::CFNRegistry(
11326 parsed_error.message,
11327 ))
11328 }
11329 _ => {}
11330 }
11331 }
11332 }
11333 RusotoError::Unknown(res)
11334 }
11335
11336 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11337 where
11338 T: Peek + Next,
11339 {
11340 xml_util::start_element("ErrorResponse", stack)?;
11341 XmlErrorDeserializer::deserialize("Error", stack)
11342 }
11343}
11344impl fmt::Display for ListTypesError {
11345 #[allow(unused_variables)]
11346 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11347 match *self {
11348 ListTypesError::CFNRegistry(ref cause) => write!(f, "{}", cause),
11349 }
11350 }
11351}
11352impl Error for ListTypesError {}
11353#[derive(Debug, PartialEq)]
11355pub enum RecordHandlerProgressError {
11356 InvalidStateTransition(String),
11358 OperationStatusCheckFailed(String),
11360}
11361
11362impl RecordHandlerProgressError {
11363 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RecordHandlerProgressError> {
11364 {
11365 let reader = EventReader::new(res.body.as_ref());
11366 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11367 find_start_element(&mut stack);
11368 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11369 match &parsed_error.code[..] {
11370 "InvalidStateTransition" => {
11371 return RusotoError::Service(
11372 RecordHandlerProgressError::InvalidStateTransition(
11373 parsed_error.message,
11374 ),
11375 )
11376 }
11377 "ConditionalCheckFailed" => {
11378 return RusotoError::Service(
11379 RecordHandlerProgressError::OperationStatusCheckFailed(
11380 parsed_error.message,
11381 ),
11382 )
11383 }
11384 _ => {}
11385 }
11386 }
11387 }
11388 RusotoError::Unknown(res)
11389 }
11390
11391 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11392 where
11393 T: Peek + Next,
11394 {
11395 xml_util::start_element("ErrorResponse", stack)?;
11396 XmlErrorDeserializer::deserialize("Error", stack)
11397 }
11398}
11399impl fmt::Display for RecordHandlerProgressError {
11400 #[allow(unused_variables)]
11401 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11402 match *self {
11403 RecordHandlerProgressError::InvalidStateTransition(ref cause) => write!(f, "{}", cause),
11404 RecordHandlerProgressError::OperationStatusCheckFailed(ref cause) => {
11405 write!(f, "{}", cause)
11406 }
11407 }
11408 }
11409}
11410impl Error for RecordHandlerProgressError {}
11411#[derive(Debug, PartialEq)]
11413pub enum RegisterTypeError {
11414 CFNRegistry(String),
11416}
11417
11418impl RegisterTypeError {
11419 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RegisterTypeError> {
11420 {
11421 let reader = EventReader::new(res.body.as_ref());
11422 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11423 find_start_element(&mut stack);
11424 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11425 match &parsed_error.code[..] {
11426 "CFNRegistryException" => {
11427 return RusotoError::Service(RegisterTypeError::CFNRegistry(
11428 parsed_error.message,
11429 ))
11430 }
11431 _ => {}
11432 }
11433 }
11434 }
11435 RusotoError::Unknown(res)
11436 }
11437
11438 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11439 where
11440 T: Peek + Next,
11441 {
11442 xml_util::start_element("ErrorResponse", stack)?;
11443 XmlErrorDeserializer::deserialize("Error", stack)
11444 }
11445}
11446impl fmt::Display for RegisterTypeError {
11447 #[allow(unused_variables)]
11448 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11449 match *self {
11450 RegisterTypeError::CFNRegistry(ref cause) => write!(f, "{}", cause),
11451 }
11452 }
11453}
11454impl Error for RegisterTypeError {}
11455#[derive(Debug, PartialEq)]
11457pub enum SetStackPolicyError {}
11458
11459impl SetStackPolicyError {
11460 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<SetStackPolicyError> {
11461 {
11462 let reader = EventReader::new(res.body.as_ref());
11463 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11464 find_start_element(&mut stack);
11465 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11466 match &parsed_error.code[..] {
11467 _ => {}
11468 }
11469 }
11470 }
11471 RusotoError::Unknown(res)
11472 }
11473
11474 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11475 where
11476 T: Peek + Next,
11477 {
11478 xml_util::start_element("ErrorResponse", stack)?;
11479 XmlErrorDeserializer::deserialize("Error", stack)
11480 }
11481}
11482impl fmt::Display for SetStackPolicyError {
11483 #[allow(unused_variables)]
11484 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11485 match *self {}
11486 }
11487}
11488impl Error for SetStackPolicyError {}
11489#[derive(Debug, PartialEq)]
11491pub enum SetTypeDefaultVersionError {
11492 CFNRegistry(String),
11494 TypeNotFound(String),
11496}
11497
11498impl SetTypeDefaultVersionError {
11499 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<SetTypeDefaultVersionError> {
11500 {
11501 let reader = EventReader::new(res.body.as_ref());
11502 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11503 find_start_element(&mut stack);
11504 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11505 match &parsed_error.code[..] {
11506 "CFNRegistryException" => {
11507 return RusotoError::Service(SetTypeDefaultVersionError::CFNRegistry(
11508 parsed_error.message,
11509 ))
11510 }
11511 "TypeNotFoundException" => {
11512 return RusotoError::Service(SetTypeDefaultVersionError::TypeNotFound(
11513 parsed_error.message,
11514 ))
11515 }
11516 _ => {}
11517 }
11518 }
11519 }
11520 RusotoError::Unknown(res)
11521 }
11522
11523 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11524 where
11525 T: Peek + Next,
11526 {
11527 xml_util::start_element("ErrorResponse", stack)?;
11528 XmlErrorDeserializer::deserialize("Error", stack)
11529 }
11530}
11531impl fmt::Display for SetTypeDefaultVersionError {
11532 #[allow(unused_variables)]
11533 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11534 match *self {
11535 SetTypeDefaultVersionError::CFNRegistry(ref cause) => write!(f, "{}", cause),
11536 SetTypeDefaultVersionError::TypeNotFound(ref cause) => write!(f, "{}", cause),
11537 }
11538 }
11539}
11540impl Error for SetTypeDefaultVersionError {}
11541#[derive(Debug, PartialEq)]
11543pub enum SignalResourceError {}
11544
11545impl SignalResourceError {
11546 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<SignalResourceError> {
11547 {
11548 let reader = EventReader::new(res.body.as_ref());
11549 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11550 find_start_element(&mut stack);
11551 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11552 match &parsed_error.code[..] {
11553 _ => {}
11554 }
11555 }
11556 }
11557 RusotoError::Unknown(res)
11558 }
11559
11560 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11561 where
11562 T: Peek + Next,
11563 {
11564 xml_util::start_element("ErrorResponse", stack)?;
11565 XmlErrorDeserializer::deserialize("Error", stack)
11566 }
11567}
11568impl fmt::Display for SignalResourceError {
11569 #[allow(unused_variables)]
11570 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11571 match *self {}
11572 }
11573}
11574impl Error for SignalResourceError {}
11575#[derive(Debug, PartialEq)]
11577pub enum StopStackSetOperationError {
11578 InvalidOperation(String),
11580 OperationNotFound(String),
11582 StackSetNotFound(String),
11584}
11585
11586impl StopStackSetOperationError {
11587 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StopStackSetOperationError> {
11588 {
11589 let reader = EventReader::new(res.body.as_ref());
11590 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11591 find_start_element(&mut stack);
11592 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11593 match &parsed_error.code[..] {
11594 "InvalidOperationException" => {
11595 return RusotoError::Service(StopStackSetOperationError::InvalidOperation(
11596 parsed_error.message,
11597 ))
11598 }
11599 "OperationNotFoundException" => {
11600 return RusotoError::Service(StopStackSetOperationError::OperationNotFound(
11601 parsed_error.message,
11602 ))
11603 }
11604 "StackSetNotFoundException" => {
11605 return RusotoError::Service(StopStackSetOperationError::StackSetNotFound(
11606 parsed_error.message,
11607 ))
11608 }
11609 _ => {}
11610 }
11611 }
11612 }
11613 RusotoError::Unknown(res)
11614 }
11615
11616 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11617 where
11618 T: Peek + Next,
11619 {
11620 xml_util::start_element("ErrorResponse", stack)?;
11621 XmlErrorDeserializer::deserialize("Error", stack)
11622 }
11623}
11624impl fmt::Display for StopStackSetOperationError {
11625 #[allow(unused_variables)]
11626 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11627 match *self {
11628 StopStackSetOperationError::InvalidOperation(ref cause) => write!(f, "{}", cause),
11629 StopStackSetOperationError::OperationNotFound(ref cause) => write!(f, "{}", cause),
11630 StopStackSetOperationError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
11631 }
11632 }
11633}
11634impl Error for StopStackSetOperationError {}
11635#[derive(Debug, PartialEq)]
11637pub enum UpdateStackError {
11638 InsufficientCapabilities(String),
11640 TokenAlreadyExists(String),
11642}
11643
11644impl UpdateStackError {
11645 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateStackError> {
11646 {
11647 let reader = EventReader::new(res.body.as_ref());
11648 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11649 find_start_element(&mut stack);
11650 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11651 match &parsed_error.code[..] {
11652 "InsufficientCapabilitiesException" => {
11653 return RusotoError::Service(UpdateStackError::InsufficientCapabilities(
11654 parsed_error.message,
11655 ))
11656 }
11657 "TokenAlreadyExistsException" => {
11658 return RusotoError::Service(UpdateStackError::TokenAlreadyExists(
11659 parsed_error.message,
11660 ))
11661 }
11662 _ => {}
11663 }
11664 }
11665 }
11666 RusotoError::Unknown(res)
11667 }
11668
11669 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11670 where
11671 T: Peek + Next,
11672 {
11673 xml_util::start_element("ErrorResponse", stack)?;
11674 XmlErrorDeserializer::deserialize("Error", stack)
11675 }
11676}
11677impl fmt::Display for UpdateStackError {
11678 #[allow(unused_variables)]
11679 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11680 match *self {
11681 UpdateStackError::InsufficientCapabilities(ref cause) => write!(f, "{}", cause),
11682 UpdateStackError::TokenAlreadyExists(ref cause) => write!(f, "{}", cause),
11683 }
11684 }
11685}
11686impl Error for UpdateStackError {}
11687#[derive(Debug, PartialEq)]
11689pub enum UpdateStackInstancesError {
11690 InvalidOperation(String),
11692 OperationIdAlreadyExists(String),
11694 OperationInProgress(String),
11696 StackInstanceNotFound(String),
11698 StackSetNotFound(String),
11700 StaleRequest(String),
11702}
11703
11704impl UpdateStackInstancesError {
11705 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateStackInstancesError> {
11706 {
11707 let reader = EventReader::new(res.body.as_ref());
11708 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11709 find_start_element(&mut stack);
11710 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11711 match &parsed_error.code[..] {
11712 "InvalidOperationException" => {
11713 return RusotoError::Service(UpdateStackInstancesError::InvalidOperation(
11714 parsed_error.message,
11715 ))
11716 }
11717 "OperationIdAlreadyExistsException" => {
11718 return RusotoError::Service(
11719 UpdateStackInstancesError::OperationIdAlreadyExists(
11720 parsed_error.message,
11721 ),
11722 )
11723 }
11724 "OperationInProgressException" => {
11725 return RusotoError::Service(
11726 UpdateStackInstancesError::OperationInProgress(parsed_error.message),
11727 )
11728 }
11729 "StackInstanceNotFoundException" => {
11730 return RusotoError::Service(
11731 UpdateStackInstancesError::StackInstanceNotFound(parsed_error.message),
11732 )
11733 }
11734 "StackSetNotFoundException" => {
11735 return RusotoError::Service(UpdateStackInstancesError::StackSetNotFound(
11736 parsed_error.message,
11737 ))
11738 }
11739 "StaleRequestException" => {
11740 return RusotoError::Service(UpdateStackInstancesError::StaleRequest(
11741 parsed_error.message,
11742 ))
11743 }
11744 _ => {}
11745 }
11746 }
11747 }
11748 RusotoError::Unknown(res)
11749 }
11750
11751 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11752 where
11753 T: Peek + Next,
11754 {
11755 xml_util::start_element("ErrorResponse", stack)?;
11756 XmlErrorDeserializer::deserialize("Error", stack)
11757 }
11758}
11759impl fmt::Display for UpdateStackInstancesError {
11760 #[allow(unused_variables)]
11761 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11762 match *self {
11763 UpdateStackInstancesError::InvalidOperation(ref cause) => write!(f, "{}", cause),
11764 UpdateStackInstancesError::OperationIdAlreadyExists(ref cause) => {
11765 write!(f, "{}", cause)
11766 }
11767 UpdateStackInstancesError::OperationInProgress(ref cause) => write!(f, "{}", cause),
11768 UpdateStackInstancesError::StackInstanceNotFound(ref cause) => write!(f, "{}", cause),
11769 UpdateStackInstancesError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
11770 UpdateStackInstancesError::StaleRequest(ref cause) => write!(f, "{}", cause),
11771 }
11772 }
11773}
11774impl Error for UpdateStackInstancesError {}
11775#[derive(Debug, PartialEq)]
11777pub enum UpdateStackSetError {
11778 InvalidOperation(String),
11780 OperationIdAlreadyExists(String),
11782 OperationInProgress(String),
11784 StackInstanceNotFound(String),
11786 StackSetNotFound(String),
11788 StaleRequest(String),
11790}
11791
11792impl UpdateStackSetError {
11793 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateStackSetError> {
11794 {
11795 let reader = EventReader::new(res.body.as_ref());
11796 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11797 find_start_element(&mut stack);
11798 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11799 match &parsed_error.code[..] {
11800 "InvalidOperationException" => {
11801 return RusotoError::Service(UpdateStackSetError::InvalidOperation(
11802 parsed_error.message,
11803 ))
11804 }
11805 "OperationIdAlreadyExistsException" => {
11806 return RusotoError::Service(UpdateStackSetError::OperationIdAlreadyExists(
11807 parsed_error.message,
11808 ))
11809 }
11810 "OperationInProgressException" => {
11811 return RusotoError::Service(UpdateStackSetError::OperationInProgress(
11812 parsed_error.message,
11813 ))
11814 }
11815 "StackInstanceNotFoundException" => {
11816 return RusotoError::Service(UpdateStackSetError::StackInstanceNotFound(
11817 parsed_error.message,
11818 ))
11819 }
11820 "StackSetNotFoundException" => {
11821 return RusotoError::Service(UpdateStackSetError::StackSetNotFound(
11822 parsed_error.message,
11823 ))
11824 }
11825 "StaleRequestException" => {
11826 return RusotoError::Service(UpdateStackSetError::StaleRequest(
11827 parsed_error.message,
11828 ))
11829 }
11830 _ => {}
11831 }
11832 }
11833 }
11834 RusotoError::Unknown(res)
11835 }
11836
11837 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11838 where
11839 T: Peek + Next,
11840 {
11841 xml_util::start_element("ErrorResponse", stack)?;
11842 XmlErrorDeserializer::deserialize("Error", stack)
11843 }
11844}
11845impl fmt::Display for UpdateStackSetError {
11846 #[allow(unused_variables)]
11847 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11848 match *self {
11849 UpdateStackSetError::InvalidOperation(ref cause) => write!(f, "{}", cause),
11850 UpdateStackSetError::OperationIdAlreadyExists(ref cause) => write!(f, "{}", cause),
11851 UpdateStackSetError::OperationInProgress(ref cause) => write!(f, "{}", cause),
11852 UpdateStackSetError::StackInstanceNotFound(ref cause) => write!(f, "{}", cause),
11853 UpdateStackSetError::StackSetNotFound(ref cause) => write!(f, "{}", cause),
11854 UpdateStackSetError::StaleRequest(ref cause) => write!(f, "{}", cause),
11855 }
11856 }
11857}
11858impl Error for UpdateStackSetError {}
11859#[derive(Debug, PartialEq)]
11861pub enum UpdateTerminationProtectionError {}
11862
11863impl UpdateTerminationProtectionError {
11864 pub fn from_response(
11865 res: BufferedHttpResponse,
11866 ) -> RusotoError<UpdateTerminationProtectionError> {
11867 {
11868 let reader = EventReader::new(res.body.as_ref());
11869 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11870 find_start_element(&mut stack);
11871 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11872 match &parsed_error.code[..] {
11873 _ => {}
11874 }
11875 }
11876 }
11877 RusotoError::Unknown(res)
11878 }
11879
11880 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11881 where
11882 T: Peek + Next,
11883 {
11884 xml_util::start_element("ErrorResponse", stack)?;
11885 XmlErrorDeserializer::deserialize("Error", stack)
11886 }
11887}
11888impl fmt::Display for UpdateTerminationProtectionError {
11889 #[allow(unused_variables)]
11890 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11891 match *self {}
11892 }
11893}
11894impl Error for UpdateTerminationProtectionError {}
11895#[derive(Debug, PartialEq)]
11897pub enum ValidateTemplateError {}
11898
11899impl ValidateTemplateError {
11900 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ValidateTemplateError> {
11901 {
11902 let reader = EventReader::new(res.body.as_ref());
11903 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11904 find_start_element(&mut stack);
11905 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11906 match &parsed_error.code[..] {
11907 _ => {}
11908 }
11909 }
11910 }
11911 RusotoError::Unknown(res)
11912 }
11913
11914 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11915 where
11916 T: Peek + Next,
11917 {
11918 xml_util::start_element("ErrorResponse", stack)?;
11919 XmlErrorDeserializer::deserialize("Error", stack)
11920 }
11921}
11922impl fmt::Display for ValidateTemplateError {
11923 #[allow(unused_variables)]
11924 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11925 match *self {}
11926 }
11927}
11928impl Error for ValidateTemplateError {}
11929#[async_trait]
11931pub trait CloudFormation {
11932 async fn cancel_update_stack(
11934 &self,
11935 input: CancelUpdateStackInput,
11936 ) -> Result<(), RusotoError<CancelUpdateStackError>>;
11937
11938 async fn continue_update_rollback(
11940 &self,
11941 input: ContinueUpdateRollbackInput,
11942 ) -> Result<ContinueUpdateRollbackOutput, RusotoError<ContinueUpdateRollbackError>>;
11943
11944 async fn create_change_set(
11946 &self,
11947 input: CreateChangeSetInput,
11948 ) -> Result<CreateChangeSetOutput, RusotoError<CreateChangeSetError>>;
11949
11950 async fn create_stack(
11952 &self,
11953 input: CreateStackInput,
11954 ) -> Result<CreateStackOutput, RusotoError<CreateStackError>>;
11955
11956 async fn create_stack_instances(
11958 &self,
11959 input: CreateStackInstancesInput,
11960 ) -> Result<CreateStackInstancesOutput, RusotoError<CreateStackInstancesError>>;
11961
11962 async fn create_stack_set(
11964 &self,
11965 input: CreateStackSetInput,
11966 ) -> Result<CreateStackSetOutput, RusotoError<CreateStackSetError>>;
11967
11968 async fn delete_change_set(
11970 &self,
11971 input: DeleteChangeSetInput,
11972 ) -> Result<DeleteChangeSetOutput, RusotoError<DeleteChangeSetError>>;
11973
11974 async fn delete_stack(
11976 &self,
11977 input: DeleteStackInput,
11978 ) -> Result<(), RusotoError<DeleteStackError>>;
11979
11980 async fn delete_stack_instances(
11982 &self,
11983 input: DeleteStackInstancesInput,
11984 ) -> Result<DeleteStackInstancesOutput, RusotoError<DeleteStackInstancesError>>;
11985
11986 async fn delete_stack_set(
11988 &self,
11989 input: DeleteStackSetInput,
11990 ) -> Result<DeleteStackSetOutput, RusotoError<DeleteStackSetError>>;
11991
11992 async fn deregister_type(
11994 &self,
11995 input: DeregisterTypeInput,
11996 ) -> Result<DeregisterTypeOutput, RusotoError<DeregisterTypeError>>;
11997
11998 async fn describe_account_limits(
12000 &self,
12001 input: DescribeAccountLimitsInput,
12002 ) -> Result<DescribeAccountLimitsOutput, RusotoError<DescribeAccountLimitsError>>;
12003
12004 async fn describe_change_set(
12006 &self,
12007 input: DescribeChangeSetInput,
12008 ) -> Result<DescribeChangeSetOutput, RusotoError<DescribeChangeSetError>>;
12009
12010 async fn describe_stack_drift_detection_status(
12012 &self,
12013 input: DescribeStackDriftDetectionStatusInput,
12014 ) -> Result<
12015 DescribeStackDriftDetectionStatusOutput,
12016 RusotoError<DescribeStackDriftDetectionStatusError>,
12017 >;
12018
12019 async fn describe_stack_events(
12021 &self,
12022 input: DescribeStackEventsInput,
12023 ) -> Result<DescribeStackEventsOutput, RusotoError<DescribeStackEventsError>>;
12024
12025 async fn describe_stack_instance(
12027 &self,
12028 input: DescribeStackInstanceInput,
12029 ) -> Result<DescribeStackInstanceOutput, RusotoError<DescribeStackInstanceError>>;
12030
12031 async fn describe_stack_resource(
12033 &self,
12034 input: DescribeStackResourceInput,
12035 ) -> Result<DescribeStackResourceOutput, RusotoError<DescribeStackResourceError>>;
12036
12037 async fn describe_stack_resource_drifts(
12039 &self,
12040 input: DescribeStackResourceDriftsInput,
12041 ) -> Result<DescribeStackResourceDriftsOutput, RusotoError<DescribeStackResourceDriftsError>>;
12042
12043 async fn describe_stack_resources(
12045 &self,
12046 input: DescribeStackResourcesInput,
12047 ) -> Result<DescribeStackResourcesOutput, RusotoError<DescribeStackResourcesError>>;
12048
12049 async fn describe_stack_set(
12051 &self,
12052 input: DescribeStackSetInput,
12053 ) -> Result<DescribeStackSetOutput, RusotoError<DescribeStackSetError>>;
12054
12055 async fn describe_stack_set_operation(
12057 &self,
12058 input: DescribeStackSetOperationInput,
12059 ) -> Result<DescribeStackSetOperationOutput, RusotoError<DescribeStackSetOperationError>>;
12060
12061 async fn describe_stacks(
12063 &self,
12064 input: DescribeStacksInput,
12065 ) -> Result<DescribeStacksOutput, RusotoError<DescribeStacksError>>;
12066
12067 async fn describe_type(
12069 &self,
12070 input: DescribeTypeInput,
12071 ) -> Result<DescribeTypeOutput, RusotoError<DescribeTypeError>>;
12072
12073 async fn describe_type_registration(
12075 &self,
12076 input: DescribeTypeRegistrationInput,
12077 ) -> Result<DescribeTypeRegistrationOutput, RusotoError<DescribeTypeRegistrationError>>;
12078
12079 async fn detect_stack_drift(
12081 &self,
12082 input: DetectStackDriftInput,
12083 ) -> Result<DetectStackDriftOutput, RusotoError<DetectStackDriftError>>;
12084
12085 async fn detect_stack_resource_drift(
12087 &self,
12088 input: DetectStackResourceDriftInput,
12089 ) -> Result<DetectStackResourceDriftOutput, RusotoError<DetectStackResourceDriftError>>;
12090
12091 async fn detect_stack_set_drift(
12093 &self,
12094 input: DetectStackSetDriftInput,
12095 ) -> Result<DetectStackSetDriftOutput, RusotoError<DetectStackSetDriftError>>;
12096
12097 async fn estimate_template_cost(
12099 &self,
12100 input: EstimateTemplateCostInput,
12101 ) -> Result<EstimateTemplateCostOutput, RusotoError<EstimateTemplateCostError>>;
12102
12103 async fn execute_change_set(
12105 &self,
12106 input: ExecuteChangeSetInput,
12107 ) -> Result<ExecuteChangeSetOutput, RusotoError<ExecuteChangeSetError>>;
12108
12109 async fn get_stack_policy(
12111 &self,
12112 input: GetStackPolicyInput,
12113 ) -> Result<GetStackPolicyOutput, RusotoError<GetStackPolicyError>>;
12114
12115 async fn get_template(
12117 &self,
12118 input: GetTemplateInput,
12119 ) -> Result<GetTemplateOutput, RusotoError<GetTemplateError>>;
12120
12121 async fn get_template_summary(
12123 &self,
12124 input: GetTemplateSummaryInput,
12125 ) -> Result<GetTemplateSummaryOutput, RusotoError<GetTemplateSummaryError>>;
12126
12127 async fn list_change_sets(
12129 &self,
12130 input: ListChangeSetsInput,
12131 ) -> Result<ListChangeSetsOutput, RusotoError<ListChangeSetsError>>;
12132
12133 async fn list_exports(
12135 &self,
12136 input: ListExportsInput,
12137 ) -> Result<ListExportsOutput, RusotoError<ListExportsError>>;
12138
12139 async fn list_imports(
12141 &self,
12142 input: ListImportsInput,
12143 ) -> Result<ListImportsOutput, RusotoError<ListImportsError>>;
12144
12145 async fn list_stack_instances(
12147 &self,
12148 input: ListStackInstancesInput,
12149 ) -> Result<ListStackInstancesOutput, RusotoError<ListStackInstancesError>>;
12150
12151 async fn list_stack_resources(
12153 &self,
12154 input: ListStackResourcesInput,
12155 ) -> Result<ListStackResourcesOutput, RusotoError<ListStackResourcesError>>;
12156
12157 async fn list_stack_set_operation_results(
12159 &self,
12160 input: ListStackSetOperationResultsInput,
12161 ) -> Result<ListStackSetOperationResultsOutput, RusotoError<ListStackSetOperationResultsError>>;
12162
12163 async fn list_stack_set_operations(
12165 &self,
12166 input: ListStackSetOperationsInput,
12167 ) -> Result<ListStackSetOperationsOutput, RusotoError<ListStackSetOperationsError>>;
12168
12169 async fn list_stack_sets(
12171 &self,
12172 input: ListStackSetsInput,
12173 ) -> Result<ListStackSetsOutput, RusotoError<ListStackSetsError>>;
12174
12175 async fn list_stacks(
12177 &self,
12178 input: ListStacksInput,
12179 ) -> Result<ListStacksOutput, RusotoError<ListStacksError>>;
12180
12181 async fn list_type_registrations(
12183 &self,
12184 input: ListTypeRegistrationsInput,
12185 ) -> Result<ListTypeRegistrationsOutput, RusotoError<ListTypeRegistrationsError>>;
12186
12187 async fn list_type_versions(
12189 &self,
12190 input: ListTypeVersionsInput,
12191 ) -> Result<ListTypeVersionsOutput, RusotoError<ListTypeVersionsError>>;
12192
12193 async fn list_types(
12195 &self,
12196 input: ListTypesInput,
12197 ) -> Result<ListTypesOutput, RusotoError<ListTypesError>>;
12198
12199 async fn record_handler_progress(
12201 &self,
12202 input: RecordHandlerProgressInput,
12203 ) -> Result<RecordHandlerProgressOutput, RusotoError<RecordHandlerProgressError>>;
12204
12205 async fn register_type(
12207 &self,
12208 input: RegisterTypeInput,
12209 ) -> Result<RegisterTypeOutput, RusotoError<RegisterTypeError>>;
12210
12211 async fn set_stack_policy(
12213 &self,
12214 input: SetStackPolicyInput,
12215 ) -> Result<(), RusotoError<SetStackPolicyError>>;
12216
12217 async fn set_type_default_version(
12219 &self,
12220 input: SetTypeDefaultVersionInput,
12221 ) -> Result<SetTypeDefaultVersionOutput, RusotoError<SetTypeDefaultVersionError>>;
12222
12223 async fn signal_resource(
12225 &self,
12226 input: SignalResourceInput,
12227 ) -> Result<(), RusotoError<SignalResourceError>>;
12228
12229 async fn stop_stack_set_operation(
12231 &self,
12232 input: StopStackSetOperationInput,
12233 ) -> Result<StopStackSetOperationOutput, RusotoError<StopStackSetOperationError>>;
12234
12235 async fn update_stack(
12237 &self,
12238 input: UpdateStackInput,
12239 ) -> Result<UpdateStackOutput, RusotoError<UpdateStackError>>;
12240
12241 async fn update_stack_instances(
12243 &self,
12244 input: UpdateStackInstancesInput,
12245 ) -> Result<UpdateStackInstancesOutput, RusotoError<UpdateStackInstancesError>>;
12246
12247 async fn update_stack_set(
12249 &self,
12250 input: UpdateStackSetInput,
12251 ) -> Result<UpdateStackSetOutput, RusotoError<UpdateStackSetError>>;
12252
12253 async fn update_termination_protection(
12255 &self,
12256 input: UpdateTerminationProtectionInput,
12257 ) -> Result<UpdateTerminationProtectionOutput, RusotoError<UpdateTerminationProtectionError>>;
12258
12259 async fn validate_template(
12261 &self,
12262 input: ValidateTemplateInput,
12263 ) -> Result<ValidateTemplateOutput, RusotoError<ValidateTemplateError>>;
12264}
12265#[derive(Clone)]
12267pub struct CloudFormationClient {
12268 client: Client,
12269 region: region::Region,
12270}
12271
12272impl CloudFormationClient {
12273 pub fn new(region: region::Region) -> CloudFormationClient {
12277 CloudFormationClient {
12278 client: Client::shared(),
12279 region,
12280 }
12281 }
12282
12283 pub fn new_with<P, D>(
12284 request_dispatcher: D,
12285 credentials_provider: P,
12286 region: region::Region,
12287 ) -> CloudFormationClient
12288 where
12289 P: ProvideAwsCredentials + Send + Sync + 'static,
12290 D: DispatchSignedRequest + Send + Sync + 'static,
12291 {
12292 CloudFormationClient {
12293 client: Client::new_with(credentials_provider, request_dispatcher),
12294 region,
12295 }
12296 }
12297
12298 pub fn new_with_client(client: Client, region: region::Region) -> CloudFormationClient {
12299 CloudFormationClient { client, region }
12300 }
12301}
12302
12303#[async_trait]
12304impl CloudFormation for CloudFormationClient {
12305 async fn cancel_update_stack(
12307 &self,
12308 input: CancelUpdateStackInput,
12309 ) -> Result<(), RusotoError<CancelUpdateStackError>> {
12310 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12311 let params = self.new_params("CancelUpdateStack");
12312 let mut params = params;
12313 CancelUpdateStackInputSerializer::serialize(&mut params, "", &input);
12314 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12315 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12316
12317 let response = self
12318 .sign_and_dispatch(request, CancelUpdateStackError::from_response)
12319 .await?;
12320
12321 std::mem::drop(response);
12322 Ok(())
12323 }
12324
12325 async fn continue_update_rollback(
12327 &self,
12328 input: ContinueUpdateRollbackInput,
12329 ) -> Result<ContinueUpdateRollbackOutput, RusotoError<ContinueUpdateRollbackError>> {
12330 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12331 let params = self.new_params("ContinueUpdateRollback");
12332 let mut params = params;
12333 ContinueUpdateRollbackInputSerializer::serialize(&mut params, "", &input);
12334 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12335 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12336
12337 let response = self
12338 .sign_and_dispatch(request, ContinueUpdateRollbackError::from_response)
12339 .await?;
12340
12341 let result = ContinueUpdateRollbackOutput::default();
12342
12343 drop(response); Ok(result)
12345 }
12346
12347 async fn create_change_set(
12349 &self,
12350 input: CreateChangeSetInput,
12351 ) -> Result<CreateChangeSetOutput, RusotoError<CreateChangeSetError>> {
12352 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12353 let params = self.new_params("CreateChangeSet");
12354 let mut params = params;
12355 CreateChangeSetInputSerializer::serialize(&mut params, "", &input);
12356 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12357 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12358
12359 let response = self
12360 .sign_and_dispatch(request, CreateChangeSetError::from_response)
12361 .await?;
12362
12363 let mut response = response;
12364 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12365 xml_util::start_element(actual_tag_name, stack)?;
12366 let result =
12367 CreateChangeSetOutputDeserializer::deserialize("CreateChangeSetResult", stack)?;
12368 skip_tree(stack);
12369 xml_util::end_element(actual_tag_name, stack)?;
12370 Ok(result)
12371 })
12372 .await?;
12373
12374 drop(response); Ok(result)
12376 }
12377
12378 async fn create_stack(
12380 &self,
12381 input: CreateStackInput,
12382 ) -> Result<CreateStackOutput, RusotoError<CreateStackError>> {
12383 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12384 let params = self.new_params("CreateStack");
12385 let mut params = params;
12386 CreateStackInputSerializer::serialize(&mut params, "", &input);
12387 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12388 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12389
12390 let response = self
12391 .sign_and_dispatch(request, CreateStackError::from_response)
12392 .await?;
12393
12394 let mut response = response;
12395 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12396 xml_util::start_element(actual_tag_name, stack)?;
12397 let result = CreateStackOutputDeserializer::deserialize("CreateStackResult", stack)?;
12398 skip_tree(stack);
12399 xml_util::end_element(actual_tag_name, stack)?;
12400 Ok(result)
12401 })
12402 .await?;
12403
12404 drop(response); Ok(result)
12406 }
12407
12408 async fn create_stack_instances(
12410 &self,
12411 input: CreateStackInstancesInput,
12412 ) -> Result<CreateStackInstancesOutput, RusotoError<CreateStackInstancesError>> {
12413 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12414 let params = self.new_params("CreateStackInstances");
12415 let mut params = params;
12416 CreateStackInstancesInputSerializer::serialize(&mut params, "", &input);
12417 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12418 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12419
12420 let response = self
12421 .sign_and_dispatch(request, CreateStackInstancesError::from_response)
12422 .await?;
12423
12424 let mut response = response;
12425 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12426 xml_util::start_element(actual_tag_name, stack)?;
12427 let result = CreateStackInstancesOutputDeserializer::deserialize(
12428 "CreateStackInstancesResult",
12429 stack,
12430 )?;
12431 skip_tree(stack);
12432 xml_util::end_element(actual_tag_name, stack)?;
12433 Ok(result)
12434 })
12435 .await?;
12436
12437 drop(response); Ok(result)
12439 }
12440
12441 async fn create_stack_set(
12443 &self,
12444 input: CreateStackSetInput,
12445 ) -> Result<CreateStackSetOutput, RusotoError<CreateStackSetError>> {
12446 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12447 let params = self.new_params("CreateStackSet");
12448 let mut params = params;
12449 CreateStackSetInputSerializer::serialize(&mut params, "", &input);
12450 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12451 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12452
12453 let response = self
12454 .sign_and_dispatch(request, CreateStackSetError::from_response)
12455 .await?;
12456
12457 let mut response = response;
12458 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12459 xml_util::start_element(actual_tag_name, stack)?;
12460 let result =
12461 CreateStackSetOutputDeserializer::deserialize("CreateStackSetResult", stack)?;
12462 skip_tree(stack);
12463 xml_util::end_element(actual_tag_name, stack)?;
12464 Ok(result)
12465 })
12466 .await?;
12467
12468 drop(response); Ok(result)
12470 }
12471
12472 async fn delete_change_set(
12474 &self,
12475 input: DeleteChangeSetInput,
12476 ) -> Result<DeleteChangeSetOutput, RusotoError<DeleteChangeSetError>> {
12477 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12478 let params = self.new_params("DeleteChangeSet");
12479 let mut params = params;
12480 DeleteChangeSetInputSerializer::serialize(&mut params, "", &input);
12481 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12482 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12483
12484 let response = self
12485 .sign_and_dispatch(request, DeleteChangeSetError::from_response)
12486 .await?;
12487
12488 let result = DeleteChangeSetOutput::default();
12489
12490 drop(response); Ok(result)
12492 }
12493
12494 async fn delete_stack(
12496 &self,
12497 input: DeleteStackInput,
12498 ) -> Result<(), RusotoError<DeleteStackError>> {
12499 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12500 let params = self.new_params("DeleteStack");
12501 let mut params = params;
12502 DeleteStackInputSerializer::serialize(&mut params, "", &input);
12503 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12504 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12505
12506 let response = self
12507 .sign_and_dispatch(request, DeleteStackError::from_response)
12508 .await?;
12509
12510 std::mem::drop(response);
12511 Ok(())
12512 }
12513
12514 async fn delete_stack_instances(
12516 &self,
12517 input: DeleteStackInstancesInput,
12518 ) -> Result<DeleteStackInstancesOutput, RusotoError<DeleteStackInstancesError>> {
12519 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12520 let params = self.new_params("DeleteStackInstances");
12521 let mut params = params;
12522 DeleteStackInstancesInputSerializer::serialize(&mut params, "", &input);
12523 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12524 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12525
12526 let response = self
12527 .sign_and_dispatch(request, DeleteStackInstancesError::from_response)
12528 .await?;
12529
12530 let mut response = response;
12531 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12532 xml_util::start_element(actual_tag_name, stack)?;
12533 let result = DeleteStackInstancesOutputDeserializer::deserialize(
12534 "DeleteStackInstancesResult",
12535 stack,
12536 )?;
12537 skip_tree(stack);
12538 xml_util::end_element(actual_tag_name, stack)?;
12539 Ok(result)
12540 })
12541 .await?;
12542
12543 drop(response); Ok(result)
12545 }
12546
12547 async fn delete_stack_set(
12549 &self,
12550 input: DeleteStackSetInput,
12551 ) -> Result<DeleteStackSetOutput, RusotoError<DeleteStackSetError>> {
12552 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12553 let params = self.new_params("DeleteStackSet");
12554 let mut params = params;
12555 DeleteStackSetInputSerializer::serialize(&mut params, "", &input);
12556 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12557 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12558
12559 let response = self
12560 .sign_and_dispatch(request, DeleteStackSetError::from_response)
12561 .await?;
12562
12563 let result = DeleteStackSetOutput::default();
12564
12565 drop(response); Ok(result)
12567 }
12568
12569 async fn deregister_type(
12571 &self,
12572 input: DeregisterTypeInput,
12573 ) -> Result<DeregisterTypeOutput, RusotoError<DeregisterTypeError>> {
12574 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12575 let params = self.new_params("DeregisterType");
12576 let mut params = params;
12577 DeregisterTypeInputSerializer::serialize(&mut params, "", &input);
12578 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12579 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12580
12581 let response = self
12582 .sign_and_dispatch(request, DeregisterTypeError::from_response)
12583 .await?;
12584
12585 let result = DeregisterTypeOutput::default();
12586
12587 drop(response); Ok(result)
12589 }
12590
12591 async fn describe_account_limits(
12593 &self,
12594 input: DescribeAccountLimitsInput,
12595 ) -> Result<DescribeAccountLimitsOutput, RusotoError<DescribeAccountLimitsError>> {
12596 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12597 let params = self.new_params("DescribeAccountLimits");
12598 let mut params = params;
12599 DescribeAccountLimitsInputSerializer::serialize(&mut params, "", &input);
12600 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12601 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12602
12603 let response = self
12604 .sign_and_dispatch(request, DescribeAccountLimitsError::from_response)
12605 .await?;
12606
12607 let mut response = response;
12608 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12609 xml_util::start_element(actual_tag_name, stack)?;
12610 let result = DescribeAccountLimitsOutputDeserializer::deserialize(
12611 "DescribeAccountLimitsResult",
12612 stack,
12613 )?;
12614 skip_tree(stack);
12615 xml_util::end_element(actual_tag_name, stack)?;
12616 Ok(result)
12617 })
12618 .await?;
12619
12620 drop(response); Ok(result)
12622 }
12623
12624 async fn describe_change_set(
12626 &self,
12627 input: DescribeChangeSetInput,
12628 ) -> Result<DescribeChangeSetOutput, RusotoError<DescribeChangeSetError>> {
12629 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12630 let params = self.new_params("DescribeChangeSet");
12631 let mut params = params;
12632 DescribeChangeSetInputSerializer::serialize(&mut params, "", &input);
12633 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12634 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12635
12636 let response = self
12637 .sign_and_dispatch(request, DescribeChangeSetError::from_response)
12638 .await?;
12639
12640 let mut response = response;
12641 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12642 xml_util::start_element(actual_tag_name, stack)?;
12643 let result =
12644 DescribeChangeSetOutputDeserializer::deserialize("DescribeChangeSetResult", stack)?;
12645 skip_tree(stack);
12646 xml_util::end_element(actual_tag_name, stack)?;
12647 Ok(result)
12648 })
12649 .await?;
12650
12651 drop(response); Ok(result)
12653 }
12654
12655 async fn describe_stack_drift_detection_status(
12657 &self,
12658 input: DescribeStackDriftDetectionStatusInput,
12659 ) -> Result<
12660 DescribeStackDriftDetectionStatusOutput,
12661 RusotoError<DescribeStackDriftDetectionStatusError>,
12662 > {
12663 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12664 let params = self.new_params("DescribeStackDriftDetectionStatus");
12665 let mut params = params;
12666 DescribeStackDriftDetectionStatusInputSerializer::serialize(&mut params, "", &input);
12667 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12668 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12669
12670 let response = self
12671 .sign_and_dispatch(
12672 request,
12673 DescribeStackDriftDetectionStatusError::from_response,
12674 )
12675 .await?;
12676
12677 let mut response = response;
12678 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12679 xml_util::start_element(actual_tag_name, stack)?;
12680 let result = DescribeStackDriftDetectionStatusOutputDeserializer::deserialize(
12681 "DescribeStackDriftDetectionStatusResult",
12682 stack,
12683 )?;
12684 skip_tree(stack);
12685 xml_util::end_element(actual_tag_name, stack)?;
12686 Ok(result)
12687 })
12688 .await?;
12689
12690 drop(response); Ok(result)
12692 }
12693
12694 async fn describe_stack_events(
12696 &self,
12697 input: DescribeStackEventsInput,
12698 ) -> Result<DescribeStackEventsOutput, RusotoError<DescribeStackEventsError>> {
12699 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12700 let params = self.new_params("DescribeStackEvents");
12701 let mut params = params;
12702 DescribeStackEventsInputSerializer::serialize(&mut params, "", &input);
12703 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12704 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12705
12706 let response = self
12707 .sign_and_dispatch(request, DescribeStackEventsError::from_response)
12708 .await?;
12709
12710 let mut response = response;
12711 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12712 xml_util::start_element(actual_tag_name, stack)?;
12713 let result = DescribeStackEventsOutputDeserializer::deserialize(
12714 "DescribeStackEventsResult",
12715 stack,
12716 )?;
12717 skip_tree(stack);
12718 xml_util::end_element(actual_tag_name, stack)?;
12719 Ok(result)
12720 })
12721 .await?;
12722
12723 drop(response); Ok(result)
12725 }
12726
12727 async fn describe_stack_instance(
12729 &self,
12730 input: DescribeStackInstanceInput,
12731 ) -> Result<DescribeStackInstanceOutput, RusotoError<DescribeStackInstanceError>> {
12732 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12733 let params = self.new_params("DescribeStackInstance");
12734 let mut params = params;
12735 DescribeStackInstanceInputSerializer::serialize(&mut params, "", &input);
12736 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12737 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12738
12739 let response = self
12740 .sign_and_dispatch(request, DescribeStackInstanceError::from_response)
12741 .await?;
12742
12743 let mut response = response;
12744 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12745 xml_util::start_element(actual_tag_name, stack)?;
12746 let result = DescribeStackInstanceOutputDeserializer::deserialize(
12747 "DescribeStackInstanceResult",
12748 stack,
12749 )?;
12750 skip_tree(stack);
12751 xml_util::end_element(actual_tag_name, stack)?;
12752 Ok(result)
12753 })
12754 .await?;
12755
12756 drop(response); Ok(result)
12758 }
12759
12760 async fn describe_stack_resource(
12762 &self,
12763 input: DescribeStackResourceInput,
12764 ) -> Result<DescribeStackResourceOutput, RusotoError<DescribeStackResourceError>> {
12765 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12766 let params = self.new_params("DescribeStackResource");
12767 let mut params = params;
12768 DescribeStackResourceInputSerializer::serialize(&mut params, "", &input);
12769 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12770 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12771
12772 let response = self
12773 .sign_and_dispatch(request, DescribeStackResourceError::from_response)
12774 .await?;
12775
12776 let mut response = response;
12777 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12778 xml_util::start_element(actual_tag_name, stack)?;
12779 let result = DescribeStackResourceOutputDeserializer::deserialize(
12780 "DescribeStackResourceResult",
12781 stack,
12782 )?;
12783 skip_tree(stack);
12784 xml_util::end_element(actual_tag_name, stack)?;
12785 Ok(result)
12786 })
12787 .await?;
12788
12789 drop(response); Ok(result)
12791 }
12792
12793 async fn describe_stack_resource_drifts(
12795 &self,
12796 input: DescribeStackResourceDriftsInput,
12797 ) -> Result<DescribeStackResourceDriftsOutput, RusotoError<DescribeStackResourceDriftsError>>
12798 {
12799 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12800 let params = self.new_params("DescribeStackResourceDrifts");
12801 let mut params = params;
12802 DescribeStackResourceDriftsInputSerializer::serialize(&mut params, "", &input);
12803 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12804 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12805
12806 let response = self
12807 .sign_and_dispatch(request, DescribeStackResourceDriftsError::from_response)
12808 .await?;
12809
12810 let mut response = response;
12811 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12812 xml_util::start_element(actual_tag_name, stack)?;
12813 let result = DescribeStackResourceDriftsOutputDeserializer::deserialize(
12814 "DescribeStackResourceDriftsResult",
12815 stack,
12816 )?;
12817 skip_tree(stack);
12818 xml_util::end_element(actual_tag_name, stack)?;
12819 Ok(result)
12820 })
12821 .await?;
12822
12823 drop(response); Ok(result)
12825 }
12826
12827 async fn describe_stack_resources(
12829 &self,
12830 input: DescribeStackResourcesInput,
12831 ) -> Result<DescribeStackResourcesOutput, RusotoError<DescribeStackResourcesError>> {
12832 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12833 let params = self.new_params("DescribeStackResources");
12834 let mut params = params;
12835 DescribeStackResourcesInputSerializer::serialize(&mut params, "", &input);
12836 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12837 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12838
12839 let response = self
12840 .sign_and_dispatch(request, DescribeStackResourcesError::from_response)
12841 .await?;
12842
12843 let mut response = response;
12844 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12845 xml_util::start_element(actual_tag_name, stack)?;
12846 let result = DescribeStackResourcesOutputDeserializer::deserialize(
12847 "DescribeStackResourcesResult",
12848 stack,
12849 )?;
12850 skip_tree(stack);
12851 xml_util::end_element(actual_tag_name, stack)?;
12852 Ok(result)
12853 })
12854 .await?;
12855
12856 drop(response); Ok(result)
12858 }
12859
12860 async fn describe_stack_set(
12862 &self,
12863 input: DescribeStackSetInput,
12864 ) -> Result<DescribeStackSetOutput, RusotoError<DescribeStackSetError>> {
12865 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12866 let params = self.new_params("DescribeStackSet");
12867 let mut params = params;
12868 DescribeStackSetInputSerializer::serialize(&mut params, "", &input);
12869 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12870 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12871
12872 let response = self
12873 .sign_and_dispatch(request, DescribeStackSetError::from_response)
12874 .await?;
12875
12876 let mut response = response;
12877 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12878 xml_util::start_element(actual_tag_name, stack)?;
12879 let result =
12880 DescribeStackSetOutputDeserializer::deserialize("DescribeStackSetResult", stack)?;
12881 skip_tree(stack);
12882 xml_util::end_element(actual_tag_name, stack)?;
12883 Ok(result)
12884 })
12885 .await?;
12886
12887 drop(response); Ok(result)
12889 }
12890
12891 async fn describe_stack_set_operation(
12893 &self,
12894 input: DescribeStackSetOperationInput,
12895 ) -> Result<DescribeStackSetOperationOutput, RusotoError<DescribeStackSetOperationError>> {
12896 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12897 let params = self.new_params("DescribeStackSetOperation");
12898 let mut params = params;
12899 DescribeStackSetOperationInputSerializer::serialize(&mut params, "", &input);
12900 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12901 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12902
12903 let response = self
12904 .sign_and_dispatch(request, DescribeStackSetOperationError::from_response)
12905 .await?;
12906
12907 let mut response = response;
12908 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12909 xml_util::start_element(actual_tag_name, stack)?;
12910 let result = DescribeStackSetOperationOutputDeserializer::deserialize(
12911 "DescribeStackSetOperationResult",
12912 stack,
12913 )?;
12914 skip_tree(stack);
12915 xml_util::end_element(actual_tag_name, stack)?;
12916 Ok(result)
12917 })
12918 .await?;
12919
12920 drop(response); Ok(result)
12922 }
12923
12924 async fn describe_stacks(
12926 &self,
12927 input: DescribeStacksInput,
12928 ) -> Result<DescribeStacksOutput, RusotoError<DescribeStacksError>> {
12929 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12930 let params = self.new_params("DescribeStacks");
12931 let mut params = params;
12932 DescribeStacksInputSerializer::serialize(&mut params, "", &input);
12933 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12934 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12935
12936 let response = self
12937 .sign_and_dispatch(request, DescribeStacksError::from_response)
12938 .await?;
12939
12940 let mut response = response;
12941 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12942 xml_util::start_element(actual_tag_name, stack)?;
12943 let result =
12944 DescribeStacksOutputDeserializer::deserialize("DescribeStacksResult", stack)?;
12945 skip_tree(stack);
12946 xml_util::end_element(actual_tag_name, stack)?;
12947 Ok(result)
12948 })
12949 .await?;
12950
12951 drop(response); Ok(result)
12953 }
12954
12955 async fn describe_type(
12957 &self,
12958 input: DescribeTypeInput,
12959 ) -> Result<DescribeTypeOutput, RusotoError<DescribeTypeError>> {
12960 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12961 let params = self.new_params("DescribeType");
12962 let mut params = params;
12963 DescribeTypeInputSerializer::serialize(&mut params, "", &input);
12964 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12965 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12966
12967 let response = self
12968 .sign_and_dispatch(request, DescribeTypeError::from_response)
12969 .await?;
12970
12971 let mut response = response;
12972 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
12973 xml_util::start_element(actual_tag_name, stack)?;
12974 let result = DescribeTypeOutputDeserializer::deserialize("DescribeTypeResult", stack)?;
12975 skip_tree(stack);
12976 xml_util::end_element(actual_tag_name, stack)?;
12977 Ok(result)
12978 })
12979 .await?;
12980
12981 drop(response); Ok(result)
12983 }
12984
12985 async fn describe_type_registration(
12987 &self,
12988 input: DescribeTypeRegistrationInput,
12989 ) -> Result<DescribeTypeRegistrationOutput, RusotoError<DescribeTypeRegistrationError>> {
12990 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
12991 let params = self.new_params("DescribeTypeRegistration");
12992 let mut params = params;
12993 DescribeTypeRegistrationInputSerializer::serialize(&mut params, "", &input);
12994 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
12995 request.set_content_type("application/x-www-form-urlencoded".to_owned());
12996
12997 let response = self
12998 .sign_and_dispatch(request, DescribeTypeRegistrationError::from_response)
12999 .await?;
13000
13001 let mut response = response;
13002 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13003 xml_util::start_element(actual_tag_name, stack)?;
13004 let result = DescribeTypeRegistrationOutputDeserializer::deserialize(
13005 "DescribeTypeRegistrationResult",
13006 stack,
13007 )?;
13008 skip_tree(stack);
13009 xml_util::end_element(actual_tag_name, stack)?;
13010 Ok(result)
13011 })
13012 .await?;
13013
13014 drop(response); Ok(result)
13016 }
13017
13018 async fn detect_stack_drift(
13020 &self,
13021 input: DetectStackDriftInput,
13022 ) -> Result<DetectStackDriftOutput, RusotoError<DetectStackDriftError>> {
13023 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13024 let params = self.new_params("DetectStackDrift");
13025 let mut params = params;
13026 DetectStackDriftInputSerializer::serialize(&mut params, "", &input);
13027 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13028 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13029
13030 let response = self
13031 .sign_and_dispatch(request, DetectStackDriftError::from_response)
13032 .await?;
13033
13034 let mut response = response;
13035 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13036 xml_util::start_element(actual_tag_name, stack)?;
13037 let result =
13038 DetectStackDriftOutputDeserializer::deserialize("DetectStackDriftResult", stack)?;
13039 skip_tree(stack);
13040 xml_util::end_element(actual_tag_name, stack)?;
13041 Ok(result)
13042 })
13043 .await?;
13044
13045 drop(response); Ok(result)
13047 }
13048
13049 async fn detect_stack_resource_drift(
13051 &self,
13052 input: DetectStackResourceDriftInput,
13053 ) -> Result<DetectStackResourceDriftOutput, RusotoError<DetectStackResourceDriftError>> {
13054 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13055 let params = self.new_params("DetectStackResourceDrift");
13056 let mut params = params;
13057 DetectStackResourceDriftInputSerializer::serialize(&mut params, "", &input);
13058 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13059 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13060
13061 let response = self
13062 .sign_and_dispatch(request, DetectStackResourceDriftError::from_response)
13063 .await?;
13064
13065 let mut response = response;
13066 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13067 xml_util::start_element(actual_tag_name, stack)?;
13068 let result = DetectStackResourceDriftOutputDeserializer::deserialize(
13069 "DetectStackResourceDriftResult",
13070 stack,
13071 )?;
13072 skip_tree(stack);
13073 xml_util::end_element(actual_tag_name, stack)?;
13074 Ok(result)
13075 })
13076 .await?;
13077
13078 drop(response); Ok(result)
13080 }
13081
13082 async fn detect_stack_set_drift(
13084 &self,
13085 input: DetectStackSetDriftInput,
13086 ) -> Result<DetectStackSetDriftOutput, RusotoError<DetectStackSetDriftError>> {
13087 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13088 let params = self.new_params("DetectStackSetDrift");
13089 let mut params = params;
13090 DetectStackSetDriftInputSerializer::serialize(&mut params, "", &input);
13091 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13092 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13093
13094 let response = self
13095 .sign_and_dispatch(request, DetectStackSetDriftError::from_response)
13096 .await?;
13097
13098 let mut response = response;
13099 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13100 xml_util::start_element(actual_tag_name, stack)?;
13101 let result = DetectStackSetDriftOutputDeserializer::deserialize(
13102 "DetectStackSetDriftResult",
13103 stack,
13104 )?;
13105 skip_tree(stack);
13106 xml_util::end_element(actual_tag_name, stack)?;
13107 Ok(result)
13108 })
13109 .await?;
13110
13111 drop(response); Ok(result)
13113 }
13114
13115 async fn estimate_template_cost(
13117 &self,
13118 input: EstimateTemplateCostInput,
13119 ) -> Result<EstimateTemplateCostOutput, RusotoError<EstimateTemplateCostError>> {
13120 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13121 let params = self.new_params("EstimateTemplateCost");
13122 let mut params = params;
13123 EstimateTemplateCostInputSerializer::serialize(&mut params, "", &input);
13124 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13125 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13126
13127 let response = self
13128 .sign_and_dispatch(request, EstimateTemplateCostError::from_response)
13129 .await?;
13130
13131 let mut response = response;
13132 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13133 xml_util::start_element(actual_tag_name, stack)?;
13134 let result = EstimateTemplateCostOutputDeserializer::deserialize(
13135 "EstimateTemplateCostResult",
13136 stack,
13137 )?;
13138 skip_tree(stack);
13139 xml_util::end_element(actual_tag_name, stack)?;
13140 Ok(result)
13141 })
13142 .await?;
13143
13144 drop(response); Ok(result)
13146 }
13147
13148 async fn execute_change_set(
13150 &self,
13151 input: ExecuteChangeSetInput,
13152 ) -> Result<ExecuteChangeSetOutput, RusotoError<ExecuteChangeSetError>> {
13153 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13154 let params = self.new_params("ExecuteChangeSet");
13155 let mut params = params;
13156 ExecuteChangeSetInputSerializer::serialize(&mut params, "", &input);
13157 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13158 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13159
13160 let response = self
13161 .sign_and_dispatch(request, ExecuteChangeSetError::from_response)
13162 .await?;
13163
13164 let result = ExecuteChangeSetOutput::default();
13165
13166 drop(response); Ok(result)
13168 }
13169
13170 async fn get_stack_policy(
13172 &self,
13173 input: GetStackPolicyInput,
13174 ) -> Result<GetStackPolicyOutput, RusotoError<GetStackPolicyError>> {
13175 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13176 let params = self.new_params("GetStackPolicy");
13177 let mut params = params;
13178 GetStackPolicyInputSerializer::serialize(&mut params, "", &input);
13179 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13180 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13181
13182 let response = self
13183 .sign_and_dispatch(request, GetStackPolicyError::from_response)
13184 .await?;
13185
13186 let mut response = response;
13187 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13188 xml_util::start_element(actual_tag_name, stack)?;
13189 let result =
13190 GetStackPolicyOutputDeserializer::deserialize("GetStackPolicyResult", stack)?;
13191 skip_tree(stack);
13192 xml_util::end_element(actual_tag_name, stack)?;
13193 Ok(result)
13194 })
13195 .await?;
13196
13197 drop(response); Ok(result)
13199 }
13200
13201 async fn get_template(
13203 &self,
13204 input: GetTemplateInput,
13205 ) -> Result<GetTemplateOutput, RusotoError<GetTemplateError>> {
13206 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13207 let params = self.new_params("GetTemplate");
13208 let mut params = params;
13209 GetTemplateInputSerializer::serialize(&mut params, "", &input);
13210 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13211 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13212
13213 let response = self
13214 .sign_and_dispatch(request, GetTemplateError::from_response)
13215 .await?;
13216
13217 let mut response = response;
13218 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13219 xml_util::start_element(actual_tag_name, stack)?;
13220 let result = GetTemplateOutputDeserializer::deserialize("GetTemplateResult", stack)?;
13221 skip_tree(stack);
13222 xml_util::end_element(actual_tag_name, stack)?;
13223 Ok(result)
13224 })
13225 .await?;
13226
13227 drop(response); Ok(result)
13229 }
13230
13231 async fn get_template_summary(
13233 &self,
13234 input: GetTemplateSummaryInput,
13235 ) -> Result<GetTemplateSummaryOutput, RusotoError<GetTemplateSummaryError>> {
13236 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13237 let params = self.new_params("GetTemplateSummary");
13238 let mut params = params;
13239 GetTemplateSummaryInputSerializer::serialize(&mut params, "", &input);
13240 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13241 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13242
13243 let response = self
13244 .sign_and_dispatch(request, GetTemplateSummaryError::from_response)
13245 .await?;
13246
13247 let mut response = response;
13248 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13249 xml_util::start_element(actual_tag_name, stack)?;
13250 let result = GetTemplateSummaryOutputDeserializer::deserialize(
13251 "GetTemplateSummaryResult",
13252 stack,
13253 )?;
13254 skip_tree(stack);
13255 xml_util::end_element(actual_tag_name, stack)?;
13256 Ok(result)
13257 })
13258 .await?;
13259
13260 drop(response); Ok(result)
13262 }
13263
13264 async fn list_change_sets(
13266 &self,
13267 input: ListChangeSetsInput,
13268 ) -> Result<ListChangeSetsOutput, RusotoError<ListChangeSetsError>> {
13269 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13270 let params = self.new_params("ListChangeSets");
13271 let mut params = params;
13272 ListChangeSetsInputSerializer::serialize(&mut params, "", &input);
13273 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13274 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13275
13276 let response = self
13277 .sign_and_dispatch(request, ListChangeSetsError::from_response)
13278 .await?;
13279
13280 let mut response = response;
13281 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13282 xml_util::start_element(actual_tag_name, stack)?;
13283 let result =
13284 ListChangeSetsOutputDeserializer::deserialize("ListChangeSetsResult", stack)?;
13285 skip_tree(stack);
13286 xml_util::end_element(actual_tag_name, stack)?;
13287 Ok(result)
13288 })
13289 .await?;
13290
13291 drop(response); Ok(result)
13293 }
13294
13295 async fn list_exports(
13297 &self,
13298 input: ListExportsInput,
13299 ) -> Result<ListExportsOutput, RusotoError<ListExportsError>> {
13300 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13301 let params = self.new_params("ListExports");
13302 let mut params = params;
13303 ListExportsInputSerializer::serialize(&mut params, "", &input);
13304 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13305 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13306
13307 let response = self
13308 .sign_and_dispatch(request, ListExportsError::from_response)
13309 .await?;
13310
13311 let mut response = response;
13312 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13313 xml_util::start_element(actual_tag_name, stack)?;
13314 let result = ListExportsOutputDeserializer::deserialize("ListExportsResult", stack)?;
13315 skip_tree(stack);
13316 xml_util::end_element(actual_tag_name, stack)?;
13317 Ok(result)
13318 })
13319 .await?;
13320
13321 drop(response); Ok(result)
13323 }
13324
13325 async fn list_imports(
13327 &self,
13328 input: ListImportsInput,
13329 ) -> Result<ListImportsOutput, RusotoError<ListImportsError>> {
13330 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13331 let params = self.new_params("ListImports");
13332 let mut params = params;
13333 ListImportsInputSerializer::serialize(&mut params, "", &input);
13334 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13335 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13336
13337 let response = self
13338 .sign_and_dispatch(request, ListImportsError::from_response)
13339 .await?;
13340
13341 let mut response = response;
13342 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13343 xml_util::start_element(actual_tag_name, stack)?;
13344 let result = ListImportsOutputDeserializer::deserialize("ListImportsResult", stack)?;
13345 skip_tree(stack);
13346 xml_util::end_element(actual_tag_name, stack)?;
13347 Ok(result)
13348 })
13349 .await?;
13350
13351 drop(response); Ok(result)
13353 }
13354
13355 async fn list_stack_instances(
13357 &self,
13358 input: ListStackInstancesInput,
13359 ) -> Result<ListStackInstancesOutput, RusotoError<ListStackInstancesError>> {
13360 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13361 let params = self.new_params("ListStackInstances");
13362 let mut params = params;
13363 ListStackInstancesInputSerializer::serialize(&mut params, "", &input);
13364 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13365 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13366
13367 let response = self
13368 .sign_and_dispatch(request, ListStackInstancesError::from_response)
13369 .await?;
13370
13371 let mut response = response;
13372 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13373 xml_util::start_element(actual_tag_name, stack)?;
13374 let result = ListStackInstancesOutputDeserializer::deserialize(
13375 "ListStackInstancesResult",
13376 stack,
13377 )?;
13378 skip_tree(stack);
13379 xml_util::end_element(actual_tag_name, stack)?;
13380 Ok(result)
13381 })
13382 .await?;
13383
13384 drop(response); Ok(result)
13386 }
13387
13388 async fn list_stack_resources(
13390 &self,
13391 input: ListStackResourcesInput,
13392 ) -> Result<ListStackResourcesOutput, RusotoError<ListStackResourcesError>> {
13393 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13394 let params = self.new_params("ListStackResources");
13395 let mut params = params;
13396 ListStackResourcesInputSerializer::serialize(&mut params, "", &input);
13397 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13398 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13399
13400 let response = self
13401 .sign_and_dispatch(request, ListStackResourcesError::from_response)
13402 .await?;
13403
13404 let mut response = response;
13405 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13406 xml_util::start_element(actual_tag_name, stack)?;
13407 let result = ListStackResourcesOutputDeserializer::deserialize(
13408 "ListStackResourcesResult",
13409 stack,
13410 )?;
13411 skip_tree(stack);
13412 xml_util::end_element(actual_tag_name, stack)?;
13413 Ok(result)
13414 })
13415 .await?;
13416
13417 drop(response); Ok(result)
13419 }
13420
13421 async fn list_stack_set_operation_results(
13423 &self,
13424 input: ListStackSetOperationResultsInput,
13425 ) -> Result<ListStackSetOperationResultsOutput, RusotoError<ListStackSetOperationResultsError>>
13426 {
13427 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13428 let params = self.new_params("ListStackSetOperationResults");
13429 let mut params = params;
13430 ListStackSetOperationResultsInputSerializer::serialize(&mut params, "", &input);
13431 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13432 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13433
13434 let response = self
13435 .sign_and_dispatch(request, ListStackSetOperationResultsError::from_response)
13436 .await?;
13437
13438 let mut response = response;
13439 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13440 xml_util::start_element(actual_tag_name, stack)?;
13441 let result = ListStackSetOperationResultsOutputDeserializer::deserialize(
13442 "ListStackSetOperationResultsResult",
13443 stack,
13444 )?;
13445 skip_tree(stack);
13446 xml_util::end_element(actual_tag_name, stack)?;
13447 Ok(result)
13448 })
13449 .await?;
13450
13451 drop(response); Ok(result)
13453 }
13454
13455 async fn list_stack_set_operations(
13457 &self,
13458 input: ListStackSetOperationsInput,
13459 ) -> Result<ListStackSetOperationsOutput, RusotoError<ListStackSetOperationsError>> {
13460 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13461 let params = self.new_params("ListStackSetOperations");
13462 let mut params = params;
13463 ListStackSetOperationsInputSerializer::serialize(&mut params, "", &input);
13464 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13465 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13466
13467 let response = self
13468 .sign_and_dispatch(request, ListStackSetOperationsError::from_response)
13469 .await?;
13470
13471 let mut response = response;
13472 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13473 xml_util::start_element(actual_tag_name, stack)?;
13474 let result = ListStackSetOperationsOutputDeserializer::deserialize(
13475 "ListStackSetOperationsResult",
13476 stack,
13477 )?;
13478 skip_tree(stack);
13479 xml_util::end_element(actual_tag_name, stack)?;
13480 Ok(result)
13481 })
13482 .await?;
13483
13484 drop(response); Ok(result)
13486 }
13487
13488 async fn list_stack_sets(
13490 &self,
13491 input: ListStackSetsInput,
13492 ) -> Result<ListStackSetsOutput, RusotoError<ListStackSetsError>> {
13493 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13494 let params = self.new_params("ListStackSets");
13495 let mut params = params;
13496 ListStackSetsInputSerializer::serialize(&mut params, "", &input);
13497 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13498 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13499
13500 let response = self
13501 .sign_and_dispatch(request, ListStackSetsError::from_response)
13502 .await?;
13503
13504 let mut response = response;
13505 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13506 xml_util::start_element(actual_tag_name, stack)?;
13507 let result =
13508 ListStackSetsOutputDeserializer::deserialize("ListStackSetsResult", stack)?;
13509 skip_tree(stack);
13510 xml_util::end_element(actual_tag_name, stack)?;
13511 Ok(result)
13512 })
13513 .await?;
13514
13515 drop(response); Ok(result)
13517 }
13518
13519 async fn list_stacks(
13521 &self,
13522 input: ListStacksInput,
13523 ) -> Result<ListStacksOutput, RusotoError<ListStacksError>> {
13524 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13525 let params = self.new_params("ListStacks");
13526 let mut params = params;
13527 ListStacksInputSerializer::serialize(&mut params, "", &input);
13528 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13529 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13530
13531 let response = self
13532 .sign_and_dispatch(request, ListStacksError::from_response)
13533 .await?;
13534
13535 let mut response = response;
13536 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13537 xml_util::start_element(actual_tag_name, stack)?;
13538 let result = ListStacksOutputDeserializer::deserialize("ListStacksResult", stack)?;
13539 skip_tree(stack);
13540 xml_util::end_element(actual_tag_name, stack)?;
13541 Ok(result)
13542 })
13543 .await?;
13544
13545 drop(response); Ok(result)
13547 }
13548
13549 async fn list_type_registrations(
13551 &self,
13552 input: ListTypeRegistrationsInput,
13553 ) -> Result<ListTypeRegistrationsOutput, RusotoError<ListTypeRegistrationsError>> {
13554 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13555 let params = self.new_params("ListTypeRegistrations");
13556 let mut params = params;
13557 ListTypeRegistrationsInputSerializer::serialize(&mut params, "", &input);
13558 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13559 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13560
13561 let response = self
13562 .sign_and_dispatch(request, ListTypeRegistrationsError::from_response)
13563 .await?;
13564
13565 let mut response = response;
13566 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13567 xml_util::start_element(actual_tag_name, stack)?;
13568 let result = ListTypeRegistrationsOutputDeserializer::deserialize(
13569 "ListTypeRegistrationsResult",
13570 stack,
13571 )?;
13572 skip_tree(stack);
13573 xml_util::end_element(actual_tag_name, stack)?;
13574 Ok(result)
13575 })
13576 .await?;
13577
13578 drop(response); Ok(result)
13580 }
13581
13582 async fn list_type_versions(
13584 &self,
13585 input: ListTypeVersionsInput,
13586 ) -> Result<ListTypeVersionsOutput, RusotoError<ListTypeVersionsError>> {
13587 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13588 let params = self.new_params("ListTypeVersions");
13589 let mut params = params;
13590 ListTypeVersionsInputSerializer::serialize(&mut params, "", &input);
13591 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13592 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13593
13594 let response = self
13595 .sign_and_dispatch(request, ListTypeVersionsError::from_response)
13596 .await?;
13597
13598 let mut response = response;
13599 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13600 xml_util::start_element(actual_tag_name, stack)?;
13601 let result =
13602 ListTypeVersionsOutputDeserializer::deserialize("ListTypeVersionsResult", stack)?;
13603 skip_tree(stack);
13604 xml_util::end_element(actual_tag_name, stack)?;
13605 Ok(result)
13606 })
13607 .await?;
13608
13609 drop(response); Ok(result)
13611 }
13612
13613 async fn list_types(
13615 &self,
13616 input: ListTypesInput,
13617 ) -> Result<ListTypesOutput, RusotoError<ListTypesError>> {
13618 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13619 let params = self.new_params("ListTypes");
13620 let mut params = params;
13621 ListTypesInputSerializer::serialize(&mut params, "", &input);
13622 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13623 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13624
13625 let response = self
13626 .sign_and_dispatch(request, ListTypesError::from_response)
13627 .await?;
13628
13629 let mut response = response;
13630 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13631 xml_util::start_element(actual_tag_name, stack)?;
13632 let result = ListTypesOutputDeserializer::deserialize("ListTypesResult", stack)?;
13633 skip_tree(stack);
13634 xml_util::end_element(actual_tag_name, stack)?;
13635 Ok(result)
13636 })
13637 .await?;
13638
13639 drop(response); Ok(result)
13641 }
13642
13643 async fn record_handler_progress(
13645 &self,
13646 input: RecordHandlerProgressInput,
13647 ) -> Result<RecordHandlerProgressOutput, RusotoError<RecordHandlerProgressError>> {
13648 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13649 let params = self.new_params("RecordHandlerProgress");
13650 let mut params = params;
13651 RecordHandlerProgressInputSerializer::serialize(&mut params, "", &input);
13652 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13653 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13654
13655 let response = self
13656 .sign_and_dispatch(request, RecordHandlerProgressError::from_response)
13657 .await?;
13658
13659 let result = RecordHandlerProgressOutput::default();
13660
13661 drop(response); Ok(result)
13663 }
13664
13665 async fn register_type(
13667 &self,
13668 input: RegisterTypeInput,
13669 ) -> Result<RegisterTypeOutput, RusotoError<RegisterTypeError>> {
13670 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13671 let params = self.new_params("RegisterType");
13672 let mut params = params;
13673 RegisterTypeInputSerializer::serialize(&mut params, "", &input);
13674 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13675 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13676
13677 let response = self
13678 .sign_and_dispatch(request, RegisterTypeError::from_response)
13679 .await?;
13680
13681 let mut response = response;
13682 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13683 xml_util::start_element(actual_tag_name, stack)?;
13684 let result = RegisterTypeOutputDeserializer::deserialize("RegisterTypeResult", stack)?;
13685 skip_tree(stack);
13686 xml_util::end_element(actual_tag_name, stack)?;
13687 Ok(result)
13688 })
13689 .await?;
13690
13691 drop(response); Ok(result)
13693 }
13694
13695 async fn set_stack_policy(
13697 &self,
13698 input: SetStackPolicyInput,
13699 ) -> Result<(), RusotoError<SetStackPolicyError>> {
13700 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13701 let params = self.new_params("SetStackPolicy");
13702 let mut params = params;
13703 SetStackPolicyInputSerializer::serialize(&mut params, "", &input);
13704 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13705 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13706
13707 let response = self
13708 .sign_and_dispatch(request, SetStackPolicyError::from_response)
13709 .await?;
13710
13711 std::mem::drop(response);
13712 Ok(())
13713 }
13714
13715 async fn set_type_default_version(
13717 &self,
13718 input: SetTypeDefaultVersionInput,
13719 ) -> Result<SetTypeDefaultVersionOutput, RusotoError<SetTypeDefaultVersionError>> {
13720 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13721 let params = self.new_params("SetTypeDefaultVersion");
13722 let mut params = params;
13723 SetTypeDefaultVersionInputSerializer::serialize(&mut params, "", &input);
13724 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13725 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13726
13727 let response = self
13728 .sign_and_dispatch(request, SetTypeDefaultVersionError::from_response)
13729 .await?;
13730
13731 let result = SetTypeDefaultVersionOutput::default();
13732
13733 drop(response); Ok(result)
13735 }
13736
13737 async fn signal_resource(
13739 &self,
13740 input: SignalResourceInput,
13741 ) -> Result<(), RusotoError<SignalResourceError>> {
13742 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13743 let params = self.new_params("SignalResource");
13744 let mut params = params;
13745 SignalResourceInputSerializer::serialize(&mut params, "", &input);
13746 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13747 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13748
13749 let response = self
13750 .sign_and_dispatch(request, SignalResourceError::from_response)
13751 .await?;
13752
13753 std::mem::drop(response);
13754 Ok(())
13755 }
13756
13757 async fn stop_stack_set_operation(
13759 &self,
13760 input: StopStackSetOperationInput,
13761 ) -> Result<StopStackSetOperationOutput, RusotoError<StopStackSetOperationError>> {
13762 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13763 let params = self.new_params("StopStackSetOperation");
13764 let mut params = params;
13765 StopStackSetOperationInputSerializer::serialize(&mut params, "", &input);
13766 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13767 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13768
13769 let response = self
13770 .sign_and_dispatch(request, StopStackSetOperationError::from_response)
13771 .await?;
13772
13773 let result = StopStackSetOperationOutput::default();
13774
13775 drop(response); Ok(result)
13777 }
13778
13779 async fn update_stack(
13781 &self,
13782 input: UpdateStackInput,
13783 ) -> Result<UpdateStackOutput, RusotoError<UpdateStackError>> {
13784 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13785 let params = self.new_params("UpdateStack");
13786 let mut params = params;
13787 UpdateStackInputSerializer::serialize(&mut params, "", &input);
13788 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13789 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13790
13791 let response = self
13792 .sign_and_dispatch(request, UpdateStackError::from_response)
13793 .await?;
13794
13795 let mut response = response;
13796 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13797 xml_util::start_element(actual_tag_name, stack)?;
13798 let result = UpdateStackOutputDeserializer::deserialize("UpdateStackResult", stack)?;
13799 skip_tree(stack);
13800 xml_util::end_element(actual_tag_name, stack)?;
13801 Ok(result)
13802 })
13803 .await?;
13804
13805 drop(response); Ok(result)
13807 }
13808
13809 async fn update_stack_instances(
13811 &self,
13812 input: UpdateStackInstancesInput,
13813 ) -> Result<UpdateStackInstancesOutput, RusotoError<UpdateStackInstancesError>> {
13814 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13815 let params = self.new_params("UpdateStackInstances");
13816 let mut params = params;
13817 UpdateStackInstancesInputSerializer::serialize(&mut params, "", &input);
13818 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13819 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13820
13821 let response = self
13822 .sign_and_dispatch(request, UpdateStackInstancesError::from_response)
13823 .await?;
13824
13825 let mut response = response;
13826 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13827 xml_util::start_element(actual_tag_name, stack)?;
13828 let result = UpdateStackInstancesOutputDeserializer::deserialize(
13829 "UpdateStackInstancesResult",
13830 stack,
13831 )?;
13832 skip_tree(stack);
13833 xml_util::end_element(actual_tag_name, stack)?;
13834 Ok(result)
13835 })
13836 .await?;
13837
13838 drop(response); Ok(result)
13840 }
13841
13842 async fn update_stack_set(
13844 &self,
13845 input: UpdateStackSetInput,
13846 ) -> Result<UpdateStackSetOutput, RusotoError<UpdateStackSetError>> {
13847 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13848 let params = self.new_params("UpdateStackSet");
13849 let mut params = params;
13850 UpdateStackSetInputSerializer::serialize(&mut params, "", &input);
13851 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13852 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13853
13854 let response = self
13855 .sign_and_dispatch(request, UpdateStackSetError::from_response)
13856 .await?;
13857
13858 let mut response = response;
13859 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13860 xml_util::start_element(actual_tag_name, stack)?;
13861 let result =
13862 UpdateStackSetOutputDeserializer::deserialize("UpdateStackSetResult", stack)?;
13863 skip_tree(stack);
13864 xml_util::end_element(actual_tag_name, stack)?;
13865 Ok(result)
13866 })
13867 .await?;
13868
13869 drop(response); Ok(result)
13871 }
13872
13873 async fn update_termination_protection(
13875 &self,
13876 input: UpdateTerminationProtectionInput,
13877 ) -> Result<UpdateTerminationProtectionOutput, RusotoError<UpdateTerminationProtectionError>>
13878 {
13879 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13880 let params = self.new_params("UpdateTerminationProtection");
13881 let mut params = params;
13882 UpdateTerminationProtectionInputSerializer::serialize(&mut params, "", &input);
13883 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13884 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13885
13886 let response = self
13887 .sign_and_dispatch(request, UpdateTerminationProtectionError::from_response)
13888 .await?;
13889
13890 let mut response = response;
13891 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13892 xml_util::start_element(actual_tag_name, stack)?;
13893 let result = UpdateTerminationProtectionOutputDeserializer::deserialize(
13894 "UpdateTerminationProtectionResult",
13895 stack,
13896 )?;
13897 skip_tree(stack);
13898 xml_util::end_element(actual_tag_name, stack)?;
13899 Ok(result)
13900 })
13901 .await?;
13902
13903 drop(response); Ok(result)
13905 }
13906
13907 async fn validate_template(
13909 &self,
13910 input: ValidateTemplateInput,
13911 ) -> Result<ValidateTemplateOutput, RusotoError<ValidateTemplateError>> {
13912 let mut request = SignedRequest::new("POST", "cloudformation", &self.region, "/");
13913 let params = self.new_params("ValidateTemplate");
13914 let mut params = params;
13915 ValidateTemplateInputSerializer::serialize(&mut params, "", &input);
13916 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
13917 request.set_content_type("application/x-www-form-urlencoded".to_owned());
13918
13919 let response = self
13920 .sign_and_dispatch(request, ValidateTemplateError::from_response)
13921 .await?;
13922
13923 let mut response = response;
13924 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
13925 xml_util::start_element(actual_tag_name, stack)?;
13926 let result =
13927 ValidateTemplateOutputDeserializer::deserialize("ValidateTemplateResult", stack)?;
13928 skip_tree(stack);
13929 xml_util::end_element(actual_tag_name, stack)?;
13930 Ok(result)
13931 })
13932 .await?;
13933
13934 drop(response); Ok(result)
13936 }
13937}
13938
13939#[cfg(test)]
13940mod protocol_tests {
13941
13942 extern crate rusoto_mock;
13943
13944 use self::rusoto_mock::*;
13945 use super::*;
13946 use rusoto_core::Region as rusoto_region;
13947
13948 #[tokio::test]
13949 async fn test_parse_error_cloudformation_cancel_update_stack() {
13950 let mock_response = MockResponseReader::read_response(
13951 "test_resources/generated/error",
13952 "cloudformation-cancel-update-stack.xml",
13953 );
13954 let mock = MockRequestDispatcher::with_status(400).with_body(&mock_response);
13955 let client =
13956 CloudFormationClient::new_with(mock, MockCredentialsProvider, rusoto_region::UsEast1);
13957 let request = CancelUpdateStackInput::default();
13958 let result = client.cancel_update_stack(request).await;
13959 assert!(!result.is_ok(), "parse error: {:?}", result);
13960 }
13961
13962 #[tokio::test]
13963 async fn test_parse_valid_cloudformation_describe_stacks() {
13964 let mock_response = MockResponseReader::read_response(
13965 "test_resources/generated/valid",
13966 "cloudformation-describe-stacks.xml",
13967 );
13968 let mock = MockRequestDispatcher::with_status(200).with_body(&mock_response);
13969 let client =
13970 CloudFormationClient::new_with(mock, MockCredentialsProvider, rusoto_region::UsEast1);
13971 let request = DescribeStacksInput::default();
13972 let result = client.describe_stacks(request).await;
13973 assert!(result.is_ok(), "parse error: {:?}", result);
13974 }
13975
13976 #[tokio::test]
13977 async fn test_parse_valid_cloudformation_get_template() {
13978 let mock_response = MockResponseReader::read_response(
13979 "test_resources/generated/valid",
13980 "cloudformation-get-template.xml",
13981 );
13982 let mock = MockRequestDispatcher::with_status(200).with_body(&mock_response);
13983 let client =
13984 CloudFormationClient::new_with(mock, MockCredentialsProvider, rusoto_region::UsEast1);
13985 let request = GetTemplateInput::default();
13986 let result = client.get_template(request).await;
13987 assert!(result.is_ok(), "parse error: {:?}", result);
13988 }
13989
13990 #[tokio::test]
13991 async fn test_parse_valid_cloudformation_list_stacks() {
13992 let mock_response = MockResponseReader::read_response(
13993 "test_resources/generated/valid",
13994 "cloudformation-list-stacks.xml",
13995 );
13996 let mock = MockRequestDispatcher::with_status(200).with_body(&mock_response);
13997 let client =
13998 CloudFormationClient::new_with(mock, MockCredentialsProvider, rusoto_region::UsEast1);
13999 let request = ListStacksInput::default();
14000 let result = client.list_stacks(request).await;
14001 assert!(result.is_ok(), "parse error: {:?}", result);
14002 }
14003}