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 ElastiCacheClient {
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", "2015-02-02");
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#[derive(Clone, Debug, Default, PartialEq)]
65#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
66pub struct AddTagsToResourceMessage {
67 pub resource_name: String,
69 pub tags: Vec<Tag>,
71}
72
73struct AddTagsToResourceMessageSerializer;
75impl AddTagsToResourceMessageSerializer {
76 fn serialize(params: &mut Params, name: &str, obj: &AddTagsToResourceMessage) {
77 let mut prefix = name.to_string();
78 if prefix != "" {
79 prefix.push_str(".");
80 }
81
82 params.put(&format!("{}{}", prefix, "ResourceName"), &obj.resource_name);
83 TagListSerializer::serialize(params, &format!("{}{}", prefix, "Tag"), &obj.tags);
84 }
85}
86
87#[allow(dead_code)]
88struct AllowedNodeGroupIdDeserializer;
89impl AllowedNodeGroupIdDeserializer {
90 #[allow(dead_code, unused_variables)]
91 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
92 xml_util::deserialize_primitive(tag_name, stack, Ok)
93 }
94}
95#[derive(Clone, Debug, Default, PartialEq)]
97#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
98pub struct AllowedNodeTypeModificationsMessage {
99 pub scale_down_modifications: Option<Vec<String>>,
101 pub scale_up_modifications: Option<Vec<String>>,
103}
104
105#[allow(dead_code)]
106struct AllowedNodeTypeModificationsMessageDeserializer;
107impl AllowedNodeTypeModificationsMessageDeserializer {
108 #[allow(dead_code, unused_variables)]
109 fn deserialize<T: Peek + Next>(
110 tag_name: &str,
111 stack: &mut T,
112 ) -> Result<AllowedNodeTypeModificationsMessage, XmlParseError> {
113 deserialize_elements::<_, AllowedNodeTypeModificationsMessage, _>(
114 tag_name,
115 stack,
116 |name, stack, obj| {
117 match name {
118 "ScaleDownModifications" => {
119 obj.scale_down_modifications.get_or_insert(vec![]).extend(
120 NodeTypeListDeserializer::deserialize("ScaleDownModifications", stack)?,
121 );
122 }
123 "ScaleUpModifications" => {
124 obj.scale_up_modifications.get_or_insert(vec![]).extend(
125 NodeTypeListDeserializer::deserialize("ScaleUpModifications", stack)?,
126 );
127 }
128 _ => skip_tree(stack),
129 }
130 Ok(())
131 },
132 )
133 }
134}
135#[allow(dead_code)]
136struct AuthTokenUpdateStatusDeserializer;
137impl AuthTokenUpdateStatusDeserializer {
138 #[allow(dead_code, unused_variables)]
139 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
140 xml_util::deserialize_primitive(tag_name, stack, Ok)
141 }
142}
143#[derive(Clone, Debug, Default, PartialEq)]
145#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
146pub struct AuthorizeCacheSecurityGroupIngressMessage {
147 pub cache_security_group_name: String,
149 pub ec2_security_group_name: String,
151 pub ec2_security_group_owner_id: String,
153}
154
155struct AuthorizeCacheSecurityGroupIngressMessageSerializer;
157impl AuthorizeCacheSecurityGroupIngressMessageSerializer {
158 fn serialize(params: &mut Params, name: &str, obj: &AuthorizeCacheSecurityGroupIngressMessage) {
159 let mut prefix = name.to_string();
160 if prefix != "" {
161 prefix.push_str(".");
162 }
163
164 params.put(
165 &format!("{}{}", prefix, "CacheSecurityGroupName"),
166 &obj.cache_security_group_name,
167 );
168 params.put(
169 &format!("{}{}", prefix, "EC2SecurityGroupName"),
170 &obj.ec2_security_group_name,
171 );
172 params.put(
173 &format!("{}{}", prefix, "EC2SecurityGroupOwnerId"),
174 &obj.ec2_security_group_owner_id,
175 );
176 }
177}
178
179#[derive(Clone, Debug, Default, PartialEq)]
180#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
181pub struct AuthorizeCacheSecurityGroupIngressResult {
182 pub cache_security_group: Option<CacheSecurityGroup>,
183}
184
185#[allow(dead_code)]
186struct AuthorizeCacheSecurityGroupIngressResultDeserializer;
187impl AuthorizeCacheSecurityGroupIngressResultDeserializer {
188 #[allow(dead_code, unused_variables)]
189 fn deserialize<T: Peek + Next>(
190 tag_name: &str,
191 stack: &mut T,
192 ) -> Result<AuthorizeCacheSecurityGroupIngressResult, XmlParseError> {
193 deserialize_elements::<_, AuthorizeCacheSecurityGroupIngressResult, _>(
194 tag_name,
195 stack,
196 |name, stack, obj| {
197 match name {
198 "CacheSecurityGroup" => {
199 obj.cache_security_group =
200 Some(CacheSecurityGroupDeserializer::deserialize(
201 "CacheSecurityGroup",
202 stack,
203 )?);
204 }
205 _ => skip_tree(stack),
206 }
207 Ok(())
208 },
209 )
210 }
211}
212#[allow(dead_code)]
213struct AutomaticFailoverStatusDeserializer;
214impl AutomaticFailoverStatusDeserializer {
215 #[allow(dead_code, unused_variables)]
216 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
217 xml_util::deserialize_primitive(tag_name, stack, Ok)
218 }
219}
220#[derive(Clone, Debug, Default, PartialEq)]
222#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
223pub struct AvailabilityZone {
224 pub name: Option<String>,
226}
227
228#[allow(dead_code)]
229struct AvailabilityZoneDeserializer;
230impl AvailabilityZoneDeserializer {
231 #[allow(dead_code, unused_variables)]
232 fn deserialize<T: Peek + Next>(
233 tag_name: &str,
234 stack: &mut T,
235 ) -> Result<AvailabilityZone, XmlParseError> {
236 deserialize_elements::<_, AvailabilityZone, _>(tag_name, stack, |name, stack, obj| {
237 match name {
238 "Name" => {
239 obj.name = Some(StringDeserializer::deserialize("Name", stack)?);
240 }
241 _ => skip_tree(stack),
242 }
243 Ok(())
244 })
245 }
246}
247#[allow(dead_code)]
248struct AvailabilityZonesListDeserializer;
249impl AvailabilityZonesListDeserializer {
250 #[allow(dead_code, unused_variables)]
251 fn deserialize<T: Peek + Next>(
252 tag_name: &str,
253 stack: &mut T,
254 ) -> Result<Vec<String>, XmlParseError> {
255 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
256 if name == "AvailabilityZone" {
257 obj.push(StringDeserializer::deserialize("AvailabilityZone", stack)?);
258 } else {
259 skip_tree(stack);
260 }
261 Ok(())
262 })
263 }
264}
265
266struct AvailabilityZonesListSerializer;
268impl AvailabilityZonesListSerializer {
269 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
270 for (index, obj) in obj.iter().enumerate() {
271 let key = format!("{}.member.{}", name, index + 1);
272 params.put(&key, &obj);
273 }
274 }
275}
276
277#[derive(Clone, Debug, Default, PartialEq)]
278#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
279pub struct BatchApplyUpdateActionMessage {
280 pub cache_cluster_ids: Option<Vec<String>>,
282 pub replication_group_ids: Option<Vec<String>>,
284 pub service_update_name: String,
286}
287
288struct BatchApplyUpdateActionMessageSerializer;
290impl BatchApplyUpdateActionMessageSerializer {
291 fn serialize(params: &mut Params, name: &str, obj: &BatchApplyUpdateActionMessage) {
292 let mut prefix = name.to_string();
293 if prefix != "" {
294 prefix.push_str(".");
295 }
296
297 if let Some(ref field_value) = obj.cache_cluster_ids {
298 CacheClusterIdListSerializer::serialize(
299 params,
300 &format!("{}{}", prefix, "CacheClusterIds"),
301 field_value,
302 );
303 }
304 if let Some(ref field_value) = obj.replication_group_ids {
305 ReplicationGroupIdListSerializer::serialize(
306 params,
307 &format!("{}{}", prefix, "ReplicationGroupIds"),
308 field_value,
309 );
310 }
311 params.put(
312 &format!("{}{}", prefix, "ServiceUpdateName"),
313 &obj.service_update_name,
314 );
315 }
316}
317
318#[derive(Clone, Debug, Default, PartialEq)]
319#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
320pub struct BatchStopUpdateActionMessage {
321 pub cache_cluster_ids: Option<Vec<String>>,
323 pub replication_group_ids: Option<Vec<String>>,
325 pub service_update_name: String,
327}
328
329struct BatchStopUpdateActionMessageSerializer;
331impl BatchStopUpdateActionMessageSerializer {
332 fn serialize(params: &mut Params, name: &str, obj: &BatchStopUpdateActionMessage) {
333 let mut prefix = name.to_string();
334 if prefix != "" {
335 prefix.push_str(".");
336 }
337
338 if let Some(ref field_value) = obj.cache_cluster_ids {
339 CacheClusterIdListSerializer::serialize(
340 params,
341 &format!("{}{}", prefix, "CacheClusterIds"),
342 field_value,
343 );
344 }
345 if let Some(ref field_value) = obj.replication_group_ids {
346 ReplicationGroupIdListSerializer::serialize(
347 params,
348 &format!("{}{}", prefix, "ReplicationGroupIds"),
349 field_value,
350 );
351 }
352 params.put(
353 &format!("{}{}", prefix, "ServiceUpdateName"),
354 &obj.service_update_name,
355 );
356 }
357}
358
359#[allow(dead_code)]
360struct BooleanDeserializer;
361impl BooleanDeserializer {
362 #[allow(dead_code, unused_variables)]
363 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
364 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
365 }
366}
367#[allow(dead_code)]
368struct BooleanOptionalDeserializer;
369impl BooleanOptionalDeserializer {
370 #[allow(dead_code, unused_variables)]
371 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<bool, XmlParseError> {
372 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(bool::from_str(&s).unwrap()))
373 }
374}
375#[derive(Clone, Debug, Default, PartialEq)]
377#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
378pub struct CacheCluster {
379 pub arn: Option<String>,
381 pub at_rest_encryption_enabled: Option<bool>,
383 pub auth_token_enabled: Option<bool>,
385 pub auth_token_last_modified_date: Option<String>,
387 pub auto_minor_version_upgrade: Option<bool>,
389 pub cache_cluster_create_time: Option<String>,
391 pub cache_cluster_id: Option<String>,
393 pub cache_cluster_status: Option<String>,
395 pub cache_node_type: Option<String>,
397 pub cache_nodes: Option<Vec<CacheNode>>,
399 pub cache_parameter_group: Option<CacheParameterGroupStatus>,
401 pub cache_security_groups: Option<Vec<CacheSecurityGroupMembership>>,
403 pub cache_subnet_group_name: Option<String>,
405 pub client_download_landing_page: Option<String>,
407 pub configuration_endpoint: Option<Endpoint>,
409 pub engine: Option<String>,
411 pub engine_version: Option<String>,
413 pub notification_configuration: Option<NotificationConfiguration>,
415 pub num_cache_nodes: Option<i64>,
417 pub pending_modified_values: Option<PendingModifiedValues>,
418 pub preferred_availability_zone: Option<String>,
420 pub preferred_maintenance_window: Option<String>,
422 pub replication_group_id: Option<String>,
424 pub security_groups: Option<Vec<SecurityGroupMembership>>,
426 pub snapshot_retention_limit: Option<i64>,
428 pub snapshot_window: Option<String>,
430 pub transit_encryption_enabled: Option<bool>,
432}
433
434#[allow(dead_code)]
435struct CacheClusterDeserializer;
436impl CacheClusterDeserializer {
437 #[allow(dead_code, unused_variables)]
438 fn deserialize<T: Peek + Next>(
439 tag_name: &str,
440 stack: &mut T,
441 ) -> Result<CacheCluster, XmlParseError> {
442 deserialize_elements::<_, CacheCluster, _>(tag_name, stack, |name, stack, obj| {
443 match name {
444 "ARN" => {
445 obj.arn = Some(StringDeserializer::deserialize("ARN", stack)?);
446 }
447 "AtRestEncryptionEnabled" => {
448 obj.at_rest_encryption_enabled = Some(
449 BooleanOptionalDeserializer::deserialize("AtRestEncryptionEnabled", stack)?,
450 );
451 }
452 "AuthTokenEnabled" => {
453 obj.auth_token_enabled = Some(BooleanOptionalDeserializer::deserialize(
454 "AuthTokenEnabled",
455 stack,
456 )?);
457 }
458 "AuthTokenLastModifiedDate" => {
459 obj.auth_token_last_modified_date = Some(TStampDeserializer::deserialize(
460 "AuthTokenLastModifiedDate",
461 stack,
462 )?);
463 }
464 "AutoMinorVersionUpgrade" => {
465 obj.auto_minor_version_upgrade = Some(BooleanDeserializer::deserialize(
466 "AutoMinorVersionUpgrade",
467 stack,
468 )?);
469 }
470 "CacheClusterCreateTime" => {
471 obj.cache_cluster_create_time = Some(TStampDeserializer::deserialize(
472 "CacheClusterCreateTime",
473 stack,
474 )?);
475 }
476 "CacheClusterId" => {
477 obj.cache_cluster_id =
478 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
479 }
480 "CacheClusterStatus" => {
481 obj.cache_cluster_status = Some(StringDeserializer::deserialize(
482 "CacheClusterStatus",
483 stack,
484 )?);
485 }
486 "CacheNodeType" => {
487 obj.cache_node_type =
488 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
489 }
490 "CacheNodes" => {
491 obj.cache_nodes
492 .get_or_insert(vec![])
493 .extend(CacheNodeListDeserializer::deserialize("CacheNodes", stack)?);
494 }
495 "CacheParameterGroup" => {
496 obj.cache_parameter_group =
497 Some(CacheParameterGroupStatusDeserializer::deserialize(
498 "CacheParameterGroup",
499 stack,
500 )?);
501 }
502 "CacheSecurityGroups" => {
503 obj.cache_security_groups.get_or_insert(vec![]).extend(
504 CacheSecurityGroupMembershipListDeserializer::deserialize(
505 "CacheSecurityGroups",
506 stack,
507 )?,
508 );
509 }
510 "CacheSubnetGroupName" => {
511 obj.cache_subnet_group_name = Some(StringDeserializer::deserialize(
512 "CacheSubnetGroupName",
513 stack,
514 )?);
515 }
516 "ClientDownloadLandingPage" => {
517 obj.client_download_landing_page = Some(StringDeserializer::deserialize(
518 "ClientDownloadLandingPage",
519 stack,
520 )?);
521 }
522 "ConfigurationEndpoint" => {
523 obj.configuration_endpoint = Some(EndpointDeserializer::deserialize(
524 "ConfigurationEndpoint",
525 stack,
526 )?);
527 }
528 "Engine" => {
529 obj.engine = Some(StringDeserializer::deserialize("Engine", stack)?);
530 }
531 "EngineVersion" => {
532 obj.engine_version =
533 Some(StringDeserializer::deserialize("EngineVersion", stack)?);
534 }
535 "NotificationConfiguration" => {
536 obj.notification_configuration =
537 Some(NotificationConfigurationDeserializer::deserialize(
538 "NotificationConfiguration",
539 stack,
540 )?);
541 }
542 "NumCacheNodes" => {
543 obj.num_cache_nodes = Some(IntegerOptionalDeserializer::deserialize(
544 "NumCacheNodes",
545 stack,
546 )?);
547 }
548 "PendingModifiedValues" => {
549 obj.pending_modified_values =
550 Some(PendingModifiedValuesDeserializer::deserialize(
551 "PendingModifiedValues",
552 stack,
553 )?);
554 }
555 "PreferredAvailabilityZone" => {
556 obj.preferred_availability_zone = Some(StringDeserializer::deserialize(
557 "PreferredAvailabilityZone",
558 stack,
559 )?);
560 }
561 "PreferredMaintenanceWindow" => {
562 obj.preferred_maintenance_window = Some(StringDeserializer::deserialize(
563 "PreferredMaintenanceWindow",
564 stack,
565 )?);
566 }
567 "ReplicationGroupId" => {
568 obj.replication_group_id = Some(StringDeserializer::deserialize(
569 "ReplicationGroupId",
570 stack,
571 )?);
572 }
573 "SecurityGroups" => {
574 obj.security_groups.get_or_insert(vec![]).extend(
575 SecurityGroupMembershipListDeserializer::deserialize(
576 "SecurityGroups",
577 stack,
578 )?,
579 );
580 }
581 "SnapshotRetentionLimit" => {
582 obj.snapshot_retention_limit = Some(IntegerOptionalDeserializer::deserialize(
583 "SnapshotRetentionLimit",
584 stack,
585 )?);
586 }
587 "SnapshotWindow" => {
588 obj.snapshot_window =
589 Some(StringDeserializer::deserialize("SnapshotWindow", stack)?);
590 }
591 "TransitEncryptionEnabled" => {
592 obj.transit_encryption_enabled =
593 Some(BooleanOptionalDeserializer::deserialize(
594 "TransitEncryptionEnabled",
595 stack,
596 )?);
597 }
598 _ => skip_tree(stack),
599 }
600 Ok(())
601 })
602 }
603}
604
605struct CacheClusterIdListSerializer;
607impl CacheClusterIdListSerializer {
608 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
609 for (index, obj) in obj.iter().enumerate() {
610 let key = format!("{}.member.{}", name, index + 1);
611 params.put(&key, &obj);
612 }
613 }
614}
615
616#[allow(dead_code)]
617struct CacheClusterListDeserializer;
618impl CacheClusterListDeserializer {
619 #[allow(dead_code, unused_variables)]
620 fn deserialize<T: Peek + Next>(
621 tag_name: &str,
622 stack: &mut T,
623 ) -> Result<Vec<CacheCluster>, XmlParseError> {
624 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
625 if name == "CacheCluster" {
626 obj.push(CacheClusterDeserializer::deserialize(
627 "CacheCluster",
628 stack,
629 )?);
630 } else {
631 skip_tree(stack);
632 }
633 Ok(())
634 })
635 }
636}
637#[derive(Clone, Debug, Default, PartialEq)]
639#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
640pub struct CacheClusterMessage {
641 pub cache_clusters: Option<Vec<CacheCluster>>,
643 pub marker: Option<String>,
645}
646
647#[allow(dead_code)]
648struct CacheClusterMessageDeserializer;
649impl CacheClusterMessageDeserializer {
650 #[allow(dead_code, unused_variables)]
651 fn deserialize<T: Peek + Next>(
652 tag_name: &str,
653 stack: &mut T,
654 ) -> Result<CacheClusterMessage, XmlParseError> {
655 deserialize_elements::<_, CacheClusterMessage, _>(tag_name, stack, |name, stack, obj| {
656 match name {
657 "CacheClusters" => {
658 obj.cache_clusters.get_or_insert(vec![]).extend(
659 CacheClusterListDeserializer::deserialize("CacheClusters", stack)?,
660 );
661 }
662 "Marker" => {
663 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
664 }
665 _ => skip_tree(stack),
666 }
667 Ok(())
668 })
669 }
670}
671#[derive(Clone, Debug, Default, PartialEq)]
673#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
674pub struct CacheEngineVersion {
675 pub cache_engine_description: Option<String>,
677 pub cache_engine_version_description: Option<String>,
679 pub cache_parameter_group_family: Option<String>,
681 pub engine: Option<String>,
683 pub engine_version: Option<String>,
685}
686
687#[allow(dead_code)]
688struct CacheEngineVersionDeserializer;
689impl CacheEngineVersionDeserializer {
690 #[allow(dead_code, unused_variables)]
691 fn deserialize<T: Peek + Next>(
692 tag_name: &str,
693 stack: &mut T,
694 ) -> Result<CacheEngineVersion, XmlParseError> {
695 deserialize_elements::<_, CacheEngineVersion, _>(tag_name, stack, |name, stack, obj| {
696 match name {
697 "CacheEngineDescription" => {
698 obj.cache_engine_description = Some(StringDeserializer::deserialize(
699 "CacheEngineDescription",
700 stack,
701 )?);
702 }
703 "CacheEngineVersionDescription" => {
704 obj.cache_engine_version_description = Some(StringDeserializer::deserialize(
705 "CacheEngineVersionDescription",
706 stack,
707 )?);
708 }
709 "CacheParameterGroupFamily" => {
710 obj.cache_parameter_group_family = Some(StringDeserializer::deserialize(
711 "CacheParameterGroupFamily",
712 stack,
713 )?);
714 }
715 "Engine" => {
716 obj.engine = Some(StringDeserializer::deserialize("Engine", stack)?);
717 }
718 "EngineVersion" => {
719 obj.engine_version =
720 Some(StringDeserializer::deserialize("EngineVersion", stack)?);
721 }
722 _ => skip_tree(stack),
723 }
724 Ok(())
725 })
726 }
727}
728#[allow(dead_code)]
729struct CacheEngineVersionListDeserializer;
730impl CacheEngineVersionListDeserializer {
731 #[allow(dead_code, unused_variables)]
732 fn deserialize<T: Peek + Next>(
733 tag_name: &str,
734 stack: &mut T,
735 ) -> Result<Vec<CacheEngineVersion>, XmlParseError> {
736 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
737 if name == "CacheEngineVersion" {
738 obj.push(CacheEngineVersionDeserializer::deserialize(
739 "CacheEngineVersion",
740 stack,
741 )?);
742 } else {
743 skip_tree(stack);
744 }
745 Ok(())
746 })
747 }
748}
749#[derive(Clone, Debug, Default, PartialEq)]
751#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
752pub struct CacheEngineVersionMessage {
753 pub cache_engine_versions: Option<Vec<CacheEngineVersion>>,
755 pub marker: Option<String>,
757}
758
759#[allow(dead_code)]
760struct CacheEngineVersionMessageDeserializer;
761impl CacheEngineVersionMessageDeserializer {
762 #[allow(dead_code, unused_variables)]
763 fn deserialize<T: Peek + Next>(
764 tag_name: &str,
765 stack: &mut T,
766 ) -> Result<CacheEngineVersionMessage, XmlParseError> {
767 deserialize_elements::<_, CacheEngineVersionMessage, _>(
768 tag_name,
769 stack,
770 |name, stack, obj| {
771 match name {
772 "CacheEngineVersions" => {
773 obj.cache_engine_versions.get_or_insert(vec![]).extend(
774 CacheEngineVersionListDeserializer::deserialize(
775 "CacheEngineVersions",
776 stack,
777 )?,
778 );
779 }
780 "Marker" => {
781 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
782 }
783 _ => skip_tree(stack),
784 }
785 Ok(())
786 },
787 )
788 }
789}
790#[derive(Clone, Debug, Default, PartialEq)]
792#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
793pub struct CacheNode {
794 pub cache_node_create_time: Option<String>,
796 pub cache_node_id: Option<String>,
798 pub cache_node_status: Option<String>,
800 pub customer_availability_zone: Option<String>,
802 pub endpoint: Option<Endpoint>,
804 pub parameter_group_status: Option<String>,
806 pub source_cache_node_id: Option<String>,
808}
809
810#[allow(dead_code)]
811struct CacheNodeDeserializer;
812impl CacheNodeDeserializer {
813 #[allow(dead_code, unused_variables)]
814 fn deserialize<T: Peek + Next>(
815 tag_name: &str,
816 stack: &mut T,
817 ) -> Result<CacheNode, XmlParseError> {
818 deserialize_elements::<_, CacheNode, _>(tag_name, stack, |name, stack, obj| {
819 match name {
820 "CacheNodeCreateTime" => {
821 obj.cache_node_create_time = Some(TStampDeserializer::deserialize(
822 "CacheNodeCreateTime",
823 stack,
824 )?);
825 }
826 "CacheNodeId" => {
827 obj.cache_node_id =
828 Some(StringDeserializer::deserialize("CacheNodeId", stack)?);
829 }
830 "CacheNodeStatus" => {
831 obj.cache_node_status =
832 Some(StringDeserializer::deserialize("CacheNodeStatus", stack)?);
833 }
834 "CustomerAvailabilityZone" => {
835 obj.customer_availability_zone = Some(StringDeserializer::deserialize(
836 "CustomerAvailabilityZone",
837 stack,
838 )?);
839 }
840 "Endpoint" => {
841 obj.endpoint = Some(EndpointDeserializer::deserialize("Endpoint", stack)?);
842 }
843 "ParameterGroupStatus" => {
844 obj.parameter_group_status = Some(StringDeserializer::deserialize(
845 "ParameterGroupStatus",
846 stack,
847 )?);
848 }
849 "SourceCacheNodeId" => {
850 obj.source_cache_node_id =
851 Some(StringDeserializer::deserialize("SourceCacheNodeId", stack)?);
852 }
853 _ => skip_tree(stack),
854 }
855 Ok(())
856 })
857 }
858}
859#[allow(dead_code)]
860struct CacheNodeIdsListDeserializer;
861impl CacheNodeIdsListDeserializer {
862 #[allow(dead_code, unused_variables)]
863 fn deserialize<T: Peek + Next>(
864 tag_name: &str,
865 stack: &mut T,
866 ) -> Result<Vec<String>, XmlParseError> {
867 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
868 if name == "CacheNodeId" {
869 obj.push(StringDeserializer::deserialize("CacheNodeId", stack)?);
870 } else {
871 skip_tree(stack);
872 }
873 Ok(())
874 })
875 }
876}
877
878struct CacheNodeIdsListSerializer;
880impl CacheNodeIdsListSerializer {
881 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
882 for (index, obj) in obj.iter().enumerate() {
883 let key = format!("{}.member.{}", name, index + 1);
884 params.put(&key, &obj);
885 }
886 }
887}
888
889#[allow(dead_code)]
890struct CacheNodeListDeserializer;
891impl CacheNodeListDeserializer {
892 #[allow(dead_code, unused_variables)]
893 fn deserialize<T: Peek + Next>(
894 tag_name: &str,
895 stack: &mut T,
896 ) -> Result<Vec<CacheNode>, XmlParseError> {
897 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
898 if name == "CacheNode" {
899 obj.push(CacheNodeDeserializer::deserialize("CacheNode", stack)?);
900 } else {
901 skip_tree(stack);
902 }
903 Ok(())
904 })
905 }
906}
907#[derive(Clone, Debug, Default, PartialEq)]
909#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
910pub struct CacheNodeTypeSpecificParameter {
911 pub allowed_values: Option<String>,
913 pub cache_node_type_specific_values: Option<Vec<CacheNodeTypeSpecificValue>>,
915 pub change_type: Option<String>,
917 pub data_type: Option<String>,
919 pub description: Option<String>,
921 pub is_modifiable: Option<bool>,
923 pub minimum_engine_version: Option<String>,
925 pub parameter_name: Option<String>,
927 pub source: Option<String>,
929}
930
931#[allow(dead_code)]
932struct CacheNodeTypeSpecificParameterDeserializer;
933impl CacheNodeTypeSpecificParameterDeserializer {
934 #[allow(dead_code, unused_variables)]
935 fn deserialize<T: Peek + Next>(
936 tag_name: &str,
937 stack: &mut T,
938 ) -> Result<CacheNodeTypeSpecificParameter, XmlParseError> {
939 deserialize_elements::<_, CacheNodeTypeSpecificParameter, _>(
940 tag_name,
941 stack,
942 |name, stack, obj| {
943 match name {
944 "AllowedValues" => {
945 obj.allowed_values =
946 Some(StringDeserializer::deserialize("AllowedValues", stack)?);
947 }
948 "CacheNodeTypeSpecificValues" => {
949 obj.cache_node_type_specific_values
950 .get_or_insert(vec![])
951 .extend(CacheNodeTypeSpecificValueListDeserializer::deserialize(
952 "CacheNodeTypeSpecificValues",
953 stack,
954 )?);
955 }
956 "ChangeType" => {
957 obj.change_type =
958 Some(ChangeTypeDeserializer::deserialize("ChangeType", stack)?);
959 }
960 "DataType" => {
961 obj.data_type = Some(StringDeserializer::deserialize("DataType", stack)?);
962 }
963 "Description" => {
964 obj.description =
965 Some(StringDeserializer::deserialize("Description", stack)?);
966 }
967 "IsModifiable" => {
968 obj.is_modifiable =
969 Some(BooleanDeserializer::deserialize("IsModifiable", stack)?);
970 }
971 "MinimumEngineVersion" => {
972 obj.minimum_engine_version = Some(StringDeserializer::deserialize(
973 "MinimumEngineVersion",
974 stack,
975 )?);
976 }
977 "ParameterName" => {
978 obj.parameter_name =
979 Some(StringDeserializer::deserialize("ParameterName", stack)?);
980 }
981 "Source" => {
982 obj.source = Some(StringDeserializer::deserialize("Source", stack)?);
983 }
984 _ => skip_tree(stack),
985 }
986 Ok(())
987 },
988 )
989 }
990}
991#[allow(dead_code)]
992struct CacheNodeTypeSpecificParametersListDeserializer;
993impl CacheNodeTypeSpecificParametersListDeserializer {
994 #[allow(dead_code, unused_variables)]
995 fn deserialize<T: Peek + Next>(
996 tag_name: &str,
997 stack: &mut T,
998 ) -> Result<Vec<CacheNodeTypeSpecificParameter>, XmlParseError> {
999 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1000 if name == "CacheNodeTypeSpecificParameter" {
1001 obj.push(CacheNodeTypeSpecificParameterDeserializer::deserialize(
1002 "CacheNodeTypeSpecificParameter",
1003 stack,
1004 )?);
1005 } else {
1006 skip_tree(stack);
1007 }
1008 Ok(())
1009 })
1010 }
1011}
1012#[derive(Clone, Debug, Default, PartialEq)]
1014#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1015pub struct CacheNodeTypeSpecificValue {
1016 pub cache_node_type: Option<String>,
1018 pub value: Option<String>,
1020}
1021
1022#[allow(dead_code)]
1023struct CacheNodeTypeSpecificValueDeserializer;
1024impl CacheNodeTypeSpecificValueDeserializer {
1025 #[allow(dead_code, unused_variables)]
1026 fn deserialize<T: Peek + Next>(
1027 tag_name: &str,
1028 stack: &mut T,
1029 ) -> Result<CacheNodeTypeSpecificValue, XmlParseError> {
1030 deserialize_elements::<_, CacheNodeTypeSpecificValue, _>(
1031 tag_name,
1032 stack,
1033 |name, stack, obj| {
1034 match name {
1035 "CacheNodeType" => {
1036 obj.cache_node_type =
1037 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
1038 }
1039 "Value" => {
1040 obj.value = Some(StringDeserializer::deserialize("Value", stack)?);
1041 }
1042 _ => skip_tree(stack),
1043 }
1044 Ok(())
1045 },
1046 )
1047 }
1048}
1049#[allow(dead_code)]
1050struct CacheNodeTypeSpecificValueListDeserializer;
1051impl CacheNodeTypeSpecificValueListDeserializer {
1052 #[allow(dead_code, unused_variables)]
1053 fn deserialize<T: Peek + Next>(
1054 tag_name: &str,
1055 stack: &mut T,
1056 ) -> Result<Vec<CacheNodeTypeSpecificValue>, XmlParseError> {
1057 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1058 if name == "CacheNodeTypeSpecificValue" {
1059 obj.push(CacheNodeTypeSpecificValueDeserializer::deserialize(
1060 "CacheNodeTypeSpecificValue",
1061 stack,
1062 )?);
1063 } else {
1064 skip_tree(stack);
1065 }
1066 Ok(())
1067 })
1068 }
1069}
1070#[derive(Clone, Debug, Default, PartialEq)]
1072#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1073pub struct CacheNodeUpdateStatus {
1074 pub cache_node_id: Option<String>,
1076 pub node_deletion_date: Option<String>,
1078 pub node_update_end_date: Option<String>,
1080 pub node_update_initiated_by: Option<String>,
1082 pub node_update_initiated_date: Option<String>,
1084 pub node_update_start_date: Option<String>,
1086 pub node_update_status: Option<String>,
1088 pub node_update_status_modified_date: Option<String>,
1090}
1091
1092#[allow(dead_code)]
1093struct CacheNodeUpdateStatusDeserializer;
1094impl CacheNodeUpdateStatusDeserializer {
1095 #[allow(dead_code, unused_variables)]
1096 fn deserialize<T: Peek + Next>(
1097 tag_name: &str,
1098 stack: &mut T,
1099 ) -> Result<CacheNodeUpdateStatus, XmlParseError> {
1100 deserialize_elements::<_, CacheNodeUpdateStatus, _>(tag_name, stack, |name, stack, obj| {
1101 match name {
1102 "CacheNodeId" => {
1103 obj.cache_node_id =
1104 Some(StringDeserializer::deserialize("CacheNodeId", stack)?);
1105 }
1106 "NodeDeletionDate" => {
1107 obj.node_deletion_date =
1108 Some(TStampDeserializer::deserialize("NodeDeletionDate", stack)?);
1109 }
1110 "NodeUpdateEndDate" => {
1111 obj.node_update_end_date =
1112 Some(TStampDeserializer::deserialize("NodeUpdateEndDate", stack)?);
1113 }
1114 "NodeUpdateInitiatedBy" => {
1115 obj.node_update_initiated_by =
1116 Some(NodeUpdateInitiatedByDeserializer::deserialize(
1117 "NodeUpdateInitiatedBy",
1118 stack,
1119 )?);
1120 }
1121 "NodeUpdateInitiatedDate" => {
1122 obj.node_update_initiated_date = Some(TStampDeserializer::deserialize(
1123 "NodeUpdateInitiatedDate",
1124 stack,
1125 )?);
1126 }
1127 "NodeUpdateStartDate" => {
1128 obj.node_update_start_date = Some(TStampDeserializer::deserialize(
1129 "NodeUpdateStartDate",
1130 stack,
1131 )?);
1132 }
1133 "NodeUpdateStatus" => {
1134 obj.node_update_status = Some(NodeUpdateStatusDeserializer::deserialize(
1135 "NodeUpdateStatus",
1136 stack,
1137 )?);
1138 }
1139 "NodeUpdateStatusModifiedDate" => {
1140 obj.node_update_status_modified_date = Some(TStampDeserializer::deserialize(
1141 "NodeUpdateStatusModifiedDate",
1142 stack,
1143 )?);
1144 }
1145 _ => skip_tree(stack),
1146 }
1147 Ok(())
1148 })
1149 }
1150}
1151#[allow(dead_code)]
1152struct CacheNodeUpdateStatusListDeserializer;
1153impl CacheNodeUpdateStatusListDeserializer {
1154 #[allow(dead_code, unused_variables)]
1155 fn deserialize<T: Peek + Next>(
1156 tag_name: &str,
1157 stack: &mut T,
1158 ) -> Result<Vec<CacheNodeUpdateStatus>, XmlParseError> {
1159 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1160 if name == "CacheNodeUpdateStatus" {
1161 obj.push(CacheNodeUpdateStatusDeserializer::deserialize(
1162 "CacheNodeUpdateStatus",
1163 stack,
1164 )?);
1165 } else {
1166 skip_tree(stack);
1167 }
1168 Ok(())
1169 })
1170 }
1171}
1172#[derive(Clone, Debug, Default, PartialEq)]
1174#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1175pub struct CacheParameterGroup {
1176 pub arn: Option<String>,
1178 pub cache_parameter_group_family: Option<String>,
1180 pub cache_parameter_group_name: Option<String>,
1182 pub description: Option<String>,
1184 pub is_global: Option<bool>,
1186}
1187
1188#[allow(dead_code)]
1189struct CacheParameterGroupDeserializer;
1190impl CacheParameterGroupDeserializer {
1191 #[allow(dead_code, unused_variables)]
1192 fn deserialize<T: Peek + Next>(
1193 tag_name: &str,
1194 stack: &mut T,
1195 ) -> Result<CacheParameterGroup, XmlParseError> {
1196 deserialize_elements::<_, CacheParameterGroup, _>(tag_name, stack, |name, stack, obj| {
1197 match name {
1198 "ARN" => {
1199 obj.arn = Some(StringDeserializer::deserialize("ARN", stack)?);
1200 }
1201 "CacheParameterGroupFamily" => {
1202 obj.cache_parameter_group_family = Some(StringDeserializer::deserialize(
1203 "CacheParameterGroupFamily",
1204 stack,
1205 )?);
1206 }
1207 "CacheParameterGroupName" => {
1208 obj.cache_parameter_group_name = Some(StringDeserializer::deserialize(
1209 "CacheParameterGroupName",
1210 stack,
1211 )?);
1212 }
1213 "Description" => {
1214 obj.description = Some(StringDeserializer::deserialize("Description", stack)?);
1215 }
1216 "IsGlobal" => {
1217 obj.is_global = Some(BooleanDeserializer::deserialize("IsGlobal", stack)?);
1218 }
1219 _ => skip_tree(stack),
1220 }
1221 Ok(())
1222 })
1223 }
1224}
1225#[derive(Clone, Debug, Default, PartialEq)]
1227#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1228pub struct CacheParameterGroupDetails {
1229 pub cache_node_type_specific_parameters: Option<Vec<CacheNodeTypeSpecificParameter>>,
1231 pub marker: Option<String>,
1233 pub parameters: Option<Vec<Parameter>>,
1235}
1236
1237#[allow(dead_code)]
1238struct CacheParameterGroupDetailsDeserializer;
1239impl CacheParameterGroupDetailsDeserializer {
1240 #[allow(dead_code, unused_variables)]
1241 fn deserialize<T: Peek + Next>(
1242 tag_name: &str,
1243 stack: &mut T,
1244 ) -> Result<CacheParameterGroupDetails, XmlParseError> {
1245 deserialize_elements::<_, CacheParameterGroupDetails, _>(
1246 tag_name,
1247 stack,
1248 |name, stack, obj| {
1249 match name {
1250 "CacheNodeTypeSpecificParameters" => {
1251 obj.cache_node_type_specific_parameters
1252 .get_or_insert(vec![])
1253 .extend(
1254 CacheNodeTypeSpecificParametersListDeserializer::deserialize(
1255 "CacheNodeTypeSpecificParameters",
1256 stack,
1257 )?,
1258 );
1259 }
1260 "Marker" => {
1261 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
1262 }
1263 "Parameters" => {
1264 obj.parameters.get_or_insert(vec![]).extend(
1265 ParametersListDeserializer::deserialize("Parameters", stack)?,
1266 );
1267 }
1268 _ => skip_tree(stack),
1269 }
1270 Ok(())
1271 },
1272 )
1273 }
1274}
1275#[allow(dead_code)]
1276struct CacheParameterGroupListDeserializer;
1277impl CacheParameterGroupListDeserializer {
1278 #[allow(dead_code, unused_variables)]
1279 fn deserialize<T: Peek + Next>(
1280 tag_name: &str,
1281 stack: &mut T,
1282 ) -> Result<Vec<CacheParameterGroup>, XmlParseError> {
1283 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1284 if name == "CacheParameterGroup" {
1285 obj.push(CacheParameterGroupDeserializer::deserialize(
1286 "CacheParameterGroup",
1287 stack,
1288 )?);
1289 } else {
1290 skip_tree(stack);
1291 }
1292 Ok(())
1293 })
1294 }
1295}
1296#[derive(Clone, Debug, Default, PartialEq)]
1298#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1299pub struct CacheParameterGroupNameMessage {
1300 pub cache_parameter_group_name: Option<String>,
1302}
1303
1304#[allow(dead_code)]
1305struct CacheParameterGroupNameMessageDeserializer;
1306impl CacheParameterGroupNameMessageDeserializer {
1307 #[allow(dead_code, unused_variables)]
1308 fn deserialize<T: Peek + Next>(
1309 tag_name: &str,
1310 stack: &mut T,
1311 ) -> Result<CacheParameterGroupNameMessage, XmlParseError> {
1312 deserialize_elements::<_, CacheParameterGroupNameMessage, _>(
1313 tag_name,
1314 stack,
1315 |name, stack, obj| {
1316 match name {
1317 "CacheParameterGroupName" => {
1318 obj.cache_parameter_group_name = Some(StringDeserializer::deserialize(
1319 "CacheParameterGroupName",
1320 stack,
1321 )?);
1322 }
1323 _ => skip_tree(stack),
1324 }
1325 Ok(())
1326 },
1327 )
1328 }
1329}
1330#[derive(Clone, Debug, Default, PartialEq)]
1332#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1333pub struct CacheParameterGroupStatus {
1334 pub cache_node_ids_to_reboot: Option<Vec<String>>,
1336 pub cache_parameter_group_name: Option<String>,
1338 pub parameter_apply_status: Option<String>,
1340}
1341
1342#[allow(dead_code)]
1343struct CacheParameterGroupStatusDeserializer;
1344impl CacheParameterGroupStatusDeserializer {
1345 #[allow(dead_code, unused_variables)]
1346 fn deserialize<T: Peek + Next>(
1347 tag_name: &str,
1348 stack: &mut T,
1349 ) -> Result<CacheParameterGroupStatus, XmlParseError> {
1350 deserialize_elements::<_, CacheParameterGroupStatus, _>(
1351 tag_name,
1352 stack,
1353 |name, stack, obj| {
1354 match name {
1355 "CacheNodeIdsToReboot" => {
1356 obj.cache_node_ids_to_reboot.get_or_insert(vec![]).extend(
1357 CacheNodeIdsListDeserializer::deserialize(
1358 "CacheNodeIdsToReboot",
1359 stack,
1360 )?,
1361 );
1362 }
1363 "CacheParameterGroupName" => {
1364 obj.cache_parameter_group_name = Some(StringDeserializer::deserialize(
1365 "CacheParameterGroupName",
1366 stack,
1367 )?);
1368 }
1369 "ParameterApplyStatus" => {
1370 obj.parameter_apply_status = Some(StringDeserializer::deserialize(
1371 "ParameterApplyStatus",
1372 stack,
1373 )?);
1374 }
1375 _ => skip_tree(stack),
1376 }
1377 Ok(())
1378 },
1379 )
1380 }
1381}
1382#[derive(Clone, Debug, Default, PartialEq)]
1384#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1385pub struct CacheParameterGroupsMessage {
1386 pub cache_parameter_groups: Option<Vec<CacheParameterGroup>>,
1388 pub marker: Option<String>,
1390}
1391
1392#[allow(dead_code)]
1393struct CacheParameterGroupsMessageDeserializer;
1394impl CacheParameterGroupsMessageDeserializer {
1395 #[allow(dead_code, unused_variables)]
1396 fn deserialize<T: Peek + Next>(
1397 tag_name: &str,
1398 stack: &mut T,
1399 ) -> Result<CacheParameterGroupsMessage, XmlParseError> {
1400 deserialize_elements::<_, CacheParameterGroupsMessage, _>(
1401 tag_name,
1402 stack,
1403 |name, stack, obj| {
1404 match name {
1405 "CacheParameterGroups" => {
1406 obj.cache_parameter_groups.get_or_insert(vec![]).extend(
1407 CacheParameterGroupListDeserializer::deserialize(
1408 "CacheParameterGroups",
1409 stack,
1410 )?,
1411 );
1412 }
1413 "Marker" => {
1414 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
1415 }
1416 _ => skip_tree(stack),
1417 }
1418 Ok(())
1419 },
1420 )
1421 }
1422}
1423#[derive(Clone, Debug, Default, PartialEq)]
1425#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1426pub struct CacheSecurityGroup {
1427 pub arn: Option<String>,
1429 pub cache_security_group_name: Option<String>,
1431 pub description: Option<String>,
1433 pub ec2_security_groups: Option<Vec<EC2SecurityGroup>>,
1435 pub owner_id: Option<String>,
1437}
1438
1439#[allow(dead_code)]
1440struct CacheSecurityGroupDeserializer;
1441impl CacheSecurityGroupDeserializer {
1442 #[allow(dead_code, unused_variables)]
1443 fn deserialize<T: Peek + Next>(
1444 tag_name: &str,
1445 stack: &mut T,
1446 ) -> Result<CacheSecurityGroup, XmlParseError> {
1447 deserialize_elements::<_, CacheSecurityGroup, _>(tag_name, stack, |name, stack, obj| {
1448 match name {
1449 "ARN" => {
1450 obj.arn = Some(StringDeserializer::deserialize("ARN", stack)?);
1451 }
1452 "CacheSecurityGroupName" => {
1453 obj.cache_security_group_name = Some(StringDeserializer::deserialize(
1454 "CacheSecurityGroupName",
1455 stack,
1456 )?);
1457 }
1458 "Description" => {
1459 obj.description = Some(StringDeserializer::deserialize("Description", stack)?);
1460 }
1461 "EC2SecurityGroups" => {
1462 obj.ec2_security_groups.get_or_insert(vec![]).extend(
1463 EC2SecurityGroupListDeserializer::deserialize("EC2SecurityGroups", stack)?,
1464 );
1465 }
1466 "OwnerId" => {
1467 obj.owner_id = Some(StringDeserializer::deserialize("OwnerId", stack)?);
1468 }
1469 _ => skip_tree(stack),
1470 }
1471 Ok(())
1472 })
1473 }
1474}
1475#[derive(Clone, Debug, Default, PartialEq)]
1477#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1478pub struct CacheSecurityGroupMembership {
1479 pub cache_security_group_name: Option<String>,
1481 pub status: Option<String>,
1483}
1484
1485#[allow(dead_code)]
1486struct CacheSecurityGroupMembershipDeserializer;
1487impl CacheSecurityGroupMembershipDeserializer {
1488 #[allow(dead_code, unused_variables)]
1489 fn deserialize<T: Peek + Next>(
1490 tag_name: &str,
1491 stack: &mut T,
1492 ) -> Result<CacheSecurityGroupMembership, XmlParseError> {
1493 deserialize_elements::<_, CacheSecurityGroupMembership, _>(
1494 tag_name,
1495 stack,
1496 |name, stack, obj| {
1497 match name {
1498 "CacheSecurityGroupName" => {
1499 obj.cache_security_group_name = Some(StringDeserializer::deserialize(
1500 "CacheSecurityGroupName",
1501 stack,
1502 )?);
1503 }
1504 "Status" => {
1505 obj.status = Some(StringDeserializer::deserialize("Status", stack)?);
1506 }
1507 _ => skip_tree(stack),
1508 }
1509 Ok(())
1510 },
1511 )
1512 }
1513}
1514#[allow(dead_code)]
1515struct CacheSecurityGroupMembershipListDeserializer;
1516impl CacheSecurityGroupMembershipListDeserializer {
1517 #[allow(dead_code, unused_variables)]
1518 fn deserialize<T: Peek + Next>(
1519 tag_name: &str,
1520 stack: &mut T,
1521 ) -> Result<Vec<CacheSecurityGroupMembership>, XmlParseError> {
1522 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1523 if name == "CacheSecurityGroup" {
1524 obj.push(CacheSecurityGroupMembershipDeserializer::deserialize(
1525 "CacheSecurityGroup",
1526 stack,
1527 )?);
1528 } else {
1529 skip_tree(stack);
1530 }
1531 Ok(())
1532 })
1533 }
1534}
1535#[derive(Clone, Debug, Default, PartialEq)]
1537#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1538pub struct CacheSecurityGroupMessage {
1539 pub cache_security_groups: Option<Vec<CacheSecurityGroup>>,
1541 pub marker: Option<String>,
1543}
1544
1545#[allow(dead_code)]
1546struct CacheSecurityGroupMessageDeserializer;
1547impl CacheSecurityGroupMessageDeserializer {
1548 #[allow(dead_code, unused_variables)]
1549 fn deserialize<T: Peek + Next>(
1550 tag_name: &str,
1551 stack: &mut T,
1552 ) -> Result<CacheSecurityGroupMessage, XmlParseError> {
1553 deserialize_elements::<_, CacheSecurityGroupMessage, _>(
1554 tag_name,
1555 stack,
1556 |name, stack, obj| {
1557 match name {
1558 "CacheSecurityGroups" => {
1559 obj.cache_security_groups.get_or_insert(vec![]).extend(
1560 CacheSecurityGroupsDeserializer::deserialize(
1561 "CacheSecurityGroups",
1562 stack,
1563 )?,
1564 );
1565 }
1566 "Marker" => {
1567 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
1568 }
1569 _ => skip_tree(stack),
1570 }
1571 Ok(())
1572 },
1573 )
1574 }
1575}
1576
1577struct CacheSecurityGroupNameListSerializer;
1579impl CacheSecurityGroupNameListSerializer {
1580 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
1581 for (index, obj) in obj.iter().enumerate() {
1582 let key = format!("{}.member.{}", name, index + 1);
1583 params.put(&key, &obj);
1584 }
1585 }
1586}
1587
1588#[allow(dead_code)]
1589struct CacheSecurityGroupsDeserializer;
1590impl CacheSecurityGroupsDeserializer {
1591 #[allow(dead_code, unused_variables)]
1592 fn deserialize<T: Peek + Next>(
1593 tag_name: &str,
1594 stack: &mut T,
1595 ) -> Result<Vec<CacheSecurityGroup>, XmlParseError> {
1596 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1597 if name == "CacheSecurityGroup" {
1598 obj.push(CacheSecurityGroupDeserializer::deserialize(
1599 "CacheSecurityGroup",
1600 stack,
1601 )?);
1602 } else {
1603 skip_tree(stack);
1604 }
1605 Ok(())
1606 })
1607 }
1608}
1609#[derive(Clone, Debug, Default, PartialEq)]
1611#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1612pub struct CacheSubnetGroup {
1613 pub arn: Option<String>,
1615 pub cache_subnet_group_description: Option<String>,
1617 pub cache_subnet_group_name: Option<String>,
1619 pub subnets: Option<Vec<Subnet>>,
1621 pub vpc_id: Option<String>,
1623}
1624
1625#[allow(dead_code)]
1626struct CacheSubnetGroupDeserializer;
1627impl CacheSubnetGroupDeserializer {
1628 #[allow(dead_code, unused_variables)]
1629 fn deserialize<T: Peek + Next>(
1630 tag_name: &str,
1631 stack: &mut T,
1632 ) -> Result<CacheSubnetGroup, XmlParseError> {
1633 deserialize_elements::<_, CacheSubnetGroup, _>(tag_name, stack, |name, stack, obj| {
1634 match name {
1635 "ARN" => {
1636 obj.arn = Some(StringDeserializer::deserialize("ARN", stack)?);
1637 }
1638 "CacheSubnetGroupDescription" => {
1639 obj.cache_subnet_group_description = Some(StringDeserializer::deserialize(
1640 "CacheSubnetGroupDescription",
1641 stack,
1642 )?);
1643 }
1644 "CacheSubnetGroupName" => {
1645 obj.cache_subnet_group_name = Some(StringDeserializer::deserialize(
1646 "CacheSubnetGroupName",
1647 stack,
1648 )?);
1649 }
1650 "Subnets" => {
1651 obj.subnets
1652 .get_or_insert(vec![])
1653 .extend(SubnetListDeserializer::deserialize("Subnets", stack)?);
1654 }
1655 "VpcId" => {
1656 obj.vpc_id = Some(StringDeserializer::deserialize("VpcId", stack)?);
1657 }
1658 _ => skip_tree(stack),
1659 }
1660 Ok(())
1661 })
1662 }
1663}
1664#[derive(Clone, Debug, Default, PartialEq)]
1666#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1667pub struct CacheSubnetGroupMessage {
1668 pub cache_subnet_groups: Option<Vec<CacheSubnetGroup>>,
1670 pub marker: Option<String>,
1672}
1673
1674#[allow(dead_code)]
1675struct CacheSubnetGroupMessageDeserializer;
1676impl CacheSubnetGroupMessageDeserializer {
1677 #[allow(dead_code, unused_variables)]
1678 fn deserialize<T: Peek + Next>(
1679 tag_name: &str,
1680 stack: &mut T,
1681 ) -> Result<CacheSubnetGroupMessage, XmlParseError> {
1682 deserialize_elements::<_, CacheSubnetGroupMessage, _>(
1683 tag_name,
1684 stack,
1685 |name, stack, obj| {
1686 match name {
1687 "CacheSubnetGroups" => {
1688 obj.cache_subnet_groups.get_or_insert(vec![]).extend(
1689 CacheSubnetGroupsDeserializer::deserialize("CacheSubnetGroups", stack)?,
1690 );
1691 }
1692 "Marker" => {
1693 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
1694 }
1695 _ => skip_tree(stack),
1696 }
1697 Ok(())
1698 },
1699 )
1700 }
1701}
1702#[allow(dead_code)]
1703struct CacheSubnetGroupsDeserializer;
1704impl CacheSubnetGroupsDeserializer {
1705 #[allow(dead_code, unused_variables)]
1706 fn deserialize<T: Peek + Next>(
1707 tag_name: &str,
1708 stack: &mut T,
1709 ) -> Result<Vec<CacheSubnetGroup>, XmlParseError> {
1710 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1711 if name == "CacheSubnetGroup" {
1712 obj.push(CacheSubnetGroupDeserializer::deserialize(
1713 "CacheSubnetGroup",
1714 stack,
1715 )?);
1716 } else {
1717 skip_tree(stack);
1718 }
1719 Ok(())
1720 })
1721 }
1722}
1723#[allow(dead_code)]
1724struct ChangeTypeDeserializer;
1725impl ChangeTypeDeserializer {
1726 #[allow(dead_code, unused_variables)]
1727 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
1728 xml_util::deserialize_primitive(tag_name, stack, Ok)
1729 }
1730}
1731#[allow(dead_code)]
1732struct ClusterIdListDeserializer;
1733impl ClusterIdListDeserializer {
1734 #[allow(dead_code, unused_variables)]
1735 fn deserialize<T: Peek + Next>(
1736 tag_name: &str,
1737 stack: &mut T,
1738 ) -> Result<Vec<String>, XmlParseError> {
1739 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
1740 if name == "ClusterId" {
1741 obj.push(StringDeserializer::deserialize("ClusterId", stack)?);
1742 } else {
1743 skip_tree(stack);
1744 }
1745 Ok(())
1746 })
1747 }
1748}
1749#[derive(Clone, Debug, Default, PartialEq)]
1750#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1751pub struct CompleteMigrationMessage {
1752 pub force: Option<bool>,
1754 pub replication_group_id: String,
1756}
1757
1758struct CompleteMigrationMessageSerializer;
1760impl CompleteMigrationMessageSerializer {
1761 fn serialize(params: &mut Params, name: &str, obj: &CompleteMigrationMessage) {
1762 let mut prefix = name.to_string();
1763 if prefix != "" {
1764 prefix.push_str(".");
1765 }
1766
1767 if let Some(ref field_value) = obj.force {
1768 params.put(&format!("{}{}", prefix, "Force"), &field_value);
1769 }
1770 params.put(
1771 &format!("{}{}", prefix, "ReplicationGroupId"),
1772 &obj.replication_group_id,
1773 );
1774 }
1775}
1776
1777#[derive(Clone, Debug, Default, PartialEq)]
1778#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1779pub struct CompleteMigrationResponse {
1780 pub replication_group: Option<ReplicationGroup>,
1781}
1782
1783#[allow(dead_code)]
1784struct CompleteMigrationResponseDeserializer;
1785impl CompleteMigrationResponseDeserializer {
1786 #[allow(dead_code, unused_variables)]
1787 fn deserialize<T: Peek + Next>(
1788 tag_name: &str,
1789 stack: &mut T,
1790 ) -> Result<CompleteMigrationResponse, XmlParseError> {
1791 deserialize_elements::<_, CompleteMigrationResponse, _>(
1792 tag_name,
1793 stack,
1794 |name, stack, obj| {
1795 match name {
1796 "ReplicationGroup" => {
1797 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
1798 "ReplicationGroup",
1799 stack,
1800 )?);
1801 }
1802 _ => skip_tree(stack),
1803 }
1804 Ok(())
1805 },
1806 )
1807 }
1808}
1809#[derive(Clone, Debug, Default, PartialEq)]
1811#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1812pub struct ConfigureShard {
1813 pub new_replica_count: i64,
1815 pub node_group_id: String,
1817 pub preferred_availability_zones: Option<Vec<String>>,
1819}
1820
1821struct ConfigureShardSerializer;
1823impl ConfigureShardSerializer {
1824 fn serialize(params: &mut Params, name: &str, obj: &ConfigureShard) {
1825 let mut prefix = name.to_string();
1826 if prefix != "" {
1827 prefix.push_str(".");
1828 }
1829
1830 params.put(
1831 &format!("{}{}", prefix, "NewReplicaCount"),
1832 &obj.new_replica_count,
1833 );
1834 params.put(&format!("{}{}", prefix, "NodeGroupId"), &obj.node_group_id);
1835 if let Some(ref field_value) = obj.preferred_availability_zones {
1836 PreferredAvailabilityZoneListSerializer::serialize(
1837 params,
1838 &format!("{}{}", prefix, "PreferredAvailabilityZone"),
1839 field_value,
1840 );
1841 }
1842 }
1843}
1844
1845#[derive(Clone, Debug, Default, PartialEq)]
1847#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1848pub struct CopySnapshotMessage {
1849 pub kms_key_id: Option<String>,
1851 pub source_snapshot_name: String,
1853 pub target_bucket: Option<String>,
1855 pub target_snapshot_name: String,
1857}
1858
1859struct CopySnapshotMessageSerializer;
1861impl CopySnapshotMessageSerializer {
1862 fn serialize(params: &mut Params, name: &str, obj: &CopySnapshotMessage) {
1863 let mut prefix = name.to_string();
1864 if prefix != "" {
1865 prefix.push_str(".");
1866 }
1867
1868 if let Some(ref field_value) = obj.kms_key_id {
1869 params.put(&format!("{}{}", prefix, "KmsKeyId"), &field_value);
1870 }
1871 params.put(
1872 &format!("{}{}", prefix, "SourceSnapshotName"),
1873 &obj.source_snapshot_name,
1874 );
1875 if let Some(ref field_value) = obj.target_bucket {
1876 params.put(&format!("{}{}", prefix, "TargetBucket"), &field_value);
1877 }
1878 params.put(
1879 &format!("{}{}", prefix, "TargetSnapshotName"),
1880 &obj.target_snapshot_name,
1881 );
1882 }
1883}
1884
1885#[derive(Clone, Debug, Default, PartialEq)]
1886#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
1887pub struct CopySnapshotResult {
1888 pub snapshot: Option<Snapshot>,
1889}
1890
1891#[allow(dead_code)]
1892struct CopySnapshotResultDeserializer;
1893impl CopySnapshotResultDeserializer {
1894 #[allow(dead_code, unused_variables)]
1895 fn deserialize<T: Peek + Next>(
1896 tag_name: &str,
1897 stack: &mut T,
1898 ) -> Result<CopySnapshotResult, XmlParseError> {
1899 deserialize_elements::<_, CopySnapshotResult, _>(tag_name, stack, |name, stack, obj| {
1900 match name {
1901 "Snapshot" => {
1902 obj.snapshot = Some(SnapshotDeserializer::deserialize("Snapshot", stack)?);
1903 }
1904 _ => skip_tree(stack),
1905 }
1906 Ok(())
1907 })
1908 }
1909}
1910#[derive(Clone, Debug, Default, PartialEq)]
1912#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1913pub struct CreateCacheClusterMessage {
1914 pub az_mode: Option<String>,
1916 pub auth_token: Option<String>,
1918 pub auto_minor_version_upgrade: Option<bool>,
1920 pub cache_cluster_id: String,
1922 pub cache_node_type: Option<String>,
1924 pub cache_parameter_group_name: Option<String>,
1926 pub cache_security_group_names: Option<Vec<String>>,
1928 pub cache_subnet_group_name: Option<String>,
1930 pub engine: Option<String>,
1932 pub engine_version: Option<String>,
1934 pub notification_topic_arn: Option<String>,
1936 pub num_cache_nodes: Option<i64>,
1938 pub port: Option<i64>,
1940 pub preferred_availability_zone: Option<String>,
1942 pub preferred_availability_zones: Option<Vec<String>>,
1944 pub preferred_maintenance_window: Option<String>,
1946 pub replication_group_id: Option<String>,
1948 pub security_group_ids: Option<Vec<String>>,
1950 pub snapshot_arns: Option<Vec<String>>,
1952 pub snapshot_name: Option<String>,
1954 pub snapshot_retention_limit: Option<i64>,
1956 pub snapshot_window: Option<String>,
1958 pub tags: Option<Vec<Tag>>,
1960}
1961
1962struct CreateCacheClusterMessageSerializer;
1964impl CreateCacheClusterMessageSerializer {
1965 fn serialize(params: &mut Params, name: &str, obj: &CreateCacheClusterMessage) {
1966 let mut prefix = name.to_string();
1967 if prefix != "" {
1968 prefix.push_str(".");
1969 }
1970
1971 if let Some(ref field_value) = obj.az_mode {
1972 params.put(&format!("{}{}", prefix, "AZMode"), &field_value);
1973 }
1974 if let Some(ref field_value) = obj.auth_token {
1975 params.put(&format!("{}{}", prefix, "AuthToken"), &field_value);
1976 }
1977 if let Some(ref field_value) = obj.auto_minor_version_upgrade {
1978 params.put(
1979 &format!("{}{}", prefix, "AutoMinorVersionUpgrade"),
1980 &field_value,
1981 );
1982 }
1983 params.put(
1984 &format!("{}{}", prefix, "CacheClusterId"),
1985 &obj.cache_cluster_id,
1986 );
1987 if let Some(ref field_value) = obj.cache_node_type {
1988 params.put(&format!("{}{}", prefix, "CacheNodeType"), &field_value);
1989 }
1990 if let Some(ref field_value) = obj.cache_parameter_group_name {
1991 params.put(
1992 &format!("{}{}", prefix, "CacheParameterGroupName"),
1993 &field_value,
1994 );
1995 }
1996 if let Some(ref field_value) = obj.cache_security_group_names {
1997 CacheSecurityGroupNameListSerializer::serialize(
1998 params,
1999 &format!("{}{}", prefix, "CacheSecurityGroupName"),
2000 field_value,
2001 );
2002 }
2003 if let Some(ref field_value) = obj.cache_subnet_group_name {
2004 params.put(
2005 &format!("{}{}", prefix, "CacheSubnetGroupName"),
2006 &field_value,
2007 );
2008 }
2009 if let Some(ref field_value) = obj.engine {
2010 params.put(&format!("{}{}", prefix, "Engine"), &field_value);
2011 }
2012 if let Some(ref field_value) = obj.engine_version {
2013 params.put(&format!("{}{}", prefix, "EngineVersion"), &field_value);
2014 }
2015 if let Some(ref field_value) = obj.notification_topic_arn {
2016 params.put(
2017 &format!("{}{}", prefix, "NotificationTopicArn"),
2018 &field_value,
2019 );
2020 }
2021 if let Some(ref field_value) = obj.num_cache_nodes {
2022 params.put(&format!("{}{}", prefix, "NumCacheNodes"), &field_value);
2023 }
2024 if let Some(ref field_value) = obj.port {
2025 params.put(&format!("{}{}", prefix, "Port"), &field_value);
2026 }
2027 if let Some(ref field_value) = obj.preferred_availability_zone {
2028 params.put(
2029 &format!("{}{}", prefix, "PreferredAvailabilityZone"),
2030 &field_value,
2031 );
2032 }
2033 if let Some(ref field_value) = obj.preferred_availability_zones {
2034 PreferredAvailabilityZoneListSerializer::serialize(
2035 params,
2036 &format!("{}{}", prefix, "PreferredAvailabilityZone"),
2037 field_value,
2038 );
2039 }
2040 if let Some(ref field_value) = obj.preferred_maintenance_window {
2041 params.put(
2042 &format!("{}{}", prefix, "PreferredMaintenanceWindow"),
2043 &field_value,
2044 );
2045 }
2046 if let Some(ref field_value) = obj.replication_group_id {
2047 params.put(&format!("{}{}", prefix, "ReplicationGroupId"), &field_value);
2048 }
2049 if let Some(ref field_value) = obj.security_group_ids {
2050 SecurityGroupIdsListSerializer::serialize(
2051 params,
2052 &format!("{}{}", prefix, "SecurityGroupId"),
2053 field_value,
2054 );
2055 }
2056 if let Some(ref field_value) = obj.snapshot_arns {
2057 SnapshotArnsListSerializer::serialize(
2058 params,
2059 &format!("{}{}", prefix, "SnapshotArn"),
2060 field_value,
2061 );
2062 }
2063 if let Some(ref field_value) = obj.snapshot_name {
2064 params.put(&format!("{}{}", prefix, "SnapshotName"), &field_value);
2065 }
2066 if let Some(ref field_value) = obj.snapshot_retention_limit {
2067 params.put(
2068 &format!("{}{}", prefix, "SnapshotRetentionLimit"),
2069 &field_value,
2070 );
2071 }
2072 if let Some(ref field_value) = obj.snapshot_window {
2073 params.put(&format!("{}{}", prefix, "SnapshotWindow"), &field_value);
2074 }
2075 if let Some(ref field_value) = obj.tags {
2076 TagListSerializer::serialize(params, &format!("{}{}", prefix, "Tag"), field_value);
2077 }
2078 }
2079}
2080
2081#[derive(Clone, Debug, Default, PartialEq)]
2082#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2083pub struct CreateCacheClusterResult {
2084 pub cache_cluster: Option<CacheCluster>,
2085}
2086
2087#[allow(dead_code)]
2088struct CreateCacheClusterResultDeserializer;
2089impl CreateCacheClusterResultDeserializer {
2090 #[allow(dead_code, unused_variables)]
2091 fn deserialize<T: Peek + Next>(
2092 tag_name: &str,
2093 stack: &mut T,
2094 ) -> Result<CreateCacheClusterResult, XmlParseError> {
2095 deserialize_elements::<_, CreateCacheClusterResult, _>(
2096 tag_name,
2097 stack,
2098 |name, stack, obj| {
2099 match name {
2100 "CacheCluster" => {
2101 obj.cache_cluster = Some(CacheClusterDeserializer::deserialize(
2102 "CacheCluster",
2103 stack,
2104 )?);
2105 }
2106 _ => skip_tree(stack),
2107 }
2108 Ok(())
2109 },
2110 )
2111 }
2112}
2113#[derive(Clone, Debug, Default, PartialEq)]
2115#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2116pub struct CreateCacheParameterGroupMessage {
2117 pub cache_parameter_group_family: String,
2119 pub cache_parameter_group_name: String,
2121 pub description: String,
2123}
2124
2125struct CreateCacheParameterGroupMessageSerializer;
2127impl CreateCacheParameterGroupMessageSerializer {
2128 fn serialize(params: &mut Params, name: &str, obj: &CreateCacheParameterGroupMessage) {
2129 let mut prefix = name.to_string();
2130 if prefix != "" {
2131 prefix.push_str(".");
2132 }
2133
2134 params.put(
2135 &format!("{}{}", prefix, "CacheParameterGroupFamily"),
2136 &obj.cache_parameter_group_family,
2137 );
2138 params.put(
2139 &format!("{}{}", prefix, "CacheParameterGroupName"),
2140 &obj.cache_parameter_group_name,
2141 );
2142 params.put(&format!("{}{}", prefix, "Description"), &obj.description);
2143 }
2144}
2145
2146#[derive(Clone, Debug, Default, PartialEq)]
2147#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2148pub struct CreateCacheParameterGroupResult {
2149 pub cache_parameter_group: Option<CacheParameterGroup>,
2150}
2151
2152#[allow(dead_code)]
2153struct CreateCacheParameterGroupResultDeserializer;
2154impl CreateCacheParameterGroupResultDeserializer {
2155 #[allow(dead_code, unused_variables)]
2156 fn deserialize<T: Peek + Next>(
2157 tag_name: &str,
2158 stack: &mut T,
2159 ) -> Result<CreateCacheParameterGroupResult, XmlParseError> {
2160 deserialize_elements::<_, CreateCacheParameterGroupResult, _>(
2161 tag_name,
2162 stack,
2163 |name, stack, obj| {
2164 match name {
2165 "CacheParameterGroup" => {
2166 obj.cache_parameter_group =
2167 Some(CacheParameterGroupDeserializer::deserialize(
2168 "CacheParameterGroup",
2169 stack,
2170 )?);
2171 }
2172 _ => skip_tree(stack),
2173 }
2174 Ok(())
2175 },
2176 )
2177 }
2178}
2179#[derive(Clone, Debug, Default, PartialEq)]
2181#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2182pub struct CreateCacheSecurityGroupMessage {
2183 pub cache_security_group_name: String,
2185 pub description: String,
2187}
2188
2189struct CreateCacheSecurityGroupMessageSerializer;
2191impl CreateCacheSecurityGroupMessageSerializer {
2192 fn serialize(params: &mut Params, name: &str, obj: &CreateCacheSecurityGroupMessage) {
2193 let mut prefix = name.to_string();
2194 if prefix != "" {
2195 prefix.push_str(".");
2196 }
2197
2198 params.put(
2199 &format!("{}{}", prefix, "CacheSecurityGroupName"),
2200 &obj.cache_security_group_name,
2201 );
2202 params.put(&format!("{}{}", prefix, "Description"), &obj.description);
2203 }
2204}
2205
2206#[derive(Clone, Debug, Default, PartialEq)]
2207#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2208pub struct CreateCacheSecurityGroupResult {
2209 pub cache_security_group: Option<CacheSecurityGroup>,
2210}
2211
2212#[allow(dead_code)]
2213struct CreateCacheSecurityGroupResultDeserializer;
2214impl CreateCacheSecurityGroupResultDeserializer {
2215 #[allow(dead_code, unused_variables)]
2216 fn deserialize<T: Peek + Next>(
2217 tag_name: &str,
2218 stack: &mut T,
2219 ) -> Result<CreateCacheSecurityGroupResult, XmlParseError> {
2220 deserialize_elements::<_, CreateCacheSecurityGroupResult, _>(
2221 tag_name,
2222 stack,
2223 |name, stack, obj| {
2224 match name {
2225 "CacheSecurityGroup" => {
2226 obj.cache_security_group =
2227 Some(CacheSecurityGroupDeserializer::deserialize(
2228 "CacheSecurityGroup",
2229 stack,
2230 )?);
2231 }
2232 _ => skip_tree(stack),
2233 }
2234 Ok(())
2235 },
2236 )
2237 }
2238}
2239#[derive(Clone, Debug, Default, PartialEq)]
2241#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2242pub struct CreateCacheSubnetGroupMessage {
2243 pub cache_subnet_group_description: String,
2245 pub cache_subnet_group_name: String,
2247 pub subnet_ids: Vec<String>,
2249}
2250
2251struct CreateCacheSubnetGroupMessageSerializer;
2253impl CreateCacheSubnetGroupMessageSerializer {
2254 fn serialize(params: &mut Params, name: &str, obj: &CreateCacheSubnetGroupMessage) {
2255 let mut prefix = name.to_string();
2256 if prefix != "" {
2257 prefix.push_str(".");
2258 }
2259
2260 params.put(
2261 &format!("{}{}", prefix, "CacheSubnetGroupDescription"),
2262 &obj.cache_subnet_group_description,
2263 );
2264 params.put(
2265 &format!("{}{}", prefix, "CacheSubnetGroupName"),
2266 &obj.cache_subnet_group_name,
2267 );
2268 SubnetIdentifierListSerializer::serialize(
2269 params,
2270 &format!("{}{}", prefix, "SubnetIdentifier"),
2271 &obj.subnet_ids,
2272 );
2273 }
2274}
2275
2276#[derive(Clone, Debug, Default, PartialEq)]
2277#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2278pub struct CreateCacheSubnetGroupResult {
2279 pub cache_subnet_group: Option<CacheSubnetGroup>,
2280}
2281
2282#[allow(dead_code)]
2283struct CreateCacheSubnetGroupResultDeserializer;
2284impl CreateCacheSubnetGroupResultDeserializer {
2285 #[allow(dead_code, unused_variables)]
2286 fn deserialize<T: Peek + Next>(
2287 tag_name: &str,
2288 stack: &mut T,
2289 ) -> Result<CreateCacheSubnetGroupResult, XmlParseError> {
2290 deserialize_elements::<_, CreateCacheSubnetGroupResult, _>(
2291 tag_name,
2292 stack,
2293 |name, stack, obj| {
2294 match name {
2295 "CacheSubnetGroup" => {
2296 obj.cache_subnet_group = Some(CacheSubnetGroupDeserializer::deserialize(
2297 "CacheSubnetGroup",
2298 stack,
2299 )?);
2300 }
2301 _ => skip_tree(stack),
2302 }
2303 Ok(())
2304 },
2305 )
2306 }
2307}
2308#[derive(Clone, Debug, Default, PartialEq)]
2309#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2310pub struct CreateGlobalReplicationGroupMessage {
2311 pub global_replication_group_description: Option<String>,
2313 pub global_replication_group_id_suffix: String,
2315 pub primary_replication_group_id: String,
2317}
2318
2319struct CreateGlobalReplicationGroupMessageSerializer;
2321impl CreateGlobalReplicationGroupMessageSerializer {
2322 fn serialize(params: &mut Params, name: &str, obj: &CreateGlobalReplicationGroupMessage) {
2323 let mut prefix = name.to_string();
2324 if prefix != "" {
2325 prefix.push_str(".");
2326 }
2327
2328 if let Some(ref field_value) = obj.global_replication_group_description {
2329 params.put(
2330 &format!("{}{}", prefix, "GlobalReplicationGroupDescription"),
2331 &field_value,
2332 );
2333 }
2334 params.put(
2335 &format!("{}{}", prefix, "GlobalReplicationGroupIdSuffix"),
2336 &obj.global_replication_group_id_suffix,
2337 );
2338 params.put(
2339 &format!("{}{}", prefix, "PrimaryReplicationGroupId"),
2340 &obj.primary_replication_group_id,
2341 );
2342 }
2343}
2344
2345#[derive(Clone, Debug, Default, PartialEq)]
2346#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2347pub struct CreateGlobalReplicationGroupResult {
2348 pub global_replication_group: Option<GlobalReplicationGroup>,
2349}
2350
2351#[allow(dead_code)]
2352struct CreateGlobalReplicationGroupResultDeserializer;
2353impl CreateGlobalReplicationGroupResultDeserializer {
2354 #[allow(dead_code, unused_variables)]
2355 fn deserialize<T: Peek + Next>(
2356 tag_name: &str,
2357 stack: &mut T,
2358 ) -> Result<CreateGlobalReplicationGroupResult, XmlParseError> {
2359 deserialize_elements::<_, CreateGlobalReplicationGroupResult, _>(
2360 tag_name,
2361 stack,
2362 |name, stack, obj| {
2363 match name {
2364 "GlobalReplicationGroup" => {
2365 obj.global_replication_group =
2366 Some(GlobalReplicationGroupDeserializer::deserialize(
2367 "GlobalReplicationGroup",
2368 stack,
2369 )?);
2370 }
2371 _ => skip_tree(stack),
2372 }
2373 Ok(())
2374 },
2375 )
2376 }
2377}
2378#[derive(Clone, Debug, Default, PartialEq)]
2380#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2381pub struct CreateReplicationGroupMessage {
2382 pub at_rest_encryption_enabled: Option<bool>,
2384 pub auth_token: Option<String>,
2386 pub auto_minor_version_upgrade: Option<bool>,
2388 pub automatic_failover_enabled: Option<bool>,
2390 pub cache_node_type: Option<String>,
2392 pub cache_parameter_group_name: Option<String>,
2394 pub cache_security_group_names: Option<Vec<String>>,
2396 pub cache_subnet_group_name: Option<String>,
2398 pub engine: Option<String>,
2400 pub engine_version: Option<String>,
2402 pub global_replication_group_id: Option<String>,
2404 pub kms_key_id: Option<String>,
2406 pub multi_az_enabled: Option<bool>,
2408 pub node_group_configuration: Option<Vec<NodeGroupConfiguration>>,
2410 pub notification_topic_arn: Option<String>,
2412 pub num_cache_clusters: Option<i64>,
2414 pub num_node_groups: Option<i64>,
2416 pub port: Option<i64>,
2418 pub preferred_cache_cluster_a_zs: Option<Vec<String>>,
2420 pub preferred_maintenance_window: Option<String>,
2422 pub primary_cluster_id: Option<String>,
2424 pub replicas_per_node_group: Option<i64>,
2426 pub replication_group_description: String,
2428 pub replication_group_id: String,
2430 pub security_group_ids: Option<Vec<String>>,
2432 pub snapshot_arns: Option<Vec<String>>,
2434 pub snapshot_name: Option<String>,
2436 pub snapshot_retention_limit: Option<i64>,
2438 pub snapshot_window: Option<String>,
2440 pub tags: Option<Vec<Tag>>,
2442 pub transit_encryption_enabled: Option<bool>,
2444}
2445
2446struct CreateReplicationGroupMessageSerializer;
2448impl CreateReplicationGroupMessageSerializer {
2449 fn serialize(params: &mut Params, name: &str, obj: &CreateReplicationGroupMessage) {
2450 let mut prefix = name.to_string();
2451 if prefix != "" {
2452 prefix.push_str(".");
2453 }
2454
2455 if let Some(ref field_value) = obj.at_rest_encryption_enabled {
2456 params.put(
2457 &format!("{}{}", prefix, "AtRestEncryptionEnabled"),
2458 &field_value,
2459 );
2460 }
2461 if let Some(ref field_value) = obj.auth_token {
2462 params.put(&format!("{}{}", prefix, "AuthToken"), &field_value);
2463 }
2464 if let Some(ref field_value) = obj.auto_minor_version_upgrade {
2465 params.put(
2466 &format!("{}{}", prefix, "AutoMinorVersionUpgrade"),
2467 &field_value,
2468 );
2469 }
2470 if let Some(ref field_value) = obj.automatic_failover_enabled {
2471 params.put(
2472 &format!("{}{}", prefix, "AutomaticFailoverEnabled"),
2473 &field_value,
2474 );
2475 }
2476 if let Some(ref field_value) = obj.cache_node_type {
2477 params.put(&format!("{}{}", prefix, "CacheNodeType"), &field_value);
2478 }
2479 if let Some(ref field_value) = obj.cache_parameter_group_name {
2480 params.put(
2481 &format!("{}{}", prefix, "CacheParameterGroupName"),
2482 &field_value,
2483 );
2484 }
2485 if let Some(ref field_value) = obj.cache_security_group_names {
2486 CacheSecurityGroupNameListSerializer::serialize(
2487 params,
2488 &format!("{}{}", prefix, "CacheSecurityGroupName"),
2489 field_value,
2490 );
2491 }
2492 if let Some(ref field_value) = obj.cache_subnet_group_name {
2493 params.put(
2494 &format!("{}{}", prefix, "CacheSubnetGroupName"),
2495 &field_value,
2496 );
2497 }
2498 if let Some(ref field_value) = obj.engine {
2499 params.put(&format!("{}{}", prefix, "Engine"), &field_value);
2500 }
2501 if let Some(ref field_value) = obj.engine_version {
2502 params.put(&format!("{}{}", prefix, "EngineVersion"), &field_value);
2503 }
2504 if let Some(ref field_value) = obj.global_replication_group_id {
2505 params.put(
2506 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
2507 &field_value,
2508 );
2509 }
2510 if let Some(ref field_value) = obj.kms_key_id {
2511 params.put(&format!("{}{}", prefix, "KmsKeyId"), &field_value);
2512 }
2513 if let Some(ref field_value) = obj.multi_az_enabled {
2514 params.put(&format!("{}{}", prefix, "MultiAZEnabled"), &field_value);
2515 }
2516 if let Some(ref field_value) = obj.node_group_configuration {
2517 NodeGroupConfigurationListSerializer::serialize(
2518 params,
2519 &format!("{}{}", prefix, "NodeGroupConfiguration"),
2520 field_value,
2521 );
2522 }
2523 if let Some(ref field_value) = obj.notification_topic_arn {
2524 params.put(
2525 &format!("{}{}", prefix, "NotificationTopicArn"),
2526 &field_value,
2527 );
2528 }
2529 if let Some(ref field_value) = obj.num_cache_clusters {
2530 params.put(&format!("{}{}", prefix, "NumCacheClusters"), &field_value);
2531 }
2532 if let Some(ref field_value) = obj.num_node_groups {
2533 params.put(&format!("{}{}", prefix, "NumNodeGroups"), &field_value);
2534 }
2535 if let Some(ref field_value) = obj.port {
2536 params.put(&format!("{}{}", prefix, "Port"), &field_value);
2537 }
2538 if let Some(ref field_value) = obj.preferred_cache_cluster_a_zs {
2539 AvailabilityZonesListSerializer::serialize(
2540 params,
2541 &format!("{}{}", prefix, "AvailabilityZone"),
2542 field_value,
2543 );
2544 }
2545 if let Some(ref field_value) = obj.preferred_maintenance_window {
2546 params.put(
2547 &format!("{}{}", prefix, "PreferredMaintenanceWindow"),
2548 &field_value,
2549 );
2550 }
2551 if let Some(ref field_value) = obj.primary_cluster_id {
2552 params.put(&format!("{}{}", prefix, "PrimaryClusterId"), &field_value);
2553 }
2554 if let Some(ref field_value) = obj.replicas_per_node_group {
2555 params.put(
2556 &format!("{}{}", prefix, "ReplicasPerNodeGroup"),
2557 &field_value,
2558 );
2559 }
2560 params.put(
2561 &format!("{}{}", prefix, "ReplicationGroupDescription"),
2562 &obj.replication_group_description,
2563 );
2564 params.put(
2565 &format!("{}{}", prefix, "ReplicationGroupId"),
2566 &obj.replication_group_id,
2567 );
2568 if let Some(ref field_value) = obj.security_group_ids {
2569 SecurityGroupIdsListSerializer::serialize(
2570 params,
2571 &format!("{}{}", prefix, "SecurityGroupId"),
2572 field_value,
2573 );
2574 }
2575 if let Some(ref field_value) = obj.snapshot_arns {
2576 SnapshotArnsListSerializer::serialize(
2577 params,
2578 &format!("{}{}", prefix, "SnapshotArn"),
2579 field_value,
2580 );
2581 }
2582 if let Some(ref field_value) = obj.snapshot_name {
2583 params.put(&format!("{}{}", prefix, "SnapshotName"), &field_value);
2584 }
2585 if let Some(ref field_value) = obj.snapshot_retention_limit {
2586 params.put(
2587 &format!("{}{}", prefix, "SnapshotRetentionLimit"),
2588 &field_value,
2589 );
2590 }
2591 if let Some(ref field_value) = obj.snapshot_window {
2592 params.put(&format!("{}{}", prefix, "SnapshotWindow"), &field_value);
2593 }
2594 if let Some(ref field_value) = obj.tags {
2595 TagListSerializer::serialize(params, &format!("{}{}", prefix, "Tag"), field_value);
2596 }
2597 if let Some(ref field_value) = obj.transit_encryption_enabled {
2598 params.put(
2599 &format!("{}{}", prefix, "TransitEncryptionEnabled"),
2600 &field_value,
2601 );
2602 }
2603 }
2604}
2605
2606#[derive(Clone, Debug, Default, PartialEq)]
2607#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2608pub struct CreateReplicationGroupResult {
2609 pub replication_group: Option<ReplicationGroup>,
2610}
2611
2612#[allow(dead_code)]
2613struct CreateReplicationGroupResultDeserializer;
2614impl CreateReplicationGroupResultDeserializer {
2615 #[allow(dead_code, unused_variables)]
2616 fn deserialize<T: Peek + Next>(
2617 tag_name: &str,
2618 stack: &mut T,
2619 ) -> Result<CreateReplicationGroupResult, XmlParseError> {
2620 deserialize_elements::<_, CreateReplicationGroupResult, _>(
2621 tag_name,
2622 stack,
2623 |name, stack, obj| {
2624 match name {
2625 "ReplicationGroup" => {
2626 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
2627 "ReplicationGroup",
2628 stack,
2629 )?);
2630 }
2631 _ => skip_tree(stack),
2632 }
2633 Ok(())
2634 },
2635 )
2636 }
2637}
2638#[derive(Clone, Debug, Default, PartialEq)]
2640#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2641pub struct CreateSnapshotMessage {
2642 pub cache_cluster_id: Option<String>,
2644 pub kms_key_id: Option<String>,
2646 pub replication_group_id: Option<String>,
2648 pub snapshot_name: String,
2650}
2651
2652struct CreateSnapshotMessageSerializer;
2654impl CreateSnapshotMessageSerializer {
2655 fn serialize(params: &mut Params, name: &str, obj: &CreateSnapshotMessage) {
2656 let mut prefix = name.to_string();
2657 if prefix != "" {
2658 prefix.push_str(".");
2659 }
2660
2661 if let Some(ref field_value) = obj.cache_cluster_id {
2662 params.put(&format!("{}{}", prefix, "CacheClusterId"), &field_value);
2663 }
2664 if let Some(ref field_value) = obj.kms_key_id {
2665 params.put(&format!("{}{}", prefix, "KmsKeyId"), &field_value);
2666 }
2667 if let Some(ref field_value) = obj.replication_group_id {
2668 params.put(&format!("{}{}", prefix, "ReplicationGroupId"), &field_value);
2669 }
2670 params.put(&format!("{}{}", prefix, "SnapshotName"), &obj.snapshot_name);
2671 }
2672}
2673
2674#[derive(Clone, Debug, Default, PartialEq)]
2675#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2676pub struct CreateSnapshotResult {
2677 pub snapshot: Option<Snapshot>,
2678}
2679
2680#[allow(dead_code)]
2681struct CreateSnapshotResultDeserializer;
2682impl CreateSnapshotResultDeserializer {
2683 #[allow(dead_code, unused_variables)]
2684 fn deserialize<T: Peek + Next>(
2685 tag_name: &str,
2686 stack: &mut T,
2687 ) -> Result<CreateSnapshotResult, XmlParseError> {
2688 deserialize_elements::<_, CreateSnapshotResult, _>(tag_name, stack, |name, stack, obj| {
2689 match name {
2690 "Snapshot" => {
2691 obj.snapshot = Some(SnapshotDeserializer::deserialize("Snapshot", stack)?);
2692 }
2693 _ => skip_tree(stack),
2694 }
2695 Ok(())
2696 })
2697 }
2698}
2699#[derive(Clone, Debug, Default, PartialEq)]
2701#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2702pub struct CustomerNodeEndpoint {
2703 pub address: Option<String>,
2705 pub port: Option<i64>,
2707}
2708
2709struct CustomerNodeEndpointSerializer;
2711impl CustomerNodeEndpointSerializer {
2712 fn serialize(params: &mut Params, name: &str, obj: &CustomerNodeEndpoint) {
2713 let mut prefix = name.to_string();
2714 if prefix != "" {
2715 prefix.push_str(".");
2716 }
2717
2718 if let Some(ref field_value) = obj.address {
2719 params.put(&format!("{}{}", prefix, "Address"), &field_value);
2720 }
2721 if let Some(ref field_value) = obj.port {
2722 params.put(&format!("{}{}", prefix, "Port"), &field_value);
2723 }
2724 }
2725}
2726
2727struct CustomerNodeEndpointListSerializer;
2729impl CustomerNodeEndpointListSerializer {
2730 fn serialize(params: &mut Params, name: &str, obj: &Vec<CustomerNodeEndpoint>) {
2731 for (index, obj) in obj.iter().enumerate() {
2732 let key = format!("{}.member.{}", name, index + 1);
2733 CustomerNodeEndpointSerializer::serialize(params, &key, obj);
2734 }
2735 }
2736}
2737
2738#[derive(Clone, Debug, Default, PartialEq)]
2739#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2740pub struct DecreaseNodeGroupsInGlobalReplicationGroupMessage {
2741 pub apply_immediately: bool,
2743 pub global_node_groups_to_remove: Option<Vec<String>>,
2745 pub global_node_groups_to_retain: Option<Vec<String>>,
2747 pub global_replication_group_id: String,
2749 pub node_group_count: i64,
2751}
2752
2753struct DecreaseNodeGroupsInGlobalReplicationGroupMessageSerializer;
2755impl DecreaseNodeGroupsInGlobalReplicationGroupMessageSerializer {
2756 fn serialize(
2757 params: &mut Params,
2758 name: &str,
2759 obj: &DecreaseNodeGroupsInGlobalReplicationGroupMessage,
2760 ) {
2761 let mut prefix = name.to_string();
2762 if prefix != "" {
2763 prefix.push_str(".");
2764 }
2765
2766 params.put(
2767 &format!("{}{}", prefix, "ApplyImmediately"),
2768 &obj.apply_immediately,
2769 );
2770 if let Some(ref field_value) = obj.global_node_groups_to_remove {
2771 GlobalNodeGroupIdListSerializer::serialize(
2772 params,
2773 &format!("{}{}", prefix, "GlobalNodeGroupId"),
2774 field_value,
2775 );
2776 }
2777 if let Some(ref field_value) = obj.global_node_groups_to_retain {
2778 GlobalNodeGroupIdListSerializer::serialize(
2779 params,
2780 &format!("{}{}", prefix, "GlobalNodeGroupId"),
2781 field_value,
2782 );
2783 }
2784 params.put(
2785 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
2786 &obj.global_replication_group_id,
2787 );
2788 params.put(
2789 &format!("{}{}", prefix, "NodeGroupCount"),
2790 &obj.node_group_count,
2791 );
2792 }
2793}
2794
2795#[derive(Clone, Debug, Default, PartialEq)]
2796#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2797pub struct DecreaseNodeGroupsInGlobalReplicationGroupResult {
2798 pub global_replication_group: Option<GlobalReplicationGroup>,
2799}
2800
2801#[allow(dead_code)]
2802struct DecreaseNodeGroupsInGlobalReplicationGroupResultDeserializer;
2803impl DecreaseNodeGroupsInGlobalReplicationGroupResultDeserializer {
2804 #[allow(dead_code, unused_variables)]
2805 fn deserialize<T: Peek + Next>(
2806 tag_name: &str,
2807 stack: &mut T,
2808 ) -> Result<DecreaseNodeGroupsInGlobalReplicationGroupResult, XmlParseError> {
2809 deserialize_elements::<_, DecreaseNodeGroupsInGlobalReplicationGroupResult, _>(
2810 tag_name,
2811 stack,
2812 |name, stack, obj| {
2813 match name {
2814 "GlobalReplicationGroup" => {
2815 obj.global_replication_group =
2816 Some(GlobalReplicationGroupDeserializer::deserialize(
2817 "GlobalReplicationGroup",
2818 stack,
2819 )?);
2820 }
2821 _ => skip_tree(stack),
2822 }
2823 Ok(())
2824 },
2825 )
2826 }
2827}
2828#[derive(Clone, Debug, Default, PartialEq)]
2829#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2830pub struct DecreaseReplicaCountMessage {
2831 pub apply_immediately: bool,
2833 pub new_replica_count: Option<i64>,
2835 pub replica_configuration: Option<Vec<ConfigureShard>>,
2837 pub replicas_to_remove: Option<Vec<String>>,
2839 pub replication_group_id: String,
2841}
2842
2843struct DecreaseReplicaCountMessageSerializer;
2845impl DecreaseReplicaCountMessageSerializer {
2846 fn serialize(params: &mut Params, name: &str, obj: &DecreaseReplicaCountMessage) {
2847 let mut prefix = name.to_string();
2848 if prefix != "" {
2849 prefix.push_str(".");
2850 }
2851
2852 params.put(
2853 &format!("{}{}", prefix, "ApplyImmediately"),
2854 &obj.apply_immediately,
2855 );
2856 if let Some(ref field_value) = obj.new_replica_count {
2857 params.put(&format!("{}{}", prefix, "NewReplicaCount"), &field_value);
2858 }
2859 if let Some(ref field_value) = obj.replica_configuration {
2860 ReplicaConfigurationListSerializer::serialize(
2861 params,
2862 &format!("{}{}", prefix, "ConfigureShard"),
2863 field_value,
2864 );
2865 }
2866 if let Some(ref field_value) = obj.replicas_to_remove {
2867 RemoveReplicasListSerializer::serialize(
2868 params,
2869 &format!("{}{}", prefix, "ReplicasToRemove"),
2870 field_value,
2871 );
2872 }
2873 params.put(
2874 &format!("{}{}", prefix, "ReplicationGroupId"),
2875 &obj.replication_group_id,
2876 );
2877 }
2878}
2879
2880#[derive(Clone, Debug, Default, PartialEq)]
2881#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2882pub struct DecreaseReplicaCountResult {
2883 pub replication_group: Option<ReplicationGroup>,
2884}
2885
2886#[allow(dead_code)]
2887struct DecreaseReplicaCountResultDeserializer;
2888impl DecreaseReplicaCountResultDeserializer {
2889 #[allow(dead_code, unused_variables)]
2890 fn deserialize<T: Peek + Next>(
2891 tag_name: &str,
2892 stack: &mut T,
2893 ) -> Result<DecreaseReplicaCountResult, XmlParseError> {
2894 deserialize_elements::<_, DecreaseReplicaCountResult, _>(
2895 tag_name,
2896 stack,
2897 |name, stack, obj| {
2898 match name {
2899 "ReplicationGroup" => {
2900 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
2901 "ReplicationGroup",
2902 stack,
2903 )?);
2904 }
2905 _ => skip_tree(stack),
2906 }
2907 Ok(())
2908 },
2909 )
2910 }
2911}
2912#[derive(Clone, Debug, Default, PartialEq)]
2914#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2915pub struct DeleteCacheClusterMessage {
2916 pub cache_cluster_id: String,
2918 pub final_snapshot_identifier: Option<String>,
2920}
2921
2922struct DeleteCacheClusterMessageSerializer;
2924impl DeleteCacheClusterMessageSerializer {
2925 fn serialize(params: &mut Params, name: &str, obj: &DeleteCacheClusterMessage) {
2926 let mut prefix = name.to_string();
2927 if prefix != "" {
2928 prefix.push_str(".");
2929 }
2930
2931 params.put(
2932 &format!("{}{}", prefix, "CacheClusterId"),
2933 &obj.cache_cluster_id,
2934 );
2935 if let Some(ref field_value) = obj.final_snapshot_identifier {
2936 params.put(
2937 &format!("{}{}", prefix, "FinalSnapshotIdentifier"),
2938 &field_value,
2939 );
2940 }
2941 }
2942}
2943
2944#[derive(Clone, Debug, Default, PartialEq)]
2945#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
2946pub struct DeleteCacheClusterResult {
2947 pub cache_cluster: Option<CacheCluster>,
2948}
2949
2950#[allow(dead_code)]
2951struct DeleteCacheClusterResultDeserializer;
2952impl DeleteCacheClusterResultDeserializer {
2953 #[allow(dead_code, unused_variables)]
2954 fn deserialize<T: Peek + Next>(
2955 tag_name: &str,
2956 stack: &mut T,
2957 ) -> Result<DeleteCacheClusterResult, XmlParseError> {
2958 deserialize_elements::<_, DeleteCacheClusterResult, _>(
2959 tag_name,
2960 stack,
2961 |name, stack, obj| {
2962 match name {
2963 "CacheCluster" => {
2964 obj.cache_cluster = Some(CacheClusterDeserializer::deserialize(
2965 "CacheCluster",
2966 stack,
2967 )?);
2968 }
2969 _ => skip_tree(stack),
2970 }
2971 Ok(())
2972 },
2973 )
2974 }
2975}
2976#[derive(Clone, Debug, Default, PartialEq)]
2978#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2979pub struct DeleteCacheParameterGroupMessage {
2980 pub cache_parameter_group_name: String,
2982}
2983
2984struct DeleteCacheParameterGroupMessageSerializer;
2986impl DeleteCacheParameterGroupMessageSerializer {
2987 fn serialize(params: &mut Params, name: &str, obj: &DeleteCacheParameterGroupMessage) {
2988 let mut prefix = name.to_string();
2989 if prefix != "" {
2990 prefix.push_str(".");
2991 }
2992
2993 params.put(
2994 &format!("{}{}", prefix, "CacheParameterGroupName"),
2995 &obj.cache_parameter_group_name,
2996 );
2997 }
2998}
2999
3000#[derive(Clone, Debug, Default, PartialEq)]
3002#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3003pub struct DeleteCacheSecurityGroupMessage {
3004 pub cache_security_group_name: String,
3006}
3007
3008struct DeleteCacheSecurityGroupMessageSerializer;
3010impl DeleteCacheSecurityGroupMessageSerializer {
3011 fn serialize(params: &mut Params, name: &str, obj: &DeleteCacheSecurityGroupMessage) {
3012 let mut prefix = name.to_string();
3013 if prefix != "" {
3014 prefix.push_str(".");
3015 }
3016
3017 params.put(
3018 &format!("{}{}", prefix, "CacheSecurityGroupName"),
3019 &obj.cache_security_group_name,
3020 );
3021 }
3022}
3023
3024#[derive(Clone, Debug, Default, PartialEq)]
3026#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3027pub struct DeleteCacheSubnetGroupMessage {
3028 pub cache_subnet_group_name: String,
3030}
3031
3032struct DeleteCacheSubnetGroupMessageSerializer;
3034impl DeleteCacheSubnetGroupMessageSerializer {
3035 fn serialize(params: &mut Params, name: &str, obj: &DeleteCacheSubnetGroupMessage) {
3036 let mut prefix = name.to_string();
3037 if prefix != "" {
3038 prefix.push_str(".");
3039 }
3040
3041 params.put(
3042 &format!("{}{}", prefix, "CacheSubnetGroupName"),
3043 &obj.cache_subnet_group_name,
3044 );
3045 }
3046}
3047
3048#[derive(Clone, Debug, Default, PartialEq)]
3049#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3050pub struct DeleteGlobalReplicationGroupMessage {
3051 pub global_replication_group_id: String,
3053 pub retain_primary_replication_group: bool,
3055}
3056
3057struct DeleteGlobalReplicationGroupMessageSerializer;
3059impl DeleteGlobalReplicationGroupMessageSerializer {
3060 fn serialize(params: &mut Params, name: &str, obj: &DeleteGlobalReplicationGroupMessage) {
3061 let mut prefix = name.to_string();
3062 if prefix != "" {
3063 prefix.push_str(".");
3064 }
3065
3066 params.put(
3067 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
3068 &obj.global_replication_group_id,
3069 );
3070 params.put(
3071 &format!("{}{}", prefix, "RetainPrimaryReplicationGroup"),
3072 &obj.retain_primary_replication_group,
3073 );
3074 }
3075}
3076
3077#[derive(Clone, Debug, Default, PartialEq)]
3078#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3079pub struct DeleteGlobalReplicationGroupResult {
3080 pub global_replication_group: Option<GlobalReplicationGroup>,
3081}
3082
3083#[allow(dead_code)]
3084struct DeleteGlobalReplicationGroupResultDeserializer;
3085impl DeleteGlobalReplicationGroupResultDeserializer {
3086 #[allow(dead_code, unused_variables)]
3087 fn deserialize<T: Peek + Next>(
3088 tag_name: &str,
3089 stack: &mut T,
3090 ) -> Result<DeleteGlobalReplicationGroupResult, XmlParseError> {
3091 deserialize_elements::<_, DeleteGlobalReplicationGroupResult, _>(
3092 tag_name,
3093 stack,
3094 |name, stack, obj| {
3095 match name {
3096 "GlobalReplicationGroup" => {
3097 obj.global_replication_group =
3098 Some(GlobalReplicationGroupDeserializer::deserialize(
3099 "GlobalReplicationGroup",
3100 stack,
3101 )?);
3102 }
3103 _ => skip_tree(stack),
3104 }
3105 Ok(())
3106 },
3107 )
3108 }
3109}
3110#[derive(Clone, Debug, Default, PartialEq)]
3112#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3113pub struct DeleteReplicationGroupMessage {
3114 pub final_snapshot_identifier: Option<String>,
3116 pub replication_group_id: String,
3118 pub retain_primary_cluster: Option<bool>,
3120}
3121
3122struct DeleteReplicationGroupMessageSerializer;
3124impl DeleteReplicationGroupMessageSerializer {
3125 fn serialize(params: &mut Params, name: &str, obj: &DeleteReplicationGroupMessage) {
3126 let mut prefix = name.to_string();
3127 if prefix != "" {
3128 prefix.push_str(".");
3129 }
3130
3131 if let Some(ref field_value) = obj.final_snapshot_identifier {
3132 params.put(
3133 &format!("{}{}", prefix, "FinalSnapshotIdentifier"),
3134 &field_value,
3135 );
3136 }
3137 params.put(
3138 &format!("{}{}", prefix, "ReplicationGroupId"),
3139 &obj.replication_group_id,
3140 );
3141 if let Some(ref field_value) = obj.retain_primary_cluster {
3142 params.put(
3143 &format!("{}{}", prefix, "RetainPrimaryCluster"),
3144 &field_value,
3145 );
3146 }
3147 }
3148}
3149
3150#[derive(Clone, Debug, Default, PartialEq)]
3151#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3152pub struct DeleteReplicationGroupResult {
3153 pub replication_group: Option<ReplicationGroup>,
3154}
3155
3156#[allow(dead_code)]
3157struct DeleteReplicationGroupResultDeserializer;
3158impl DeleteReplicationGroupResultDeserializer {
3159 #[allow(dead_code, unused_variables)]
3160 fn deserialize<T: Peek + Next>(
3161 tag_name: &str,
3162 stack: &mut T,
3163 ) -> Result<DeleteReplicationGroupResult, XmlParseError> {
3164 deserialize_elements::<_, DeleteReplicationGroupResult, _>(
3165 tag_name,
3166 stack,
3167 |name, stack, obj| {
3168 match name {
3169 "ReplicationGroup" => {
3170 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
3171 "ReplicationGroup",
3172 stack,
3173 )?);
3174 }
3175 _ => skip_tree(stack),
3176 }
3177 Ok(())
3178 },
3179 )
3180 }
3181}
3182#[derive(Clone, Debug, Default, PartialEq)]
3184#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3185pub struct DeleteSnapshotMessage {
3186 pub snapshot_name: String,
3188}
3189
3190struct DeleteSnapshotMessageSerializer;
3192impl DeleteSnapshotMessageSerializer {
3193 fn serialize(params: &mut Params, name: &str, obj: &DeleteSnapshotMessage) {
3194 let mut prefix = name.to_string();
3195 if prefix != "" {
3196 prefix.push_str(".");
3197 }
3198
3199 params.put(&format!("{}{}", prefix, "SnapshotName"), &obj.snapshot_name);
3200 }
3201}
3202
3203#[derive(Clone, Debug, Default, PartialEq)]
3204#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3205pub struct DeleteSnapshotResult {
3206 pub snapshot: Option<Snapshot>,
3207}
3208
3209#[allow(dead_code)]
3210struct DeleteSnapshotResultDeserializer;
3211impl DeleteSnapshotResultDeserializer {
3212 #[allow(dead_code, unused_variables)]
3213 fn deserialize<T: Peek + Next>(
3214 tag_name: &str,
3215 stack: &mut T,
3216 ) -> Result<DeleteSnapshotResult, XmlParseError> {
3217 deserialize_elements::<_, DeleteSnapshotResult, _>(tag_name, stack, |name, stack, obj| {
3218 match name {
3219 "Snapshot" => {
3220 obj.snapshot = Some(SnapshotDeserializer::deserialize("Snapshot", stack)?);
3221 }
3222 _ => skip_tree(stack),
3223 }
3224 Ok(())
3225 })
3226 }
3227}
3228#[derive(Clone, Debug, Default, PartialEq)]
3230#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3231pub struct DescribeCacheClustersMessage {
3232 pub cache_cluster_id: Option<String>,
3234 pub marker: Option<String>,
3236 pub max_records: Option<i64>,
3238 pub show_cache_clusters_not_in_replication_groups: Option<bool>,
3240 pub show_cache_node_info: Option<bool>,
3242}
3243
3244struct DescribeCacheClustersMessageSerializer;
3246impl DescribeCacheClustersMessageSerializer {
3247 fn serialize(params: &mut Params, name: &str, obj: &DescribeCacheClustersMessage) {
3248 let mut prefix = name.to_string();
3249 if prefix != "" {
3250 prefix.push_str(".");
3251 }
3252
3253 if let Some(ref field_value) = obj.cache_cluster_id {
3254 params.put(&format!("{}{}", prefix, "CacheClusterId"), &field_value);
3255 }
3256 if let Some(ref field_value) = obj.marker {
3257 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3258 }
3259 if let Some(ref field_value) = obj.max_records {
3260 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3261 }
3262 if let Some(ref field_value) = obj.show_cache_clusters_not_in_replication_groups {
3263 params.put(
3264 &format!("{}{}", prefix, "ShowCacheClustersNotInReplicationGroups"),
3265 &field_value,
3266 );
3267 }
3268 if let Some(ref field_value) = obj.show_cache_node_info {
3269 params.put(&format!("{}{}", prefix, "ShowCacheNodeInfo"), &field_value);
3270 }
3271 }
3272}
3273
3274#[derive(Clone, Debug, Default, PartialEq)]
3276#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3277pub struct DescribeCacheEngineVersionsMessage {
3278 pub cache_parameter_group_family: Option<String>,
3280 pub default_only: Option<bool>,
3282 pub engine: Option<String>,
3284 pub engine_version: Option<String>,
3286 pub marker: Option<String>,
3288 pub max_records: Option<i64>,
3290}
3291
3292struct DescribeCacheEngineVersionsMessageSerializer;
3294impl DescribeCacheEngineVersionsMessageSerializer {
3295 fn serialize(params: &mut Params, name: &str, obj: &DescribeCacheEngineVersionsMessage) {
3296 let mut prefix = name.to_string();
3297 if prefix != "" {
3298 prefix.push_str(".");
3299 }
3300
3301 if let Some(ref field_value) = obj.cache_parameter_group_family {
3302 params.put(
3303 &format!("{}{}", prefix, "CacheParameterGroupFamily"),
3304 &field_value,
3305 );
3306 }
3307 if let Some(ref field_value) = obj.default_only {
3308 params.put(&format!("{}{}", prefix, "DefaultOnly"), &field_value);
3309 }
3310 if let Some(ref field_value) = obj.engine {
3311 params.put(&format!("{}{}", prefix, "Engine"), &field_value);
3312 }
3313 if let Some(ref field_value) = obj.engine_version {
3314 params.put(&format!("{}{}", prefix, "EngineVersion"), &field_value);
3315 }
3316 if let Some(ref field_value) = obj.marker {
3317 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3318 }
3319 if let Some(ref field_value) = obj.max_records {
3320 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3321 }
3322 }
3323}
3324
3325#[derive(Clone, Debug, Default, PartialEq)]
3327#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3328pub struct DescribeCacheParameterGroupsMessage {
3329 pub cache_parameter_group_name: Option<String>,
3331 pub marker: Option<String>,
3333 pub max_records: Option<i64>,
3335}
3336
3337struct DescribeCacheParameterGroupsMessageSerializer;
3339impl DescribeCacheParameterGroupsMessageSerializer {
3340 fn serialize(params: &mut Params, name: &str, obj: &DescribeCacheParameterGroupsMessage) {
3341 let mut prefix = name.to_string();
3342 if prefix != "" {
3343 prefix.push_str(".");
3344 }
3345
3346 if let Some(ref field_value) = obj.cache_parameter_group_name {
3347 params.put(
3348 &format!("{}{}", prefix, "CacheParameterGroupName"),
3349 &field_value,
3350 );
3351 }
3352 if let Some(ref field_value) = obj.marker {
3353 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3354 }
3355 if let Some(ref field_value) = obj.max_records {
3356 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3357 }
3358 }
3359}
3360
3361#[derive(Clone, Debug, Default, PartialEq)]
3363#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3364pub struct DescribeCacheParametersMessage {
3365 pub cache_parameter_group_name: String,
3367 pub marker: Option<String>,
3369 pub max_records: Option<i64>,
3371 pub source: Option<String>,
3373}
3374
3375struct DescribeCacheParametersMessageSerializer;
3377impl DescribeCacheParametersMessageSerializer {
3378 fn serialize(params: &mut Params, name: &str, obj: &DescribeCacheParametersMessage) {
3379 let mut prefix = name.to_string();
3380 if prefix != "" {
3381 prefix.push_str(".");
3382 }
3383
3384 params.put(
3385 &format!("{}{}", prefix, "CacheParameterGroupName"),
3386 &obj.cache_parameter_group_name,
3387 );
3388 if let Some(ref field_value) = obj.marker {
3389 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3390 }
3391 if let Some(ref field_value) = obj.max_records {
3392 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3393 }
3394 if let Some(ref field_value) = obj.source {
3395 params.put(&format!("{}{}", prefix, "Source"), &field_value);
3396 }
3397 }
3398}
3399
3400#[derive(Clone, Debug, Default, PartialEq)]
3402#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3403pub struct DescribeCacheSecurityGroupsMessage {
3404 pub cache_security_group_name: Option<String>,
3406 pub marker: Option<String>,
3408 pub max_records: Option<i64>,
3410}
3411
3412struct DescribeCacheSecurityGroupsMessageSerializer;
3414impl DescribeCacheSecurityGroupsMessageSerializer {
3415 fn serialize(params: &mut Params, name: &str, obj: &DescribeCacheSecurityGroupsMessage) {
3416 let mut prefix = name.to_string();
3417 if prefix != "" {
3418 prefix.push_str(".");
3419 }
3420
3421 if let Some(ref field_value) = obj.cache_security_group_name {
3422 params.put(
3423 &format!("{}{}", prefix, "CacheSecurityGroupName"),
3424 &field_value,
3425 );
3426 }
3427 if let Some(ref field_value) = obj.marker {
3428 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3429 }
3430 if let Some(ref field_value) = obj.max_records {
3431 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3432 }
3433 }
3434}
3435
3436#[derive(Clone, Debug, Default, PartialEq)]
3438#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3439pub struct DescribeCacheSubnetGroupsMessage {
3440 pub cache_subnet_group_name: Option<String>,
3442 pub marker: Option<String>,
3444 pub max_records: Option<i64>,
3446}
3447
3448struct DescribeCacheSubnetGroupsMessageSerializer;
3450impl DescribeCacheSubnetGroupsMessageSerializer {
3451 fn serialize(params: &mut Params, name: &str, obj: &DescribeCacheSubnetGroupsMessage) {
3452 let mut prefix = name.to_string();
3453 if prefix != "" {
3454 prefix.push_str(".");
3455 }
3456
3457 if let Some(ref field_value) = obj.cache_subnet_group_name {
3458 params.put(
3459 &format!("{}{}", prefix, "CacheSubnetGroupName"),
3460 &field_value,
3461 );
3462 }
3463 if let Some(ref field_value) = obj.marker {
3464 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3465 }
3466 if let Some(ref field_value) = obj.max_records {
3467 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3468 }
3469 }
3470}
3471
3472#[derive(Clone, Debug, Default, PartialEq)]
3474#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3475pub struct DescribeEngineDefaultParametersMessage {
3476 pub cache_parameter_group_family: String,
3478 pub marker: Option<String>,
3480 pub max_records: Option<i64>,
3482}
3483
3484struct DescribeEngineDefaultParametersMessageSerializer;
3486impl DescribeEngineDefaultParametersMessageSerializer {
3487 fn serialize(params: &mut Params, name: &str, obj: &DescribeEngineDefaultParametersMessage) {
3488 let mut prefix = name.to_string();
3489 if prefix != "" {
3490 prefix.push_str(".");
3491 }
3492
3493 params.put(
3494 &format!("{}{}", prefix, "CacheParameterGroupFamily"),
3495 &obj.cache_parameter_group_family,
3496 );
3497 if let Some(ref field_value) = obj.marker {
3498 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3499 }
3500 if let Some(ref field_value) = obj.max_records {
3501 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3502 }
3503 }
3504}
3505
3506#[derive(Clone, Debug, Default, PartialEq)]
3507#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3508pub struct DescribeEngineDefaultParametersResult {
3509 pub engine_defaults: Option<EngineDefaults>,
3510}
3511
3512#[allow(dead_code)]
3513struct DescribeEngineDefaultParametersResultDeserializer;
3514impl DescribeEngineDefaultParametersResultDeserializer {
3515 #[allow(dead_code, unused_variables)]
3516 fn deserialize<T: Peek + Next>(
3517 tag_name: &str,
3518 stack: &mut T,
3519 ) -> Result<DescribeEngineDefaultParametersResult, XmlParseError> {
3520 deserialize_elements::<_, DescribeEngineDefaultParametersResult, _>(
3521 tag_name,
3522 stack,
3523 |name, stack, obj| {
3524 match name {
3525 "EngineDefaults" => {
3526 obj.engine_defaults = Some(EngineDefaultsDeserializer::deserialize(
3527 "EngineDefaults",
3528 stack,
3529 )?);
3530 }
3531 _ => skip_tree(stack),
3532 }
3533 Ok(())
3534 },
3535 )
3536 }
3537}
3538#[derive(Clone, Debug, Default, PartialEq)]
3540#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3541pub struct DescribeEventsMessage {
3542 pub duration: Option<i64>,
3544 pub end_time: Option<String>,
3546 pub marker: Option<String>,
3548 pub max_records: Option<i64>,
3550 pub source_identifier: Option<String>,
3552 pub source_type: Option<String>,
3554 pub start_time: Option<String>,
3556}
3557
3558struct DescribeEventsMessageSerializer;
3560impl DescribeEventsMessageSerializer {
3561 fn serialize(params: &mut Params, name: &str, obj: &DescribeEventsMessage) {
3562 let mut prefix = name.to_string();
3563 if prefix != "" {
3564 prefix.push_str(".");
3565 }
3566
3567 if let Some(ref field_value) = obj.duration {
3568 params.put(&format!("{}{}", prefix, "Duration"), &field_value);
3569 }
3570 if let Some(ref field_value) = obj.end_time {
3571 params.put(&format!("{}{}", prefix, "EndTime"), &field_value);
3572 }
3573 if let Some(ref field_value) = obj.marker {
3574 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3575 }
3576 if let Some(ref field_value) = obj.max_records {
3577 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3578 }
3579 if let Some(ref field_value) = obj.source_identifier {
3580 params.put(&format!("{}{}", prefix, "SourceIdentifier"), &field_value);
3581 }
3582 if let Some(ref field_value) = obj.source_type {
3583 params.put(&format!("{}{}", prefix, "SourceType"), &field_value);
3584 }
3585 if let Some(ref field_value) = obj.start_time {
3586 params.put(&format!("{}{}", prefix, "StartTime"), &field_value);
3587 }
3588 }
3589}
3590
3591#[derive(Clone, Debug, Default, PartialEq)]
3592#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3593pub struct DescribeGlobalReplicationGroupsMessage {
3594 pub global_replication_group_id: Option<String>,
3596 pub marker: Option<String>,
3598 pub max_records: Option<i64>,
3600 pub show_member_info: Option<bool>,
3602}
3603
3604struct DescribeGlobalReplicationGroupsMessageSerializer;
3606impl DescribeGlobalReplicationGroupsMessageSerializer {
3607 fn serialize(params: &mut Params, name: &str, obj: &DescribeGlobalReplicationGroupsMessage) {
3608 let mut prefix = name.to_string();
3609 if prefix != "" {
3610 prefix.push_str(".");
3611 }
3612
3613 if let Some(ref field_value) = obj.global_replication_group_id {
3614 params.put(
3615 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
3616 &field_value,
3617 );
3618 }
3619 if let Some(ref field_value) = obj.marker {
3620 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3621 }
3622 if let Some(ref field_value) = obj.max_records {
3623 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3624 }
3625 if let Some(ref field_value) = obj.show_member_info {
3626 params.put(&format!("{}{}", prefix, "ShowMemberInfo"), &field_value);
3627 }
3628 }
3629}
3630
3631#[derive(Clone, Debug, Default, PartialEq)]
3632#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3633pub struct DescribeGlobalReplicationGroupsResult {
3634 pub global_replication_groups: Option<Vec<GlobalReplicationGroup>>,
3636 pub marker: Option<String>,
3638}
3639
3640#[allow(dead_code)]
3641struct DescribeGlobalReplicationGroupsResultDeserializer;
3642impl DescribeGlobalReplicationGroupsResultDeserializer {
3643 #[allow(dead_code, unused_variables)]
3644 fn deserialize<T: Peek + Next>(
3645 tag_name: &str,
3646 stack: &mut T,
3647 ) -> Result<DescribeGlobalReplicationGroupsResult, XmlParseError> {
3648 deserialize_elements::<_, DescribeGlobalReplicationGroupsResult, _>(
3649 tag_name,
3650 stack,
3651 |name, stack, obj| {
3652 match name {
3653 "GlobalReplicationGroups" => {
3654 obj.global_replication_groups.get_or_insert(vec![]).extend(
3655 GlobalReplicationGroupListDeserializer::deserialize(
3656 "GlobalReplicationGroups",
3657 stack,
3658 )?,
3659 );
3660 }
3661 "Marker" => {
3662 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
3663 }
3664 _ => skip_tree(stack),
3665 }
3666 Ok(())
3667 },
3668 )
3669 }
3670}
3671#[derive(Clone, Debug, Default, PartialEq)]
3673#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3674pub struct DescribeReplicationGroupsMessage {
3675 pub marker: Option<String>,
3677 pub max_records: Option<i64>,
3679 pub replication_group_id: Option<String>,
3681}
3682
3683struct DescribeReplicationGroupsMessageSerializer;
3685impl DescribeReplicationGroupsMessageSerializer {
3686 fn serialize(params: &mut Params, name: &str, obj: &DescribeReplicationGroupsMessage) {
3687 let mut prefix = name.to_string();
3688 if prefix != "" {
3689 prefix.push_str(".");
3690 }
3691
3692 if let Some(ref field_value) = obj.marker {
3693 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3694 }
3695 if let Some(ref field_value) = obj.max_records {
3696 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3697 }
3698 if let Some(ref field_value) = obj.replication_group_id {
3699 params.put(&format!("{}{}", prefix, "ReplicationGroupId"), &field_value);
3700 }
3701 }
3702}
3703
3704#[derive(Clone, Debug, Default, PartialEq)]
3706#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3707pub struct DescribeReservedCacheNodesMessage {
3708 pub cache_node_type: Option<String>,
3710 pub duration: Option<String>,
3712 pub marker: Option<String>,
3714 pub max_records: Option<i64>,
3716 pub offering_type: Option<String>,
3718 pub product_description: Option<String>,
3720 pub reserved_cache_node_id: Option<String>,
3722 pub reserved_cache_nodes_offering_id: Option<String>,
3724}
3725
3726struct DescribeReservedCacheNodesMessageSerializer;
3728impl DescribeReservedCacheNodesMessageSerializer {
3729 fn serialize(params: &mut Params, name: &str, obj: &DescribeReservedCacheNodesMessage) {
3730 let mut prefix = name.to_string();
3731 if prefix != "" {
3732 prefix.push_str(".");
3733 }
3734
3735 if let Some(ref field_value) = obj.cache_node_type {
3736 params.put(&format!("{}{}", prefix, "CacheNodeType"), &field_value);
3737 }
3738 if let Some(ref field_value) = obj.duration {
3739 params.put(&format!("{}{}", prefix, "Duration"), &field_value);
3740 }
3741 if let Some(ref field_value) = obj.marker {
3742 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3743 }
3744 if let Some(ref field_value) = obj.max_records {
3745 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3746 }
3747 if let Some(ref field_value) = obj.offering_type {
3748 params.put(&format!("{}{}", prefix, "OfferingType"), &field_value);
3749 }
3750 if let Some(ref field_value) = obj.product_description {
3751 params.put(&format!("{}{}", prefix, "ProductDescription"), &field_value);
3752 }
3753 if let Some(ref field_value) = obj.reserved_cache_node_id {
3754 params.put(
3755 &format!("{}{}", prefix, "ReservedCacheNodeId"),
3756 &field_value,
3757 );
3758 }
3759 if let Some(ref field_value) = obj.reserved_cache_nodes_offering_id {
3760 params.put(
3761 &format!("{}{}", prefix, "ReservedCacheNodesOfferingId"),
3762 &field_value,
3763 );
3764 }
3765 }
3766}
3767
3768#[derive(Clone, Debug, Default, PartialEq)]
3770#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3771pub struct DescribeReservedCacheNodesOfferingsMessage {
3772 pub cache_node_type: Option<String>,
3774 pub duration: Option<String>,
3776 pub marker: Option<String>,
3778 pub max_records: Option<i64>,
3780 pub offering_type: Option<String>,
3782 pub product_description: Option<String>,
3784 pub reserved_cache_nodes_offering_id: Option<String>,
3786}
3787
3788struct DescribeReservedCacheNodesOfferingsMessageSerializer;
3790impl DescribeReservedCacheNodesOfferingsMessageSerializer {
3791 fn serialize(
3792 params: &mut Params,
3793 name: &str,
3794 obj: &DescribeReservedCacheNodesOfferingsMessage,
3795 ) {
3796 let mut prefix = name.to_string();
3797 if prefix != "" {
3798 prefix.push_str(".");
3799 }
3800
3801 if let Some(ref field_value) = obj.cache_node_type {
3802 params.put(&format!("{}{}", prefix, "CacheNodeType"), &field_value);
3803 }
3804 if let Some(ref field_value) = obj.duration {
3805 params.put(&format!("{}{}", prefix, "Duration"), &field_value);
3806 }
3807 if let Some(ref field_value) = obj.marker {
3808 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3809 }
3810 if let Some(ref field_value) = obj.max_records {
3811 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3812 }
3813 if let Some(ref field_value) = obj.offering_type {
3814 params.put(&format!("{}{}", prefix, "OfferingType"), &field_value);
3815 }
3816 if let Some(ref field_value) = obj.product_description {
3817 params.put(&format!("{}{}", prefix, "ProductDescription"), &field_value);
3818 }
3819 if let Some(ref field_value) = obj.reserved_cache_nodes_offering_id {
3820 params.put(
3821 &format!("{}{}", prefix, "ReservedCacheNodesOfferingId"),
3822 &field_value,
3823 );
3824 }
3825 }
3826}
3827
3828#[derive(Clone, Debug, Default, PartialEq)]
3829#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3830pub struct DescribeServiceUpdatesMessage {
3831 pub marker: Option<String>,
3833 pub max_records: Option<i64>,
3835 pub service_update_name: Option<String>,
3837 pub service_update_status: Option<Vec<String>>,
3839}
3840
3841struct DescribeServiceUpdatesMessageSerializer;
3843impl DescribeServiceUpdatesMessageSerializer {
3844 fn serialize(params: &mut Params, name: &str, obj: &DescribeServiceUpdatesMessage) {
3845 let mut prefix = name.to_string();
3846 if prefix != "" {
3847 prefix.push_str(".");
3848 }
3849
3850 if let Some(ref field_value) = obj.marker {
3851 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3852 }
3853 if let Some(ref field_value) = obj.max_records {
3854 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3855 }
3856 if let Some(ref field_value) = obj.service_update_name {
3857 params.put(&format!("{}{}", prefix, "ServiceUpdateName"), &field_value);
3858 }
3859 if let Some(ref field_value) = obj.service_update_status {
3860 ServiceUpdateStatusListSerializer::serialize(
3861 params,
3862 &format!("{}{}", prefix, "ServiceUpdateStatus"),
3863 field_value,
3864 );
3865 }
3866 }
3867}
3868
3869#[derive(Clone, Debug, Default, PartialEq)]
3871#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
3872pub struct DescribeSnapshotsListMessage {
3873 pub marker: Option<String>,
3875 pub snapshots: Option<Vec<Snapshot>>,
3877}
3878
3879#[allow(dead_code)]
3880struct DescribeSnapshotsListMessageDeserializer;
3881impl DescribeSnapshotsListMessageDeserializer {
3882 #[allow(dead_code, unused_variables)]
3883 fn deserialize<T: Peek + Next>(
3884 tag_name: &str,
3885 stack: &mut T,
3886 ) -> Result<DescribeSnapshotsListMessage, XmlParseError> {
3887 deserialize_elements::<_, DescribeSnapshotsListMessage, _>(
3888 tag_name,
3889 stack,
3890 |name, stack, obj| {
3891 match name {
3892 "Marker" => {
3893 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
3894 }
3895 "Snapshots" => {
3896 obj.snapshots
3897 .get_or_insert(vec![])
3898 .extend(SnapshotListDeserializer::deserialize("Snapshots", stack)?);
3899 }
3900 _ => skip_tree(stack),
3901 }
3902 Ok(())
3903 },
3904 )
3905 }
3906}
3907#[derive(Clone, Debug, Default, PartialEq)]
3909#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3910pub struct DescribeSnapshotsMessage {
3911 pub cache_cluster_id: Option<String>,
3913 pub marker: Option<String>,
3915 pub max_records: Option<i64>,
3917 pub replication_group_id: Option<String>,
3919 pub show_node_group_config: Option<bool>,
3921 pub snapshot_name: Option<String>,
3923 pub snapshot_source: Option<String>,
3925}
3926
3927struct DescribeSnapshotsMessageSerializer;
3929impl DescribeSnapshotsMessageSerializer {
3930 fn serialize(params: &mut Params, name: &str, obj: &DescribeSnapshotsMessage) {
3931 let mut prefix = name.to_string();
3932 if prefix != "" {
3933 prefix.push_str(".");
3934 }
3935
3936 if let Some(ref field_value) = obj.cache_cluster_id {
3937 params.put(&format!("{}{}", prefix, "CacheClusterId"), &field_value);
3938 }
3939 if let Some(ref field_value) = obj.marker {
3940 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
3941 }
3942 if let Some(ref field_value) = obj.max_records {
3943 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
3944 }
3945 if let Some(ref field_value) = obj.replication_group_id {
3946 params.put(&format!("{}{}", prefix, "ReplicationGroupId"), &field_value);
3947 }
3948 if let Some(ref field_value) = obj.show_node_group_config {
3949 params.put(
3950 &format!("{}{}", prefix, "ShowNodeGroupConfig"),
3951 &field_value,
3952 );
3953 }
3954 if let Some(ref field_value) = obj.snapshot_name {
3955 params.put(&format!("{}{}", prefix, "SnapshotName"), &field_value);
3956 }
3957 if let Some(ref field_value) = obj.snapshot_source {
3958 params.put(&format!("{}{}", prefix, "SnapshotSource"), &field_value);
3959 }
3960 }
3961}
3962
3963#[derive(Clone, Debug, Default, PartialEq)]
3964#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3965pub struct DescribeUpdateActionsMessage {
3966 pub cache_cluster_ids: Option<Vec<String>>,
3968 pub engine: Option<String>,
3970 pub marker: Option<String>,
3972 pub max_records: Option<i64>,
3974 pub replication_group_ids: Option<Vec<String>>,
3976 pub service_update_name: Option<String>,
3978 pub service_update_status: Option<Vec<String>>,
3980 pub service_update_time_range: Option<TimeRangeFilter>,
3982 pub show_node_level_update_status: Option<bool>,
3984 pub update_action_status: Option<Vec<String>>,
3986}
3987
3988struct DescribeUpdateActionsMessageSerializer;
3990impl DescribeUpdateActionsMessageSerializer {
3991 fn serialize(params: &mut Params, name: &str, obj: &DescribeUpdateActionsMessage) {
3992 let mut prefix = name.to_string();
3993 if prefix != "" {
3994 prefix.push_str(".");
3995 }
3996
3997 if let Some(ref field_value) = obj.cache_cluster_ids {
3998 CacheClusterIdListSerializer::serialize(
3999 params,
4000 &format!("{}{}", prefix, "CacheClusterIds"),
4001 field_value,
4002 );
4003 }
4004 if let Some(ref field_value) = obj.engine {
4005 params.put(&format!("{}{}", prefix, "Engine"), &field_value);
4006 }
4007 if let Some(ref field_value) = obj.marker {
4008 params.put(&format!("{}{}", prefix, "Marker"), &field_value);
4009 }
4010 if let Some(ref field_value) = obj.max_records {
4011 params.put(&format!("{}{}", prefix, "MaxRecords"), &field_value);
4012 }
4013 if let Some(ref field_value) = obj.replication_group_ids {
4014 ReplicationGroupIdListSerializer::serialize(
4015 params,
4016 &format!("{}{}", prefix, "ReplicationGroupIds"),
4017 field_value,
4018 );
4019 }
4020 if let Some(ref field_value) = obj.service_update_name {
4021 params.put(&format!("{}{}", prefix, "ServiceUpdateName"), &field_value);
4022 }
4023 if let Some(ref field_value) = obj.service_update_status {
4024 ServiceUpdateStatusListSerializer::serialize(
4025 params,
4026 &format!("{}{}", prefix, "ServiceUpdateStatus"),
4027 field_value,
4028 );
4029 }
4030 if let Some(ref field_value) = obj.service_update_time_range {
4031 TimeRangeFilterSerializer::serialize(
4032 params,
4033 &format!("{}{}", prefix, "ServiceUpdateTimeRange"),
4034 field_value,
4035 );
4036 }
4037 if let Some(ref field_value) = obj.show_node_level_update_status {
4038 params.put(
4039 &format!("{}{}", prefix, "ShowNodeLevelUpdateStatus"),
4040 &field_value,
4041 );
4042 }
4043 if let Some(ref field_value) = obj.update_action_status {
4044 UpdateActionStatusListSerializer::serialize(
4045 params,
4046 &format!("{}{}", prefix, "UpdateActionStatus"),
4047 field_value,
4048 );
4049 }
4050 }
4051}
4052
4053#[derive(Clone, Debug, Default, PartialEq)]
4054#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4055pub struct DisassociateGlobalReplicationGroupMessage {
4056 pub global_replication_group_id: String,
4058 pub replication_group_id: String,
4060 pub replication_group_region: String,
4062}
4063
4064struct DisassociateGlobalReplicationGroupMessageSerializer;
4066impl DisassociateGlobalReplicationGroupMessageSerializer {
4067 fn serialize(params: &mut Params, name: &str, obj: &DisassociateGlobalReplicationGroupMessage) {
4068 let mut prefix = name.to_string();
4069 if prefix != "" {
4070 prefix.push_str(".");
4071 }
4072
4073 params.put(
4074 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
4075 &obj.global_replication_group_id,
4076 );
4077 params.put(
4078 &format!("{}{}", prefix, "ReplicationGroupId"),
4079 &obj.replication_group_id,
4080 );
4081 params.put(
4082 &format!("{}{}", prefix, "ReplicationGroupRegion"),
4083 &obj.replication_group_region,
4084 );
4085 }
4086}
4087
4088#[derive(Clone, Debug, Default, PartialEq)]
4089#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4090pub struct DisassociateGlobalReplicationGroupResult {
4091 pub global_replication_group: Option<GlobalReplicationGroup>,
4092}
4093
4094#[allow(dead_code)]
4095struct DisassociateGlobalReplicationGroupResultDeserializer;
4096impl DisassociateGlobalReplicationGroupResultDeserializer {
4097 #[allow(dead_code, unused_variables)]
4098 fn deserialize<T: Peek + Next>(
4099 tag_name: &str,
4100 stack: &mut T,
4101 ) -> Result<DisassociateGlobalReplicationGroupResult, XmlParseError> {
4102 deserialize_elements::<_, DisassociateGlobalReplicationGroupResult, _>(
4103 tag_name,
4104 stack,
4105 |name, stack, obj| {
4106 match name {
4107 "GlobalReplicationGroup" => {
4108 obj.global_replication_group =
4109 Some(GlobalReplicationGroupDeserializer::deserialize(
4110 "GlobalReplicationGroup",
4111 stack,
4112 )?);
4113 }
4114 _ => skip_tree(stack),
4115 }
4116 Ok(())
4117 },
4118 )
4119 }
4120}
4121#[allow(dead_code)]
4122struct DoubleDeserializer;
4123impl DoubleDeserializer {
4124 #[allow(dead_code, unused_variables)]
4125 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<f64, XmlParseError> {
4126 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(f64::from_str(&s).unwrap()))
4127 }
4128}
4129#[derive(Clone, Debug, Default, PartialEq)]
4131#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4132pub struct EC2SecurityGroup {
4133 pub ec2_security_group_name: Option<String>,
4135 pub ec2_security_group_owner_id: Option<String>,
4137 pub status: Option<String>,
4139}
4140
4141#[allow(dead_code)]
4142struct EC2SecurityGroupDeserializer;
4143impl EC2SecurityGroupDeserializer {
4144 #[allow(dead_code, unused_variables)]
4145 fn deserialize<T: Peek + Next>(
4146 tag_name: &str,
4147 stack: &mut T,
4148 ) -> Result<EC2SecurityGroup, XmlParseError> {
4149 deserialize_elements::<_, EC2SecurityGroup, _>(tag_name, stack, |name, stack, obj| {
4150 match name {
4151 "EC2SecurityGroupName" => {
4152 obj.ec2_security_group_name = Some(StringDeserializer::deserialize(
4153 "EC2SecurityGroupName",
4154 stack,
4155 )?);
4156 }
4157 "EC2SecurityGroupOwnerId" => {
4158 obj.ec2_security_group_owner_id = Some(StringDeserializer::deserialize(
4159 "EC2SecurityGroupOwnerId",
4160 stack,
4161 )?);
4162 }
4163 "Status" => {
4164 obj.status = Some(StringDeserializer::deserialize("Status", stack)?);
4165 }
4166 _ => skip_tree(stack),
4167 }
4168 Ok(())
4169 })
4170 }
4171}
4172#[allow(dead_code)]
4173struct EC2SecurityGroupListDeserializer;
4174impl EC2SecurityGroupListDeserializer {
4175 #[allow(dead_code, unused_variables)]
4176 fn deserialize<T: Peek + Next>(
4177 tag_name: &str,
4178 stack: &mut T,
4179 ) -> Result<Vec<EC2SecurityGroup>, XmlParseError> {
4180 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4181 if name == "EC2SecurityGroup" {
4182 obj.push(EC2SecurityGroupDeserializer::deserialize(
4183 "EC2SecurityGroup",
4184 stack,
4185 )?);
4186 } else {
4187 skip_tree(stack);
4188 }
4189 Ok(())
4190 })
4191 }
4192}
4193#[derive(Clone, Debug, Default, PartialEq)]
4195#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4196pub struct Endpoint {
4197 pub address: Option<String>,
4199 pub port: Option<i64>,
4201}
4202
4203#[allow(dead_code)]
4204struct EndpointDeserializer;
4205impl EndpointDeserializer {
4206 #[allow(dead_code, unused_variables)]
4207 fn deserialize<T: Peek + Next>(
4208 tag_name: &str,
4209 stack: &mut T,
4210 ) -> Result<Endpoint, XmlParseError> {
4211 deserialize_elements::<_, Endpoint, _>(tag_name, stack, |name, stack, obj| {
4212 match name {
4213 "Address" => {
4214 obj.address = Some(StringDeserializer::deserialize("Address", stack)?);
4215 }
4216 "Port" => {
4217 obj.port = Some(IntegerDeserializer::deserialize("Port", stack)?);
4218 }
4219 _ => skip_tree(stack),
4220 }
4221 Ok(())
4222 })
4223 }
4224}
4225#[derive(Clone, Debug, Default, PartialEq)]
4227#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4228pub struct EngineDefaults {
4229 pub cache_node_type_specific_parameters: Option<Vec<CacheNodeTypeSpecificParameter>>,
4231 pub cache_parameter_group_family: Option<String>,
4233 pub marker: Option<String>,
4235 pub parameters: Option<Vec<Parameter>>,
4237}
4238
4239#[allow(dead_code)]
4240struct EngineDefaultsDeserializer;
4241impl EngineDefaultsDeserializer {
4242 #[allow(dead_code, unused_variables)]
4243 fn deserialize<T: Peek + Next>(
4244 tag_name: &str,
4245 stack: &mut T,
4246 ) -> Result<EngineDefaults, XmlParseError> {
4247 deserialize_elements::<_, EngineDefaults, _>(tag_name, stack, |name, stack, obj| {
4248 match name {
4249 "CacheNodeTypeSpecificParameters" => {
4250 obj.cache_node_type_specific_parameters
4251 .get_or_insert(vec![])
4252 .extend(
4253 CacheNodeTypeSpecificParametersListDeserializer::deserialize(
4254 "CacheNodeTypeSpecificParameters",
4255 stack,
4256 )?,
4257 );
4258 }
4259 "CacheParameterGroupFamily" => {
4260 obj.cache_parameter_group_family = Some(StringDeserializer::deserialize(
4261 "CacheParameterGroupFamily",
4262 stack,
4263 )?);
4264 }
4265 "Marker" => {
4266 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
4267 }
4268 "Parameters" => {
4269 obj.parameters.get_or_insert(vec![]).extend(
4270 ParametersListDeserializer::deserialize("Parameters", stack)?,
4271 );
4272 }
4273 _ => skip_tree(stack),
4274 }
4275 Ok(())
4276 })
4277 }
4278}
4279#[derive(Clone, Debug, Default, PartialEq)]
4281#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4282pub struct Event {
4283 pub date: Option<String>,
4285 pub message: Option<String>,
4287 pub source_identifier: Option<String>,
4289 pub source_type: Option<String>,
4291}
4292
4293#[allow(dead_code)]
4294struct EventDeserializer;
4295impl EventDeserializer {
4296 #[allow(dead_code, unused_variables)]
4297 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Event, XmlParseError> {
4298 deserialize_elements::<_, Event, _>(tag_name, stack, |name, stack, obj| {
4299 match name {
4300 "Date" => {
4301 obj.date = Some(TStampDeserializer::deserialize("Date", stack)?);
4302 }
4303 "Message" => {
4304 obj.message = Some(StringDeserializer::deserialize("Message", stack)?);
4305 }
4306 "SourceIdentifier" => {
4307 obj.source_identifier =
4308 Some(StringDeserializer::deserialize("SourceIdentifier", stack)?);
4309 }
4310 "SourceType" => {
4311 obj.source_type =
4312 Some(SourceTypeDeserializer::deserialize("SourceType", stack)?);
4313 }
4314 _ => skip_tree(stack),
4315 }
4316 Ok(())
4317 })
4318 }
4319}
4320#[allow(dead_code)]
4321struct EventListDeserializer;
4322impl EventListDeserializer {
4323 #[allow(dead_code, unused_variables)]
4324 fn deserialize<T: Peek + Next>(
4325 tag_name: &str,
4326 stack: &mut T,
4327 ) -> Result<Vec<Event>, XmlParseError> {
4328 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4329 if name == "Event" {
4330 obj.push(EventDeserializer::deserialize("Event", stack)?);
4331 } else {
4332 skip_tree(stack);
4333 }
4334 Ok(())
4335 })
4336 }
4337}
4338#[derive(Clone, Debug, Default, PartialEq)]
4340#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4341pub struct EventsMessage {
4342 pub events: Option<Vec<Event>>,
4344 pub marker: Option<String>,
4346}
4347
4348#[allow(dead_code)]
4349struct EventsMessageDeserializer;
4350impl EventsMessageDeserializer {
4351 #[allow(dead_code, unused_variables)]
4352 fn deserialize<T: Peek + Next>(
4353 tag_name: &str,
4354 stack: &mut T,
4355 ) -> Result<EventsMessage, XmlParseError> {
4356 deserialize_elements::<_, EventsMessage, _>(tag_name, stack, |name, stack, obj| {
4357 match name {
4358 "Events" => {
4359 obj.events
4360 .get_or_insert(vec![])
4361 .extend(EventListDeserializer::deserialize("Events", stack)?);
4362 }
4363 "Marker" => {
4364 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
4365 }
4366 _ => skip_tree(stack),
4367 }
4368 Ok(())
4369 })
4370 }
4371}
4372#[derive(Clone, Debug, Default, PartialEq)]
4373#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4374pub struct FailoverGlobalReplicationGroupMessage {
4375 pub global_replication_group_id: String,
4377 pub primary_region: String,
4379 pub primary_replication_group_id: String,
4381}
4382
4383struct FailoverGlobalReplicationGroupMessageSerializer;
4385impl FailoverGlobalReplicationGroupMessageSerializer {
4386 fn serialize(params: &mut Params, name: &str, obj: &FailoverGlobalReplicationGroupMessage) {
4387 let mut prefix = name.to_string();
4388 if prefix != "" {
4389 prefix.push_str(".");
4390 }
4391
4392 params.put(
4393 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
4394 &obj.global_replication_group_id,
4395 );
4396 params.put(
4397 &format!("{}{}", prefix, "PrimaryRegion"),
4398 &obj.primary_region,
4399 );
4400 params.put(
4401 &format!("{}{}", prefix, "PrimaryReplicationGroupId"),
4402 &obj.primary_replication_group_id,
4403 );
4404 }
4405}
4406
4407#[derive(Clone, Debug, Default, PartialEq)]
4408#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4409pub struct FailoverGlobalReplicationGroupResult {
4410 pub global_replication_group: Option<GlobalReplicationGroup>,
4411}
4412
4413#[allow(dead_code)]
4414struct FailoverGlobalReplicationGroupResultDeserializer;
4415impl FailoverGlobalReplicationGroupResultDeserializer {
4416 #[allow(dead_code, unused_variables)]
4417 fn deserialize<T: Peek + Next>(
4418 tag_name: &str,
4419 stack: &mut T,
4420 ) -> Result<FailoverGlobalReplicationGroupResult, XmlParseError> {
4421 deserialize_elements::<_, FailoverGlobalReplicationGroupResult, _>(
4422 tag_name,
4423 stack,
4424 |name, stack, obj| {
4425 match name {
4426 "GlobalReplicationGroup" => {
4427 obj.global_replication_group =
4428 Some(GlobalReplicationGroupDeserializer::deserialize(
4429 "GlobalReplicationGroup",
4430 stack,
4431 )?);
4432 }
4433 _ => skip_tree(stack),
4434 }
4435 Ok(())
4436 },
4437 )
4438 }
4439}
4440#[derive(Clone, Debug, Default, PartialEq)]
4442#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4443pub struct GlobalNodeGroup {
4444 pub global_node_group_id: Option<String>,
4446 pub slots: Option<String>,
4448}
4449
4450#[allow(dead_code)]
4451struct GlobalNodeGroupDeserializer;
4452impl GlobalNodeGroupDeserializer {
4453 #[allow(dead_code, unused_variables)]
4454 fn deserialize<T: Peek + Next>(
4455 tag_name: &str,
4456 stack: &mut T,
4457 ) -> Result<GlobalNodeGroup, XmlParseError> {
4458 deserialize_elements::<_, GlobalNodeGroup, _>(tag_name, stack, |name, stack, obj| {
4459 match name {
4460 "GlobalNodeGroupId" => {
4461 obj.global_node_group_id =
4462 Some(StringDeserializer::deserialize("GlobalNodeGroupId", stack)?);
4463 }
4464 "Slots" => {
4465 obj.slots = Some(StringDeserializer::deserialize("Slots", stack)?);
4466 }
4467 _ => skip_tree(stack),
4468 }
4469 Ok(())
4470 })
4471 }
4472}
4473
4474struct GlobalNodeGroupIdListSerializer;
4476impl GlobalNodeGroupIdListSerializer {
4477 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
4478 for (index, obj) in obj.iter().enumerate() {
4479 let key = format!("{}.member.{}", name, index + 1);
4480 params.put(&key, &obj);
4481 }
4482 }
4483}
4484
4485#[allow(dead_code)]
4486struct GlobalNodeGroupListDeserializer;
4487impl GlobalNodeGroupListDeserializer {
4488 #[allow(dead_code, unused_variables)]
4489 fn deserialize<T: Peek + Next>(
4490 tag_name: &str,
4491 stack: &mut T,
4492 ) -> Result<Vec<GlobalNodeGroup>, XmlParseError> {
4493 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4494 if name == "GlobalNodeGroup" {
4495 obj.push(GlobalNodeGroupDeserializer::deserialize(
4496 "GlobalNodeGroup",
4497 stack,
4498 )?);
4499 } else {
4500 skip_tree(stack);
4501 }
4502 Ok(())
4503 })
4504 }
4505}
4506#[derive(Clone, Debug, Default, PartialEq)]
4508#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4509pub struct GlobalReplicationGroup {
4510 pub arn: Option<String>,
4512 pub at_rest_encryption_enabled: Option<bool>,
4514 pub auth_token_enabled: Option<bool>,
4516 pub cache_node_type: Option<String>,
4518 pub cluster_enabled: Option<bool>,
4520 pub engine: Option<String>,
4522 pub engine_version: Option<String>,
4524 pub global_node_groups: Option<Vec<GlobalNodeGroup>>,
4526 pub global_replication_group_description: Option<String>,
4528 pub global_replication_group_id: Option<String>,
4530 pub members: Option<Vec<GlobalReplicationGroupMember>>,
4532 pub status: Option<String>,
4534 pub transit_encryption_enabled: Option<bool>,
4536}
4537
4538#[allow(dead_code)]
4539struct GlobalReplicationGroupDeserializer;
4540impl GlobalReplicationGroupDeserializer {
4541 #[allow(dead_code, unused_variables)]
4542 fn deserialize<T: Peek + Next>(
4543 tag_name: &str,
4544 stack: &mut T,
4545 ) -> Result<GlobalReplicationGroup, XmlParseError> {
4546 deserialize_elements::<_, GlobalReplicationGroup, _>(tag_name, stack, |name, stack, obj| {
4547 match name {
4548 "ARN" => {
4549 obj.arn = Some(StringDeserializer::deserialize("ARN", stack)?);
4550 }
4551 "AtRestEncryptionEnabled" => {
4552 obj.at_rest_encryption_enabled = Some(
4553 BooleanOptionalDeserializer::deserialize("AtRestEncryptionEnabled", stack)?,
4554 );
4555 }
4556 "AuthTokenEnabled" => {
4557 obj.auth_token_enabled = Some(BooleanOptionalDeserializer::deserialize(
4558 "AuthTokenEnabled",
4559 stack,
4560 )?);
4561 }
4562 "CacheNodeType" => {
4563 obj.cache_node_type =
4564 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
4565 }
4566 "ClusterEnabled" => {
4567 obj.cluster_enabled = Some(BooleanOptionalDeserializer::deserialize(
4568 "ClusterEnabled",
4569 stack,
4570 )?);
4571 }
4572 "Engine" => {
4573 obj.engine = Some(StringDeserializer::deserialize("Engine", stack)?);
4574 }
4575 "EngineVersion" => {
4576 obj.engine_version =
4577 Some(StringDeserializer::deserialize("EngineVersion", stack)?);
4578 }
4579 "GlobalNodeGroups" => {
4580 obj.global_node_groups.get_or_insert(vec![]).extend(
4581 GlobalNodeGroupListDeserializer::deserialize("GlobalNodeGroups", stack)?,
4582 );
4583 }
4584 "GlobalReplicationGroupDescription" => {
4585 obj.global_replication_group_description =
4586 Some(StringDeserializer::deserialize(
4587 "GlobalReplicationGroupDescription",
4588 stack,
4589 )?);
4590 }
4591 "GlobalReplicationGroupId" => {
4592 obj.global_replication_group_id = Some(StringDeserializer::deserialize(
4593 "GlobalReplicationGroupId",
4594 stack,
4595 )?);
4596 }
4597 "Members" => {
4598 obj.members.get_or_insert(vec![]).extend(
4599 GlobalReplicationGroupMemberListDeserializer::deserialize(
4600 "Members", stack,
4601 )?,
4602 );
4603 }
4604 "Status" => {
4605 obj.status = Some(StringDeserializer::deserialize("Status", stack)?);
4606 }
4607 "TransitEncryptionEnabled" => {
4608 obj.transit_encryption_enabled =
4609 Some(BooleanOptionalDeserializer::deserialize(
4610 "TransitEncryptionEnabled",
4611 stack,
4612 )?);
4613 }
4614 _ => skip_tree(stack),
4615 }
4616 Ok(())
4617 })
4618 }
4619}
4620#[derive(Clone, Debug, Default, PartialEq)]
4622#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4623pub struct GlobalReplicationGroupInfo {
4624 pub global_replication_group_id: Option<String>,
4626 pub global_replication_group_member_role: Option<String>,
4628}
4629
4630#[allow(dead_code)]
4631struct GlobalReplicationGroupInfoDeserializer;
4632impl GlobalReplicationGroupInfoDeserializer {
4633 #[allow(dead_code, unused_variables)]
4634 fn deserialize<T: Peek + Next>(
4635 tag_name: &str,
4636 stack: &mut T,
4637 ) -> Result<GlobalReplicationGroupInfo, XmlParseError> {
4638 deserialize_elements::<_, GlobalReplicationGroupInfo, _>(
4639 tag_name,
4640 stack,
4641 |name, stack, obj| {
4642 match name {
4643 "GlobalReplicationGroupId" => {
4644 obj.global_replication_group_id = Some(StringDeserializer::deserialize(
4645 "GlobalReplicationGroupId",
4646 stack,
4647 )?);
4648 }
4649 "GlobalReplicationGroupMemberRole" => {
4650 obj.global_replication_group_member_role =
4651 Some(StringDeserializer::deserialize(
4652 "GlobalReplicationGroupMemberRole",
4653 stack,
4654 )?);
4655 }
4656 _ => skip_tree(stack),
4657 }
4658 Ok(())
4659 },
4660 )
4661 }
4662}
4663#[allow(dead_code)]
4664struct GlobalReplicationGroupListDeserializer;
4665impl GlobalReplicationGroupListDeserializer {
4666 #[allow(dead_code, unused_variables)]
4667 fn deserialize<T: Peek + Next>(
4668 tag_name: &str,
4669 stack: &mut T,
4670 ) -> Result<Vec<GlobalReplicationGroup>, XmlParseError> {
4671 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4672 if name == "GlobalReplicationGroup" {
4673 obj.push(GlobalReplicationGroupDeserializer::deserialize(
4674 "GlobalReplicationGroup",
4675 stack,
4676 )?);
4677 } else {
4678 skip_tree(stack);
4679 }
4680 Ok(())
4681 })
4682 }
4683}
4684#[derive(Clone, Debug, Default, PartialEq)]
4686#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4687pub struct GlobalReplicationGroupMember {
4688 pub automatic_failover: Option<String>,
4690 pub replication_group_id: Option<String>,
4692 pub replication_group_region: Option<String>,
4694 pub role: Option<String>,
4696 pub status: Option<String>,
4698}
4699
4700#[allow(dead_code)]
4701struct GlobalReplicationGroupMemberDeserializer;
4702impl GlobalReplicationGroupMemberDeserializer {
4703 #[allow(dead_code, unused_variables)]
4704 fn deserialize<T: Peek + Next>(
4705 tag_name: &str,
4706 stack: &mut T,
4707 ) -> Result<GlobalReplicationGroupMember, XmlParseError> {
4708 deserialize_elements::<_, GlobalReplicationGroupMember, _>(
4709 tag_name,
4710 stack,
4711 |name, stack, obj| {
4712 match name {
4713 "AutomaticFailover" => {
4714 obj.automatic_failover =
4715 Some(AutomaticFailoverStatusDeserializer::deserialize(
4716 "AutomaticFailover",
4717 stack,
4718 )?);
4719 }
4720 "ReplicationGroupId" => {
4721 obj.replication_group_id = Some(StringDeserializer::deserialize(
4722 "ReplicationGroupId",
4723 stack,
4724 )?);
4725 }
4726 "ReplicationGroupRegion" => {
4727 obj.replication_group_region = Some(StringDeserializer::deserialize(
4728 "ReplicationGroupRegion",
4729 stack,
4730 )?);
4731 }
4732 "Role" => {
4733 obj.role = Some(StringDeserializer::deserialize("Role", stack)?);
4734 }
4735 "Status" => {
4736 obj.status = Some(StringDeserializer::deserialize("Status", stack)?);
4737 }
4738 _ => skip_tree(stack),
4739 }
4740 Ok(())
4741 },
4742 )
4743 }
4744}
4745#[allow(dead_code)]
4746struct GlobalReplicationGroupMemberListDeserializer;
4747impl GlobalReplicationGroupMemberListDeserializer {
4748 #[allow(dead_code, unused_variables)]
4749 fn deserialize<T: Peek + Next>(
4750 tag_name: &str,
4751 stack: &mut T,
4752 ) -> Result<Vec<GlobalReplicationGroupMember>, XmlParseError> {
4753 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
4754 if name == "GlobalReplicationGroupMember" {
4755 obj.push(GlobalReplicationGroupMemberDeserializer::deserialize(
4756 "GlobalReplicationGroupMember",
4757 stack,
4758 )?);
4759 } else {
4760 skip_tree(stack);
4761 }
4762 Ok(())
4763 })
4764 }
4765}
4766#[derive(Clone, Debug, Default, PartialEq)]
4767#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4768pub struct IncreaseNodeGroupsInGlobalReplicationGroupMessage {
4769 pub apply_immediately: bool,
4771 pub global_replication_group_id: String,
4773 pub node_group_count: i64,
4775 pub regional_configurations: Option<Vec<RegionalConfiguration>>,
4777}
4778
4779struct IncreaseNodeGroupsInGlobalReplicationGroupMessageSerializer;
4781impl IncreaseNodeGroupsInGlobalReplicationGroupMessageSerializer {
4782 fn serialize(
4783 params: &mut Params,
4784 name: &str,
4785 obj: &IncreaseNodeGroupsInGlobalReplicationGroupMessage,
4786 ) {
4787 let mut prefix = name.to_string();
4788 if prefix != "" {
4789 prefix.push_str(".");
4790 }
4791
4792 params.put(
4793 &format!("{}{}", prefix, "ApplyImmediately"),
4794 &obj.apply_immediately,
4795 );
4796 params.put(
4797 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
4798 &obj.global_replication_group_id,
4799 );
4800 params.put(
4801 &format!("{}{}", prefix, "NodeGroupCount"),
4802 &obj.node_group_count,
4803 );
4804 if let Some(ref field_value) = obj.regional_configurations {
4805 RegionalConfigurationListSerializer::serialize(
4806 params,
4807 &format!("{}{}", prefix, "RegionalConfiguration"),
4808 field_value,
4809 );
4810 }
4811 }
4812}
4813
4814#[derive(Clone, Debug, Default, PartialEq)]
4815#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4816pub struct IncreaseNodeGroupsInGlobalReplicationGroupResult {
4817 pub global_replication_group: Option<GlobalReplicationGroup>,
4818}
4819
4820#[allow(dead_code)]
4821struct IncreaseNodeGroupsInGlobalReplicationGroupResultDeserializer;
4822impl IncreaseNodeGroupsInGlobalReplicationGroupResultDeserializer {
4823 #[allow(dead_code, unused_variables)]
4824 fn deserialize<T: Peek + Next>(
4825 tag_name: &str,
4826 stack: &mut T,
4827 ) -> Result<IncreaseNodeGroupsInGlobalReplicationGroupResult, XmlParseError> {
4828 deserialize_elements::<_, IncreaseNodeGroupsInGlobalReplicationGroupResult, _>(
4829 tag_name,
4830 stack,
4831 |name, stack, obj| {
4832 match name {
4833 "GlobalReplicationGroup" => {
4834 obj.global_replication_group =
4835 Some(GlobalReplicationGroupDeserializer::deserialize(
4836 "GlobalReplicationGroup",
4837 stack,
4838 )?);
4839 }
4840 _ => skip_tree(stack),
4841 }
4842 Ok(())
4843 },
4844 )
4845 }
4846}
4847#[derive(Clone, Debug, Default, PartialEq)]
4848#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4849pub struct IncreaseReplicaCountMessage {
4850 pub apply_immediately: bool,
4852 pub new_replica_count: Option<i64>,
4854 pub replica_configuration: Option<Vec<ConfigureShard>>,
4856 pub replication_group_id: String,
4858}
4859
4860struct IncreaseReplicaCountMessageSerializer;
4862impl IncreaseReplicaCountMessageSerializer {
4863 fn serialize(params: &mut Params, name: &str, obj: &IncreaseReplicaCountMessage) {
4864 let mut prefix = name.to_string();
4865 if prefix != "" {
4866 prefix.push_str(".");
4867 }
4868
4869 params.put(
4870 &format!("{}{}", prefix, "ApplyImmediately"),
4871 &obj.apply_immediately,
4872 );
4873 if let Some(ref field_value) = obj.new_replica_count {
4874 params.put(&format!("{}{}", prefix, "NewReplicaCount"), &field_value);
4875 }
4876 if let Some(ref field_value) = obj.replica_configuration {
4877 ReplicaConfigurationListSerializer::serialize(
4878 params,
4879 &format!("{}{}", prefix, "ConfigureShard"),
4880 field_value,
4881 );
4882 }
4883 params.put(
4884 &format!("{}{}", prefix, "ReplicationGroupId"),
4885 &obj.replication_group_id,
4886 );
4887 }
4888}
4889
4890#[derive(Clone, Debug, Default, PartialEq)]
4891#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
4892pub struct IncreaseReplicaCountResult {
4893 pub replication_group: Option<ReplicationGroup>,
4894}
4895
4896#[allow(dead_code)]
4897struct IncreaseReplicaCountResultDeserializer;
4898impl IncreaseReplicaCountResultDeserializer {
4899 #[allow(dead_code, unused_variables)]
4900 fn deserialize<T: Peek + Next>(
4901 tag_name: &str,
4902 stack: &mut T,
4903 ) -> Result<IncreaseReplicaCountResult, XmlParseError> {
4904 deserialize_elements::<_, IncreaseReplicaCountResult, _>(
4905 tag_name,
4906 stack,
4907 |name, stack, obj| {
4908 match name {
4909 "ReplicationGroup" => {
4910 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
4911 "ReplicationGroup",
4912 stack,
4913 )?);
4914 }
4915 _ => skip_tree(stack),
4916 }
4917 Ok(())
4918 },
4919 )
4920 }
4921}
4922#[allow(dead_code)]
4923struct IntegerDeserializer;
4924impl IntegerDeserializer {
4925 #[allow(dead_code, unused_variables)]
4926 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
4927 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
4928 }
4929}
4930#[allow(dead_code)]
4931struct IntegerOptionalDeserializer;
4932impl IntegerOptionalDeserializer {
4933 #[allow(dead_code, unused_variables)]
4934 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<i64, XmlParseError> {
4935 xml_util::deserialize_primitive(tag_name, stack, |s| Ok(i64::from_str(&s).unwrap()))
4936 }
4937}
4938
4939struct KeyListSerializer;
4941impl KeyListSerializer {
4942 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
4943 for (index, obj) in obj.iter().enumerate() {
4944 let key = format!("{}.member.{}", name, index + 1);
4945 params.put(&key, &obj);
4946 }
4947 }
4948}
4949
4950#[derive(Clone, Debug, Default, PartialEq)]
4952#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4953pub struct ListAllowedNodeTypeModificationsMessage {
4954 pub cache_cluster_id: Option<String>,
4956 pub replication_group_id: Option<String>,
4958}
4959
4960struct ListAllowedNodeTypeModificationsMessageSerializer;
4962impl ListAllowedNodeTypeModificationsMessageSerializer {
4963 fn serialize(params: &mut Params, name: &str, obj: &ListAllowedNodeTypeModificationsMessage) {
4964 let mut prefix = name.to_string();
4965 if prefix != "" {
4966 prefix.push_str(".");
4967 }
4968
4969 if let Some(ref field_value) = obj.cache_cluster_id {
4970 params.put(&format!("{}{}", prefix, "CacheClusterId"), &field_value);
4971 }
4972 if let Some(ref field_value) = obj.replication_group_id {
4973 params.put(&format!("{}{}", prefix, "ReplicationGroupId"), &field_value);
4974 }
4975 }
4976}
4977
4978#[derive(Clone, Debug, Default, PartialEq)]
4980#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
4981pub struct ListTagsForResourceMessage {
4982 pub resource_name: String,
4984}
4985
4986struct ListTagsForResourceMessageSerializer;
4988impl ListTagsForResourceMessageSerializer {
4989 fn serialize(params: &mut Params, name: &str, obj: &ListTagsForResourceMessage) {
4990 let mut prefix = name.to_string();
4991 if prefix != "" {
4992 prefix.push_str(".");
4993 }
4994
4995 params.put(&format!("{}{}", prefix, "ResourceName"), &obj.resource_name);
4996 }
4997}
4998
4999#[derive(Clone, Debug, Default, PartialEq)]
5001#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5002pub struct ModifyCacheClusterMessage {
5003 pub az_mode: Option<String>,
5005 pub apply_immediately: Option<bool>,
5007 pub auth_token: Option<String>,
5009 pub auth_token_update_strategy: Option<String>,
5011 pub auto_minor_version_upgrade: Option<bool>,
5013 pub cache_cluster_id: String,
5015 pub cache_node_ids_to_remove: Option<Vec<String>>,
5017 pub cache_node_type: Option<String>,
5019 pub cache_parameter_group_name: Option<String>,
5021 pub cache_security_group_names: Option<Vec<String>>,
5023 pub engine_version: Option<String>,
5025 pub new_availability_zones: Option<Vec<String>>,
5027 pub notification_topic_arn: Option<String>,
5029 pub notification_topic_status: Option<String>,
5031 pub num_cache_nodes: Option<i64>,
5033 pub preferred_maintenance_window: Option<String>,
5035 pub security_group_ids: Option<Vec<String>>,
5037 pub snapshot_retention_limit: Option<i64>,
5039 pub snapshot_window: Option<String>,
5041}
5042
5043struct ModifyCacheClusterMessageSerializer;
5045impl ModifyCacheClusterMessageSerializer {
5046 fn serialize(params: &mut Params, name: &str, obj: &ModifyCacheClusterMessage) {
5047 let mut prefix = name.to_string();
5048 if prefix != "" {
5049 prefix.push_str(".");
5050 }
5051
5052 if let Some(ref field_value) = obj.az_mode {
5053 params.put(&format!("{}{}", prefix, "AZMode"), &field_value);
5054 }
5055 if let Some(ref field_value) = obj.apply_immediately {
5056 params.put(&format!("{}{}", prefix, "ApplyImmediately"), &field_value);
5057 }
5058 if let Some(ref field_value) = obj.auth_token {
5059 params.put(&format!("{}{}", prefix, "AuthToken"), &field_value);
5060 }
5061 if let Some(ref field_value) = obj.auth_token_update_strategy {
5062 params.put(
5063 &format!("{}{}", prefix, "AuthTokenUpdateStrategy"),
5064 &field_value,
5065 );
5066 }
5067 if let Some(ref field_value) = obj.auto_minor_version_upgrade {
5068 params.put(
5069 &format!("{}{}", prefix, "AutoMinorVersionUpgrade"),
5070 &field_value,
5071 );
5072 }
5073 params.put(
5074 &format!("{}{}", prefix, "CacheClusterId"),
5075 &obj.cache_cluster_id,
5076 );
5077 if let Some(ref field_value) = obj.cache_node_ids_to_remove {
5078 CacheNodeIdsListSerializer::serialize(
5079 params,
5080 &format!("{}{}", prefix, "CacheNodeId"),
5081 field_value,
5082 );
5083 }
5084 if let Some(ref field_value) = obj.cache_node_type {
5085 params.put(&format!("{}{}", prefix, "CacheNodeType"), &field_value);
5086 }
5087 if let Some(ref field_value) = obj.cache_parameter_group_name {
5088 params.put(
5089 &format!("{}{}", prefix, "CacheParameterGroupName"),
5090 &field_value,
5091 );
5092 }
5093 if let Some(ref field_value) = obj.cache_security_group_names {
5094 CacheSecurityGroupNameListSerializer::serialize(
5095 params,
5096 &format!("{}{}", prefix, "CacheSecurityGroupName"),
5097 field_value,
5098 );
5099 }
5100 if let Some(ref field_value) = obj.engine_version {
5101 params.put(&format!("{}{}", prefix, "EngineVersion"), &field_value);
5102 }
5103 if let Some(ref field_value) = obj.new_availability_zones {
5104 PreferredAvailabilityZoneListSerializer::serialize(
5105 params,
5106 &format!("{}{}", prefix, "PreferredAvailabilityZone"),
5107 field_value,
5108 );
5109 }
5110 if let Some(ref field_value) = obj.notification_topic_arn {
5111 params.put(
5112 &format!("{}{}", prefix, "NotificationTopicArn"),
5113 &field_value,
5114 );
5115 }
5116 if let Some(ref field_value) = obj.notification_topic_status {
5117 params.put(
5118 &format!("{}{}", prefix, "NotificationTopicStatus"),
5119 &field_value,
5120 );
5121 }
5122 if let Some(ref field_value) = obj.num_cache_nodes {
5123 params.put(&format!("{}{}", prefix, "NumCacheNodes"), &field_value);
5124 }
5125 if let Some(ref field_value) = obj.preferred_maintenance_window {
5126 params.put(
5127 &format!("{}{}", prefix, "PreferredMaintenanceWindow"),
5128 &field_value,
5129 );
5130 }
5131 if let Some(ref field_value) = obj.security_group_ids {
5132 SecurityGroupIdsListSerializer::serialize(
5133 params,
5134 &format!("{}{}", prefix, "SecurityGroupId"),
5135 field_value,
5136 );
5137 }
5138 if let Some(ref field_value) = obj.snapshot_retention_limit {
5139 params.put(
5140 &format!("{}{}", prefix, "SnapshotRetentionLimit"),
5141 &field_value,
5142 );
5143 }
5144 if let Some(ref field_value) = obj.snapshot_window {
5145 params.put(&format!("{}{}", prefix, "SnapshotWindow"), &field_value);
5146 }
5147 }
5148}
5149
5150#[derive(Clone, Debug, Default, PartialEq)]
5151#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5152pub struct ModifyCacheClusterResult {
5153 pub cache_cluster: Option<CacheCluster>,
5154}
5155
5156#[allow(dead_code)]
5157struct ModifyCacheClusterResultDeserializer;
5158impl ModifyCacheClusterResultDeserializer {
5159 #[allow(dead_code, unused_variables)]
5160 fn deserialize<T: Peek + Next>(
5161 tag_name: &str,
5162 stack: &mut T,
5163 ) -> Result<ModifyCacheClusterResult, XmlParseError> {
5164 deserialize_elements::<_, ModifyCacheClusterResult, _>(
5165 tag_name,
5166 stack,
5167 |name, stack, obj| {
5168 match name {
5169 "CacheCluster" => {
5170 obj.cache_cluster = Some(CacheClusterDeserializer::deserialize(
5171 "CacheCluster",
5172 stack,
5173 )?);
5174 }
5175 _ => skip_tree(stack),
5176 }
5177 Ok(())
5178 },
5179 )
5180 }
5181}
5182#[derive(Clone, Debug, Default, PartialEq)]
5184#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5185pub struct ModifyCacheParameterGroupMessage {
5186 pub cache_parameter_group_name: String,
5188 pub parameter_name_values: Vec<ParameterNameValue>,
5190}
5191
5192struct ModifyCacheParameterGroupMessageSerializer;
5194impl ModifyCacheParameterGroupMessageSerializer {
5195 fn serialize(params: &mut Params, name: &str, obj: &ModifyCacheParameterGroupMessage) {
5196 let mut prefix = name.to_string();
5197 if prefix != "" {
5198 prefix.push_str(".");
5199 }
5200
5201 params.put(
5202 &format!("{}{}", prefix, "CacheParameterGroupName"),
5203 &obj.cache_parameter_group_name,
5204 );
5205 ParameterNameValueListSerializer::serialize(
5206 params,
5207 &format!("{}{}", prefix, "ParameterNameValue"),
5208 &obj.parameter_name_values,
5209 );
5210 }
5211}
5212
5213#[derive(Clone, Debug, Default, PartialEq)]
5215#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5216pub struct ModifyCacheSubnetGroupMessage {
5217 pub cache_subnet_group_description: Option<String>,
5219 pub cache_subnet_group_name: String,
5221 pub subnet_ids: Option<Vec<String>>,
5223}
5224
5225struct ModifyCacheSubnetGroupMessageSerializer;
5227impl ModifyCacheSubnetGroupMessageSerializer {
5228 fn serialize(params: &mut Params, name: &str, obj: &ModifyCacheSubnetGroupMessage) {
5229 let mut prefix = name.to_string();
5230 if prefix != "" {
5231 prefix.push_str(".");
5232 }
5233
5234 if let Some(ref field_value) = obj.cache_subnet_group_description {
5235 params.put(
5236 &format!("{}{}", prefix, "CacheSubnetGroupDescription"),
5237 &field_value,
5238 );
5239 }
5240 params.put(
5241 &format!("{}{}", prefix, "CacheSubnetGroupName"),
5242 &obj.cache_subnet_group_name,
5243 );
5244 if let Some(ref field_value) = obj.subnet_ids {
5245 SubnetIdentifierListSerializer::serialize(
5246 params,
5247 &format!("{}{}", prefix, "SubnetIdentifier"),
5248 field_value,
5249 );
5250 }
5251 }
5252}
5253
5254#[derive(Clone, Debug, Default, PartialEq)]
5255#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5256pub struct ModifyCacheSubnetGroupResult {
5257 pub cache_subnet_group: Option<CacheSubnetGroup>,
5258}
5259
5260#[allow(dead_code)]
5261struct ModifyCacheSubnetGroupResultDeserializer;
5262impl ModifyCacheSubnetGroupResultDeserializer {
5263 #[allow(dead_code, unused_variables)]
5264 fn deserialize<T: Peek + Next>(
5265 tag_name: &str,
5266 stack: &mut T,
5267 ) -> Result<ModifyCacheSubnetGroupResult, XmlParseError> {
5268 deserialize_elements::<_, ModifyCacheSubnetGroupResult, _>(
5269 tag_name,
5270 stack,
5271 |name, stack, obj| {
5272 match name {
5273 "CacheSubnetGroup" => {
5274 obj.cache_subnet_group = Some(CacheSubnetGroupDeserializer::deserialize(
5275 "CacheSubnetGroup",
5276 stack,
5277 )?);
5278 }
5279 _ => skip_tree(stack),
5280 }
5281 Ok(())
5282 },
5283 )
5284 }
5285}
5286#[derive(Clone, Debug, Default, PartialEq)]
5287#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5288pub struct ModifyGlobalReplicationGroupMessage {
5289 pub apply_immediately: bool,
5291 pub automatic_failover_enabled: Option<bool>,
5293 pub cache_node_type: Option<String>,
5295 pub engine_version: Option<String>,
5297 pub global_replication_group_description: Option<String>,
5299 pub global_replication_group_id: String,
5301}
5302
5303struct ModifyGlobalReplicationGroupMessageSerializer;
5305impl ModifyGlobalReplicationGroupMessageSerializer {
5306 fn serialize(params: &mut Params, name: &str, obj: &ModifyGlobalReplicationGroupMessage) {
5307 let mut prefix = name.to_string();
5308 if prefix != "" {
5309 prefix.push_str(".");
5310 }
5311
5312 params.put(
5313 &format!("{}{}", prefix, "ApplyImmediately"),
5314 &obj.apply_immediately,
5315 );
5316 if let Some(ref field_value) = obj.automatic_failover_enabled {
5317 params.put(
5318 &format!("{}{}", prefix, "AutomaticFailoverEnabled"),
5319 &field_value,
5320 );
5321 }
5322 if let Some(ref field_value) = obj.cache_node_type {
5323 params.put(&format!("{}{}", prefix, "CacheNodeType"), &field_value);
5324 }
5325 if let Some(ref field_value) = obj.engine_version {
5326 params.put(&format!("{}{}", prefix, "EngineVersion"), &field_value);
5327 }
5328 if let Some(ref field_value) = obj.global_replication_group_description {
5329 params.put(
5330 &format!("{}{}", prefix, "GlobalReplicationGroupDescription"),
5331 &field_value,
5332 );
5333 }
5334 params.put(
5335 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
5336 &obj.global_replication_group_id,
5337 );
5338 }
5339}
5340
5341#[derive(Clone, Debug, Default, PartialEq)]
5342#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5343pub struct ModifyGlobalReplicationGroupResult {
5344 pub global_replication_group: Option<GlobalReplicationGroup>,
5345}
5346
5347#[allow(dead_code)]
5348struct ModifyGlobalReplicationGroupResultDeserializer;
5349impl ModifyGlobalReplicationGroupResultDeserializer {
5350 #[allow(dead_code, unused_variables)]
5351 fn deserialize<T: Peek + Next>(
5352 tag_name: &str,
5353 stack: &mut T,
5354 ) -> Result<ModifyGlobalReplicationGroupResult, XmlParseError> {
5355 deserialize_elements::<_, ModifyGlobalReplicationGroupResult, _>(
5356 tag_name,
5357 stack,
5358 |name, stack, obj| {
5359 match name {
5360 "GlobalReplicationGroup" => {
5361 obj.global_replication_group =
5362 Some(GlobalReplicationGroupDeserializer::deserialize(
5363 "GlobalReplicationGroup",
5364 stack,
5365 )?);
5366 }
5367 _ => skip_tree(stack),
5368 }
5369 Ok(())
5370 },
5371 )
5372 }
5373}
5374#[derive(Clone, Debug, Default, PartialEq)]
5376#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5377pub struct ModifyReplicationGroupMessage {
5378 pub apply_immediately: Option<bool>,
5380 pub auth_token: Option<String>,
5382 pub auth_token_update_strategy: Option<String>,
5384 pub auto_minor_version_upgrade: Option<bool>,
5386 pub automatic_failover_enabled: Option<bool>,
5388 pub cache_node_type: Option<String>,
5390 pub cache_parameter_group_name: Option<String>,
5392 pub cache_security_group_names: Option<Vec<String>>,
5394 pub engine_version: Option<String>,
5396 pub multi_az_enabled: Option<bool>,
5398 pub notification_topic_arn: Option<String>,
5400 pub notification_topic_status: Option<String>,
5402 pub preferred_maintenance_window: Option<String>,
5404 pub primary_cluster_id: Option<String>,
5406 pub replication_group_description: Option<String>,
5408 pub replication_group_id: String,
5410 pub security_group_ids: Option<Vec<String>>,
5412 pub snapshot_retention_limit: Option<i64>,
5414 pub snapshot_window: Option<String>,
5416 pub snapshotting_cluster_id: Option<String>,
5418}
5419
5420struct ModifyReplicationGroupMessageSerializer;
5422impl ModifyReplicationGroupMessageSerializer {
5423 fn serialize(params: &mut Params, name: &str, obj: &ModifyReplicationGroupMessage) {
5424 let mut prefix = name.to_string();
5425 if prefix != "" {
5426 prefix.push_str(".");
5427 }
5428
5429 if let Some(ref field_value) = obj.apply_immediately {
5430 params.put(&format!("{}{}", prefix, "ApplyImmediately"), &field_value);
5431 }
5432 if let Some(ref field_value) = obj.auth_token {
5433 params.put(&format!("{}{}", prefix, "AuthToken"), &field_value);
5434 }
5435 if let Some(ref field_value) = obj.auth_token_update_strategy {
5436 params.put(
5437 &format!("{}{}", prefix, "AuthTokenUpdateStrategy"),
5438 &field_value,
5439 );
5440 }
5441 if let Some(ref field_value) = obj.auto_minor_version_upgrade {
5442 params.put(
5443 &format!("{}{}", prefix, "AutoMinorVersionUpgrade"),
5444 &field_value,
5445 );
5446 }
5447 if let Some(ref field_value) = obj.automatic_failover_enabled {
5448 params.put(
5449 &format!("{}{}", prefix, "AutomaticFailoverEnabled"),
5450 &field_value,
5451 );
5452 }
5453 if let Some(ref field_value) = obj.cache_node_type {
5454 params.put(&format!("{}{}", prefix, "CacheNodeType"), &field_value);
5455 }
5456 if let Some(ref field_value) = obj.cache_parameter_group_name {
5457 params.put(
5458 &format!("{}{}", prefix, "CacheParameterGroupName"),
5459 &field_value,
5460 );
5461 }
5462 if let Some(ref field_value) = obj.cache_security_group_names {
5463 CacheSecurityGroupNameListSerializer::serialize(
5464 params,
5465 &format!("{}{}", prefix, "CacheSecurityGroupName"),
5466 field_value,
5467 );
5468 }
5469 if let Some(ref field_value) = obj.engine_version {
5470 params.put(&format!("{}{}", prefix, "EngineVersion"), &field_value);
5471 }
5472 if let Some(ref field_value) = obj.multi_az_enabled {
5473 params.put(&format!("{}{}", prefix, "MultiAZEnabled"), &field_value);
5474 }
5475
5476 if let Some(ref field_value) = obj.notification_topic_arn {
5477 params.put(
5478 &format!("{}{}", prefix, "NotificationTopicArn"),
5479 &field_value,
5480 );
5481 }
5482 if let Some(ref field_value) = obj.notification_topic_status {
5483 params.put(
5484 &format!("{}{}", prefix, "NotificationTopicStatus"),
5485 &field_value,
5486 );
5487 }
5488 if let Some(ref field_value) = obj.preferred_maintenance_window {
5489 params.put(
5490 &format!("{}{}", prefix, "PreferredMaintenanceWindow"),
5491 &field_value,
5492 );
5493 }
5494 if let Some(ref field_value) = obj.primary_cluster_id {
5495 params.put(&format!("{}{}", prefix, "PrimaryClusterId"), &field_value);
5496 }
5497 if let Some(ref field_value) = obj.replication_group_description {
5498 params.put(
5499 &format!("{}{}", prefix, "ReplicationGroupDescription"),
5500 &field_value,
5501 );
5502 }
5503 params.put(
5504 &format!("{}{}", prefix, "ReplicationGroupId"),
5505 &obj.replication_group_id,
5506 );
5507 if let Some(ref field_value) = obj.security_group_ids {
5508 SecurityGroupIdsListSerializer::serialize(
5509 params,
5510 &format!("{}{}", prefix, "SecurityGroupId"),
5511 field_value,
5512 );
5513 }
5514 if let Some(ref field_value) = obj.snapshot_retention_limit {
5515 params.put(
5516 &format!("{}{}", prefix, "SnapshotRetentionLimit"),
5517 &field_value,
5518 );
5519 }
5520 if let Some(ref field_value) = obj.snapshot_window {
5521 params.put(&format!("{}{}", prefix, "SnapshotWindow"), &field_value);
5522 }
5523 if let Some(ref field_value) = obj.snapshotting_cluster_id {
5524 params.put(
5525 &format!("{}{}", prefix, "SnapshottingClusterId"),
5526 &field_value,
5527 );
5528 }
5529 }
5530}
5531
5532#[derive(Clone, Debug, Default, PartialEq)]
5533#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5534pub struct ModifyReplicationGroupResult {
5535 pub replication_group: Option<ReplicationGroup>,
5536}
5537
5538#[allow(dead_code)]
5539struct ModifyReplicationGroupResultDeserializer;
5540impl ModifyReplicationGroupResultDeserializer {
5541 #[allow(dead_code, unused_variables)]
5542 fn deserialize<T: Peek + Next>(
5543 tag_name: &str,
5544 stack: &mut T,
5545 ) -> Result<ModifyReplicationGroupResult, XmlParseError> {
5546 deserialize_elements::<_, ModifyReplicationGroupResult, _>(
5547 tag_name,
5548 stack,
5549 |name, stack, obj| {
5550 match name {
5551 "ReplicationGroup" => {
5552 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
5553 "ReplicationGroup",
5554 stack,
5555 )?);
5556 }
5557 _ => skip_tree(stack),
5558 }
5559 Ok(())
5560 },
5561 )
5562 }
5563}
5564#[derive(Clone, Debug, Default, PartialEq)]
5566#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5567pub struct ModifyReplicationGroupShardConfigurationMessage {
5568 pub apply_immediately: bool,
5570 pub node_group_count: i64,
5572 pub node_groups_to_remove: Option<Vec<String>>,
5574 pub node_groups_to_retain: Option<Vec<String>>,
5576 pub replication_group_id: String,
5578 pub resharding_configuration: Option<Vec<ReshardingConfiguration>>,
5580}
5581
5582struct ModifyReplicationGroupShardConfigurationMessageSerializer;
5584impl ModifyReplicationGroupShardConfigurationMessageSerializer {
5585 fn serialize(
5586 params: &mut Params,
5587 name: &str,
5588 obj: &ModifyReplicationGroupShardConfigurationMessage,
5589 ) {
5590 let mut prefix = name.to_string();
5591 if prefix != "" {
5592 prefix.push_str(".");
5593 }
5594
5595 params.put(
5596 &format!("{}{}", prefix, "ApplyImmediately"),
5597 &obj.apply_immediately,
5598 );
5599 params.put(
5600 &format!("{}{}", prefix, "NodeGroupCount"),
5601 &obj.node_group_count,
5602 );
5603 if let Some(ref field_value) = obj.node_groups_to_remove {
5604 NodeGroupsToRemoveListSerializer::serialize(
5605 params,
5606 &format!("{}{}", prefix, "NodeGroupToRemove"),
5607 field_value,
5608 );
5609 }
5610 if let Some(ref field_value) = obj.node_groups_to_retain {
5611 NodeGroupsToRetainListSerializer::serialize(
5612 params,
5613 &format!("{}{}", prefix, "NodeGroupToRetain"),
5614 field_value,
5615 );
5616 }
5617 params.put(
5618 &format!("{}{}", prefix, "ReplicationGroupId"),
5619 &obj.replication_group_id,
5620 );
5621 if let Some(ref field_value) = obj.resharding_configuration {
5622 ReshardingConfigurationListSerializer::serialize(
5623 params,
5624 &format!("{}{}", prefix, "ReshardingConfiguration"),
5625 field_value,
5626 );
5627 }
5628 }
5629}
5630
5631#[derive(Clone, Debug, Default, PartialEq)]
5632#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5633pub struct ModifyReplicationGroupShardConfigurationResult {
5634 pub replication_group: Option<ReplicationGroup>,
5635}
5636
5637#[allow(dead_code)]
5638struct ModifyReplicationGroupShardConfigurationResultDeserializer;
5639impl ModifyReplicationGroupShardConfigurationResultDeserializer {
5640 #[allow(dead_code, unused_variables)]
5641 fn deserialize<T: Peek + Next>(
5642 tag_name: &str,
5643 stack: &mut T,
5644 ) -> Result<ModifyReplicationGroupShardConfigurationResult, XmlParseError> {
5645 deserialize_elements::<_, ModifyReplicationGroupShardConfigurationResult, _>(
5646 tag_name,
5647 stack,
5648 |name, stack, obj| {
5649 match name {
5650 "ReplicationGroup" => {
5651 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
5652 "ReplicationGroup",
5653 stack,
5654 )?);
5655 }
5656 _ => skip_tree(stack),
5657 }
5658 Ok(())
5659 },
5660 )
5661 }
5662}
5663#[allow(dead_code)]
5664struct MultiAZStatusDeserializer;
5665impl MultiAZStatusDeserializer {
5666 #[allow(dead_code, unused_variables)]
5667 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
5668 xml_util::deserialize_primitive(tag_name, stack, Ok)
5669 }
5670}
5671#[derive(Clone, Debug, Default, PartialEq)]
5673#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5674pub struct NodeGroup {
5675 pub node_group_id: Option<String>,
5677 pub node_group_members: Option<Vec<NodeGroupMember>>,
5679 pub primary_endpoint: Option<Endpoint>,
5681 pub reader_endpoint: Option<Endpoint>,
5683 pub slots: Option<String>,
5685 pub status: Option<String>,
5687}
5688
5689#[allow(dead_code)]
5690struct NodeGroupDeserializer;
5691impl NodeGroupDeserializer {
5692 #[allow(dead_code, unused_variables)]
5693 fn deserialize<T: Peek + Next>(
5694 tag_name: &str,
5695 stack: &mut T,
5696 ) -> Result<NodeGroup, XmlParseError> {
5697 deserialize_elements::<_, NodeGroup, _>(tag_name, stack, |name, stack, obj| {
5698 match name {
5699 "NodeGroupId" => {
5700 obj.node_group_id =
5701 Some(StringDeserializer::deserialize("NodeGroupId", stack)?);
5702 }
5703 "NodeGroupMembers" => {
5704 obj.node_group_members.get_or_insert(vec![]).extend(
5705 NodeGroupMemberListDeserializer::deserialize("NodeGroupMembers", stack)?,
5706 );
5707 }
5708 "PrimaryEndpoint" => {
5709 obj.primary_endpoint =
5710 Some(EndpointDeserializer::deserialize("PrimaryEndpoint", stack)?);
5711 }
5712 "ReaderEndpoint" => {
5713 obj.reader_endpoint =
5714 Some(EndpointDeserializer::deserialize("ReaderEndpoint", stack)?);
5715 }
5716 "Slots" => {
5717 obj.slots = Some(StringDeserializer::deserialize("Slots", stack)?);
5718 }
5719 "Status" => {
5720 obj.status = Some(StringDeserializer::deserialize("Status", stack)?);
5721 }
5722 _ => skip_tree(stack),
5723 }
5724 Ok(())
5725 })
5726 }
5727}
5728#[derive(Clone, Debug, Default, PartialEq)]
5730#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5731#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
5732pub struct NodeGroupConfiguration {
5733 pub node_group_id: Option<String>,
5735 pub primary_availability_zone: Option<String>,
5737 pub replica_availability_zones: Option<Vec<String>>,
5739 pub replica_count: Option<i64>,
5741 pub slots: Option<String>,
5743}
5744
5745#[allow(dead_code)]
5746struct NodeGroupConfigurationDeserializer;
5747impl NodeGroupConfigurationDeserializer {
5748 #[allow(dead_code, unused_variables)]
5749 fn deserialize<T: Peek + Next>(
5750 tag_name: &str,
5751 stack: &mut T,
5752 ) -> Result<NodeGroupConfiguration, XmlParseError> {
5753 deserialize_elements::<_, NodeGroupConfiguration, _>(tag_name, stack, |name, stack, obj| {
5754 match name {
5755 "NodeGroupId" => {
5756 obj.node_group_id = Some(AllowedNodeGroupIdDeserializer::deserialize(
5757 "NodeGroupId",
5758 stack,
5759 )?);
5760 }
5761 "PrimaryAvailabilityZone" => {
5762 obj.primary_availability_zone = Some(StringDeserializer::deserialize(
5763 "PrimaryAvailabilityZone",
5764 stack,
5765 )?);
5766 }
5767 "ReplicaAvailabilityZones" => {
5768 obj.replica_availability_zones.get_or_insert(vec![]).extend(
5769 AvailabilityZonesListDeserializer::deserialize(
5770 "ReplicaAvailabilityZones",
5771 stack,
5772 )?,
5773 );
5774 }
5775 "ReplicaCount" => {
5776 obj.replica_count = Some(IntegerOptionalDeserializer::deserialize(
5777 "ReplicaCount",
5778 stack,
5779 )?);
5780 }
5781 "Slots" => {
5782 obj.slots = Some(StringDeserializer::deserialize("Slots", stack)?);
5783 }
5784 _ => skip_tree(stack),
5785 }
5786 Ok(())
5787 })
5788 }
5789}
5790
5791struct NodeGroupConfigurationSerializer;
5793impl NodeGroupConfigurationSerializer {
5794 fn serialize(params: &mut Params, name: &str, obj: &NodeGroupConfiguration) {
5795 let mut prefix = name.to_string();
5796 if prefix != "" {
5797 prefix.push_str(".");
5798 }
5799
5800 if let Some(ref field_value) = obj.node_group_id {
5801 params.put(&format!("{}{}", prefix, "NodeGroupId"), &field_value);
5802 }
5803 if let Some(ref field_value) = obj.primary_availability_zone {
5804 params.put(
5805 &format!("{}{}", prefix, "PrimaryAvailabilityZone"),
5806 &field_value,
5807 );
5808 }
5809 if let Some(ref field_value) = obj.replica_availability_zones {
5810 AvailabilityZonesListSerializer::serialize(
5811 params,
5812 &format!("{}{}", prefix, "AvailabilityZone"),
5813 field_value,
5814 );
5815 }
5816 if let Some(ref field_value) = obj.replica_count {
5817 params.put(&format!("{}{}", prefix, "ReplicaCount"), &field_value);
5818 }
5819 if let Some(ref field_value) = obj.slots {
5820 params.put(&format!("{}{}", prefix, "Slots"), &field_value);
5821 }
5822 }
5823}
5824
5825struct NodeGroupConfigurationListSerializer;
5827impl NodeGroupConfigurationListSerializer {
5828 fn serialize(params: &mut Params, name: &str, obj: &Vec<NodeGroupConfiguration>) {
5829 for (index, obj) in obj.iter().enumerate() {
5830 let key = format!("{}.member.{}", name, index + 1);
5831 NodeGroupConfigurationSerializer::serialize(params, &key, obj);
5832 }
5833 }
5834}
5835
5836#[allow(dead_code)]
5837struct NodeGroupListDeserializer;
5838impl NodeGroupListDeserializer {
5839 #[allow(dead_code, unused_variables)]
5840 fn deserialize<T: Peek + Next>(
5841 tag_name: &str,
5842 stack: &mut T,
5843 ) -> Result<Vec<NodeGroup>, XmlParseError> {
5844 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5845 if name == "NodeGroup" {
5846 obj.push(NodeGroupDeserializer::deserialize("NodeGroup", stack)?);
5847 } else {
5848 skip_tree(stack);
5849 }
5850 Ok(())
5851 })
5852 }
5853}
5854#[derive(Clone, Debug, Default, PartialEq)]
5856#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5857pub struct NodeGroupMember {
5858 pub cache_cluster_id: Option<String>,
5860 pub cache_node_id: Option<String>,
5862 pub current_role: Option<String>,
5864 pub preferred_availability_zone: Option<String>,
5866 pub read_endpoint: Option<Endpoint>,
5868}
5869
5870#[allow(dead_code)]
5871struct NodeGroupMemberDeserializer;
5872impl NodeGroupMemberDeserializer {
5873 #[allow(dead_code, unused_variables)]
5874 fn deserialize<T: Peek + Next>(
5875 tag_name: &str,
5876 stack: &mut T,
5877 ) -> Result<NodeGroupMember, XmlParseError> {
5878 deserialize_elements::<_, NodeGroupMember, _>(tag_name, stack, |name, stack, obj| {
5879 match name {
5880 "CacheClusterId" => {
5881 obj.cache_cluster_id =
5882 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
5883 }
5884 "CacheNodeId" => {
5885 obj.cache_node_id =
5886 Some(StringDeserializer::deserialize("CacheNodeId", stack)?);
5887 }
5888 "CurrentRole" => {
5889 obj.current_role = Some(StringDeserializer::deserialize("CurrentRole", stack)?);
5890 }
5891 "PreferredAvailabilityZone" => {
5892 obj.preferred_availability_zone = Some(StringDeserializer::deserialize(
5893 "PreferredAvailabilityZone",
5894 stack,
5895 )?);
5896 }
5897 "ReadEndpoint" => {
5898 obj.read_endpoint =
5899 Some(EndpointDeserializer::deserialize("ReadEndpoint", stack)?);
5900 }
5901 _ => skip_tree(stack),
5902 }
5903 Ok(())
5904 })
5905 }
5906}
5907#[allow(dead_code)]
5908struct NodeGroupMemberListDeserializer;
5909impl NodeGroupMemberListDeserializer {
5910 #[allow(dead_code, unused_variables)]
5911 fn deserialize<T: Peek + Next>(
5912 tag_name: &str,
5913 stack: &mut T,
5914 ) -> Result<Vec<NodeGroupMember>, XmlParseError> {
5915 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
5916 if name == "NodeGroupMember" {
5917 obj.push(NodeGroupMemberDeserializer::deserialize(
5918 "NodeGroupMember",
5919 stack,
5920 )?);
5921 } else {
5922 skip_tree(stack);
5923 }
5924 Ok(())
5925 })
5926 }
5927}
5928#[derive(Clone, Debug, Default, PartialEq)]
5930#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
5931pub struct NodeGroupMemberUpdateStatus {
5932 pub cache_cluster_id: Option<String>,
5934 pub cache_node_id: Option<String>,
5936 pub node_deletion_date: Option<String>,
5938 pub node_update_end_date: Option<String>,
5940 pub node_update_initiated_by: Option<String>,
5942 pub node_update_initiated_date: Option<String>,
5944 pub node_update_start_date: Option<String>,
5946 pub node_update_status: Option<String>,
5948 pub node_update_status_modified_date: Option<String>,
5950}
5951
5952#[allow(dead_code)]
5953struct NodeGroupMemberUpdateStatusDeserializer;
5954impl NodeGroupMemberUpdateStatusDeserializer {
5955 #[allow(dead_code, unused_variables)]
5956 fn deserialize<T: Peek + Next>(
5957 tag_name: &str,
5958 stack: &mut T,
5959 ) -> Result<NodeGroupMemberUpdateStatus, XmlParseError> {
5960 deserialize_elements::<_, NodeGroupMemberUpdateStatus, _>(
5961 tag_name,
5962 stack,
5963 |name, stack, obj| {
5964 match name {
5965 "CacheClusterId" => {
5966 obj.cache_cluster_id =
5967 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
5968 }
5969 "CacheNodeId" => {
5970 obj.cache_node_id =
5971 Some(StringDeserializer::deserialize("CacheNodeId", stack)?);
5972 }
5973 "NodeDeletionDate" => {
5974 obj.node_deletion_date =
5975 Some(TStampDeserializer::deserialize("NodeDeletionDate", stack)?);
5976 }
5977 "NodeUpdateEndDate" => {
5978 obj.node_update_end_date =
5979 Some(TStampDeserializer::deserialize("NodeUpdateEndDate", stack)?);
5980 }
5981 "NodeUpdateInitiatedBy" => {
5982 obj.node_update_initiated_by =
5983 Some(NodeUpdateInitiatedByDeserializer::deserialize(
5984 "NodeUpdateInitiatedBy",
5985 stack,
5986 )?);
5987 }
5988 "NodeUpdateInitiatedDate" => {
5989 obj.node_update_initiated_date = Some(TStampDeserializer::deserialize(
5990 "NodeUpdateInitiatedDate",
5991 stack,
5992 )?);
5993 }
5994 "NodeUpdateStartDate" => {
5995 obj.node_update_start_date = Some(TStampDeserializer::deserialize(
5996 "NodeUpdateStartDate",
5997 stack,
5998 )?);
5999 }
6000 "NodeUpdateStatus" => {
6001 obj.node_update_status = Some(NodeUpdateStatusDeserializer::deserialize(
6002 "NodeUpdateStatus",
6003 stack,
6004 )?);
6005 }
6006 "NodeUpdateStatusModifiedDate" => {
6007 obj.node_update_status_modified_date = Some(
6008 TStampDeserializer::deserialize("NodeUpdateStatusModifiedDate", stack)?,
6009 );
6010 }
6011 _ => skip_tree(stack),
6012 }
6013 Ok(())
6014 },
6015 )
6016 }
6017}
6018#[allow(dead_code)]
6019struct NodeGroupMemberUpdateStatusListDeserializer;
6020impl NodeGroupMemberUpdateStatusListDeserializer {
6021 #[allow(dead_code, unused_variables)]
6022 fn deserialize<T: Peek + Next>(
6023 tag_name: &str,
6024 stack: &mut T,
6025 ) -> Result<Vec<NodeGroupMemberUpdateStatus>, XmlParseError> {
6026 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6027 if name == "NodeGroupMemberUpdateStatus" {
6028 obj.push(NodeGroupMemberUpdateStatusDeserializer::deserialize(
6029 "NodeGroupMemberUpdateStatus",
6030 stack,
6031 )?);
6032 } else {
6033 skip_tree(stack);
6034 }
6035 Ok(())
6036 })
6037 }
6038}
6039#[derive(Clone, Debug, Default, PartialEq)]
6041#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6042pub struct NodeGroupUpdateStatus {
6043 pub node_group_id: Option<String>,
6045 pub node_group_member_update_status: Option<Vec<NodeGroupMemberUpdateStatus>>,
6047}
6048
6049#[allow(dead_code)]
6050struct NodeGroupUpdateStatusDeserializer;
6051impl NodeGroupUpdateStatusDeserializer {
6052 #[allow(dead_code, unused_variables)]
6053 fn deserialize<T: Peek + Next>(
6054 tag_name: &str,
6055 stack: &mut T,
6056 ) -> Result<NodeGroupUpdateStatus, XmlParseError> {
6057 deserialize_elements::<_, NodeGroupUpdateStatus, _>(tag_name, stack, |name, stack, obj| {
6058 match name {
6059 "NodeGroupId" => {
6060 obj.node_group_id =
6061 Some(StringDeserializer::deserialize("NodeGroupId", stack)?);
6062 }
6063 "NodeGroupMemberUpdateStatus" => {
6064 obj.node_group_member_update_status
6065 .get_or_insert(vec![])
6066 .extend(NodeGroupMemberUpdateStatusListDeserializer::deserialize(
6067 "NodeGroupMemberUpdateStatus",
6068 stack,
6069 )?);
6070 }
6071 _ => skip_tree(stack),
6072 }
6073 Ok(())
6074 })
6075 }
6076}
6077#[allow(dead_code)]
6078struct NodeGroupUpdateStatusListDeserializer;
6079impl NodeGroupUpdateStatusListDeserializer {
6080 #[allow(dead_code, unused_variables)]
6081 fn deserialize<T: Peek + Next>(
6082 tag_name: &str,
6083 stack: &mut T,
6084 ) -> Result<Vec<NodeGroupUpdateStatus>, XmlParseError> {
6085 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6086 if name == "NodeGroupUpdateStatus" {
6087 obj.push(NodeGroupUpdateStatusDeserializer::deserialize(
6088 "NodeGroupUpdateStatus",
6089 stack,
6090 )?);
6091 } else {
6092 skip_tree(stack);
6093 }
6094 Ok(())
6095 })
6096 }
6097}
6098
6099struct NodeGroupsToRemoveListSerializer;
6101impl NodeGroupsToRemoveListSerializer {
6102 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
6103 for (index, obj) in obj.iter().enumerate() {
6104 let key = format!("{}.member.{}", name, index + 1);
6105 params.put(&key, &obj);
6106 }
6107 }
6108}
6109
6110struct NodeGroupsToRetainListSerializer;
6112impl NodeGroupsToRetainListSerializer {
6113 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
6114 for (index, obj) in obj.iter().enumerate() {
6115 let key = format!("{}.member.{}", name, index + 1);
6116 params.put(&key, &obj);
6117 }
6118 }
6119}
6120
6121#[derive(Clone, Debug, Default, PartialEq)]
6123#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6124pub struct NodeSnapshot {
6125 pub cache_cluster_id: Option<String>,
6127 pub cache_node_create_time: Option<String>,
6129 pub cache_node_id: Option<String>,
6131 pub cache_size: Option<String>,
6133 pub node_group_configuration: Option<NodeGroupConfiguration>,
6135 pub node_group_id: Option<String>,
6137 pub snapshot_create_time: Option<String>,
6139}
6140
6141#[allow(dead_code)]
6142struct NodeSnapshotDeserializer;
6143impl NodeSnapshotDeserializer {
6144 #[allow(dead_code, unused_variables)]
6145 fn deserialize<T: Peek + Next>(
6146 tag_name: &str,
6147 stack: &mut T,
6148 ) -> Result<NodeSnapshot, XmlParseError> {
6149 deserialize_elements::<_, NodeSnapshot, _>(tag_name, stack, |name, stack, obj| {
6150 match name {
6151 "CacheClusterId" => {
6152 obj.cache_cluster_id =
6153 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
6154 }
6155 "CacheNodeCreateTime" => {
6156 obj.cache_node_create_time = Some(TStampDeserializer::deserialize(
6157 "CacheNodeCreateTime",
6158 stack,
6159 )?);
6160 }
6161 "CacheNodeId" => {
6162 obj.cache_node_id =
6163 Some(StringDeserializer::deserialize("CacheNodeId", stack)?);
6164 }
6165 "CacheSize" => {
6166 obj.cache_size = Some(StringDeserializer::deserialize("CacheSize", stack)?);
6167 }
6168 "NodeGroupConfiguration" => {
6169 obj.node_group_configuration =
6170 Some(NodeGroupConfigurationDeserializer::deserialize(
6171 "NodeGroupConfiguration",
6172 stack,
6173 )?);
6174 }
6175 "NodeGroupId" => {
6176 obj.node_group_id =
6177 Some(StringDeserializer::deserialize("NodeGroupId", stack)?);
6178 }
6179 "SnapshotCreateTime" => {
6180 obj.snapshot_create_time = Some(TStampDeserializer::deserialize(
6181 "SnapshotCreateTime",
6182 stack,
6183 )?);
6184 }
6185 _ => skip_tree(stack),
6186 }
6187 Ok(())
6188 })
6189 }
6190}
6191#[allow(dead_code)]
6192struct NodeSnapshotListDeserializer;
6193impl NodeSnapshotListDeserializer {
6194 #[allow(dead_code, unused_variables)]
6195 fn deserialize<T: Peek + Next>(
6196 tag_name: &str,
6197 stack: &mut T,
6198 ) -> Result<Vec<NodeSnapshot>, XmlParseError> {
6199 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6200 if name == "NodeSnapshot" {
6201 obj.push(NodeSnapshotDeserializer::deserialize(
6202 "NodeSnapshot",
6203 stack,
6204 )?);
6205 } else {
6206 skip_tree(stack);
6207 }
6208 Ok(())
6209 })
6210 }
6211}
6212#[allow(dead_code)]
6213struct NodeTypeListDeserializer;
6214impl NodeTypeListDeserializer {
6215 #[allow(dead_code, unused_variables)]
6216 fn deserialize<T: Peek + Next>(
6217 tag_name: &str,
6218 stack: &mut T,
6219 ) -> Result<Vec<String>, XmlParseError> {
6220 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6221 if name == "member" {
6222 obj.push(StringDeserializer::deserialize("member", stack)?);
6223 } else {
6224 skip_tree(stack);
6225 }
6226 Ok(())
6227 })
6228 }
6229}
6230#[allow(dead_code)]
6231struct NodeUpdateInitiatedByDeserializer;
6232impl NodeUpdateInitiatedByDeserializer {
6233 #[allow(dead_code, unused_variables)]
6234 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6235 xml_util::deserialize_primitive(tag_name, stack, Ok)
6236 }
6237}
6238#[allow(dead_code)]
6239struct NodeUpdateStatusDeserializer;
6240impl NodeUpdateStatusDeserializer {
6241 #[allow(dead_code, unused_variables)]
6242 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6243 xml_util::deserialize_primitive(tag_name, stack, Ok)
6244 }
6245}
6246#[derive(Clone, Debug, Default, PartialEq)]
6248#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6249pub struct NotificationConfiguration {
6250 pub topic_arn: Option<String>,
6252 pub topic_status: Option<String>,
6254}
6255
6256#[allow(dead_code)]
6257struct NotificationConfigurationDeserializer;
6258impl NotificationConfigurationDeserializer {
6259 #[allow(dead_code, unused_variables)]
6260 fn deserialize<T: Peek + Next>(
6261 tag_name: &str,
6262 stack: &mut T,
6263 ) -> Result<NotificationConfiguration, XmlParseError> {
6264 deserialize_elements::<_, NotificationConfiguration, _>(
6265 tag_name,
6266 stack,
6267 |name, stack, obj| {
6268 match name {
6269 "TopicArn" => {
6270 obj.topic_arn = Some(StringDeserializer::deserialize("TopicArn", stack)?);
6271 }
6272 "TopicStatus" => {
6273 obj.topic_status =
6274 Some(StringDeserializer::deserialize("TopicStatus", stack)?);
6275 }
6276 _ => skip_tree(stack),
6277 }
6278 Ok(())
6279 },
6280 )
6281 }
6282}
6283#[derive(Clone, Debug, Default, PartialEq)]
6285#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6286pub struct Parameter {
6287 pub allowed_values: Option<String>,
6289 pub change_type: Option<String>,
6291 pub data_type: Option<String>,
6293 pub description: Option<String>,
6295 pub is_modifiable: Option<bool>,
6297 pub minimum_engine_version: Option<String>,
6299 pub parameter_name: Option<String>,
6301 pub parameter_value: Option<String>,
6303 pub source: Option<String>,
6305}
6306
6307#[allow(dead_code)]
6308struct ParameterDeserializer;
6309impl ParameterDeserializer {
6310 #[allow(dead_code, unused_variables)]
6311 fn deserialize<T: Peek + Next>(
6312 tag_name: &str,
6313 stack: &mut T,
6314 ) -> Result<Parameter, XmlParseError> {
6315 deserialize_elements::<_, Parameter, _>(tag_name, stack, |name, stack, obj| {
6316 match name {
6317 "AllowedValues" => {
6318 obj.allowed_values =
6319 Some(StringDeserializer::deserialize("AllowedValues", stack)?);
6320 }
6321 "ChangeType" => {
6322 obj.change_type =
6323 Some(ChangeTypeDeserializer::deserialize("ChangeType", stack)?);
6324 }
6325 "DataType" => {
6326 obj.data_type = Some(StringDeserializer::deserialize("DataType", stack)?);
6327 }
6328 "Description" => {
6329 obj.description = Some(StringDeserializer::deserialize("Description", stack)?);
6330 }
6331 "IsModifiable" => {
6332 obj.is_modifiable =
6333 Some(BooleanDeserializer::deserialize("IsModifiable", stack)?);
6334 }
6335 "MinimumEngineVersion" => {
6336 obj.minimum_engine_version = Some(StringDeserializer::deserialize(
6337 "MinimumEngineVersion",
6338 stack,
6339 )?);
6340 }
6341 "ParameterName" => {
6342 obj.parameter_name =
6343 Some(StringDeserializer::deserialize("ParameterName", stack)?);
6344 }
6345 "ParameterValue" => {
6346 obj.parameter_value =
6347 Some(StringDeserializer::deserialize("ParameterValue", stack)?);
6348 }
6349 "Source" => {
6350 obj.source = Some(StringDeserializer::deserialize("Source", stack)?);
6351 }
6352 _ => skip_tree(stack),
6353 }
6354 Ok(())
6355 })
6356 }
6357}
6358#[derive(Clone, Debug, Default, PartialEq)]
6360#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6361pub struct ParameterNameValue {
6362 pub parameter_name: Option<String>,
6364 pub parameter_value: Option<String>,
6366}
6367
6368struct ParameterNameValueSerializer;
6370impl ParameterNameValueSerializer {
6371 fn serialize(params: &mut Params, name: &str, obj: &ParameterNameValue) {
6372 let mut prefix = name.to_string();
6373 if prefix != "" {
6374 prefix.push_str(".");
6375 }
6376
6377 if let Some(ref field_value) = obj.parameter_name {
6378 params.put(&format!("{}{}", prefix, "ParameterName"), &field_value);
6379 }
6380 if let Some(ref field_value) = obj.parameter_value {
6381 params.put(&format!("{}{}", prefix, "ParameterValue"), &field_value);
6382 }
6383 }
6384}
6385
6386struct ParameterNameValueListSerializer;
6388impl ParameterNameValueListSerializer {
6389 fn serialize(params: &mut Params, name: &str, obj: &Vec<ParameterNameValue>) {
6390 for (index, obj) in obj.iter().enumerate() {
6391 let key = format!("{}.member.{}", name, index + 1);
6392 ParameterNameValueSerializer::serialize(params, &key, obj);
6393 }
6394 }
6395}
6396
6397#[allow(dead_code)]
6398struct ParametersListDeserializer;
6399impl ParametersListDeserializer {
6400 #[allow(dead_code, unused_variables)]
6401 fn deserialize<T: Peek + Next>(
6402 tag_name: &str,
6403 stack: &mut T,
6404 ) -> Result<Vec<Parameter>, XmlParseError> {
6405 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6406 if name == "Parameter" {
6407 obj.push(ParameterDeserializer::deserialize("Parameter", stack)?);
6408 } else {
6409 skip_tree(stack);
6410 }
6411 Ok(())
6412 })
6413 }
6414}
6415#[allow(dead_code)]
6416struct PendingAutomaticFailoverStatusDeserializer;
6417impl PendingAutomaticFailoverStatusDeserializer {
6418 #[allow(dead_code, unused_variables)]
6419 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
6420 xml_util::deserialize_primitive(tag_name, stack, Ok)
6421 }
6422}
6423#[derive(Clone, Debug, Default, PartialEq)]
6425#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6426pub struct PendingModifiedValues {
6427 pub auth_token_status: Option<String>,
6429 pub cache_node_ids_to_remove: Option<Vec<String>>,
6431 pub cache_node_type: Option<String>,
6433 pub engine_version: Option<String>,
6435 pub num_cache_nodes: Option<i64>,
6437}
6438
6439#[allow(dead_code)]
6440struct PendingModifiedValuesDeserializer;
6441impl PendingModifiedValuesDeserializer {
6442 #[allow(dead_code, unused_variables)]
6443 fn deserialize<T: Peek + Next>(
6444 tag_name: &str,
6445 stack: &mut T,
6446 ) -> Result<PendingModifiedValues, XmlParseError> {
6447 deserialize_elements::<_, PendingModifiedValues, _>(tag_name, stack, |name, stack, obj| {
6448 match name {
6449 "AuthTokenStatus" => {
6450 obj.auth_token_status = Some(AuthTokenUpdateStatusDeserializer::deserialize(
6451 "AuthTokenStatus",
6452 stack,
6453 )?);
6454 }
6455 "CacheNodeIdsToRemove" => {
6456 obj.cache_node_ids_to_remove.get_or_insert(vec![]).extend(
6457 CacheNodeIdsListDeserializer::deserialize("CacheNodeIdsToRemove", stack)?,
6458 );
6459 }
6460 "CacheNodeType" => {
6461 obj.cache_node_type =
6462 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
6463 }
6464 "EngineVersion" => {
6465 obj.engine_version =
6466 Some(StringDeserializer::deserialize("EngineVersion", stack)?);
6467 }
6468 "NumCacheNodes" => {
6469 obj.num_cache_nodes = Some(IntegerOptionalDeserializer::deserialize(
6470 "NumCacheNodes",
6471 stack,
6472 )?);
6473 }
6474 _ => skip_tree(stack),
6475 }
6476 Ok(())
6477 })
6478 }
6479}
6480
6481struct PreferredAvailabilityZoneListSerializer;
6483impl PreferredAvailabilityZoneListSerializer {
6484 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
6485 for (index, obj) in obj.iter().enumerate() {
6486 let key = format!("{}.member.{}", name, index + 1);
6487 params.put(&key, &obj);
6488 }
6489 }
6490}
6491
6492#[derive(Clone, Debug, Default, PartialEq)]
6494#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6495pub struct ProcessedUpdateAction {
6496 pub cache_cluster_id: Option<String>,
6498 pub replication_group_id: Option<String>,
6500 pub service_update_name: Option<String>,
6502 pub update_action_status: Option<String>,
6504}
6505
6506#[allow(dead_code)]
6507struct ProcessedUpdateActionDeserializer;
6508impl ProcessedUpdateActionDeserializer {
6509 #[allow(dead_code, unused_variables)]
6510 fn deserialize<T: Peek + Next>(
6511 tag_name: &str,
6512 stack: &mut T,
6513 ) -> Result<ProcessedUpdateAction, XmlParseError> {
6514 deserialize_elements::<_, ProcessedUpdateAction, _>(tag_name, stack, |name, stack, obj| {
6515 match name {
6516 "CacheClusterId" => {
6517 obj.cache_cluster_id =
6518 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
6519 }
6520 "ReplicationGroupId" => {
6521 obj.replication_group_id = Some(StringDeserializer::deserialize(
6522 "ReplicationGroupId",
6523 stack,
6524 )?);
6525 }
6526 "ServiceUpdateName" => {
6527 obj.service_update_name =
6528 Some(StringDeserializer::deserialize("ServiceUpdateName", stack)?);
6529 }
6530 "UpdateActionStatus" => {
6531 obj.update_action_status = Some(UpdateActionStatusDeserializer::deserialize(
6532 "UpdateActionStatus",
6533 stack,
6534 )?);
6535 }
6536 _ => skip_tree(stack),
6537 }
6538 Ok(())
6539 })
6540 }
6541}
6542#[allow(dead_code)]
6543struct ProcessedUpdateActionListDeserializer;
6544impl ProcessedUpdateActionListDeserializer {
6545 #[allow(dead_code, unused_variables)]
6546 fn deserialize<T: Peek + Next>(
6547 tag_name: &str,
6548 stack: &mut T,
6549 ) -> Result<Vec<ProcessedUpdateAction>, XmlParseError> {
6550 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6551 if name == "ProcessedUpdateAction" {
6552 obj.push(ProcessedUpdateActionDeserializer::deserialize(
6553 "ProcessedUpdateAction",
6554 stack,
6555 )?);
6556 } else {
6557 skip_tree(stack);
6558 }
6559 Ok(())
6560 })
6561 }
6562}
6563#[derive(Clone, Debug, Default, PartialEq)]
6565#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6566pub struct PurchaseReservedCacheNodesOfferingMessage {
6567 pub cache_node_count: Option<i64>,
6569 pub reserved_cache_node_id: Option<String>,
6571 pub reserved_cache_nodes_offering_id: String,
6573}
6574
6575struct PurchaseReservedCacheNodesOfferingMessageSerializer;
6577impl PurchaseReservedCacheNodesOfferingMessageSerializer {
6578 fn serialize(params: &mut Params, name: &str, obj: &PurchaseReservedCacheNodesOfferingMessage) {
6579 let mut prefix = name.to_string();
6580 if prefix != "" {
6581 prefix.push_str(".");
6582 }
6583
6584 if let Some(ref field_value) = obj.cache_node_count {
6585 params.put(&format!("{}{}", prefix, "CacheNodeCount"), &field_value);
6586 }
6587 if let Some(ref field_value) = obj.reserved_cache_node_id {
6588 params.put(
6589 &format!("{}{}", prefix, "ReservedCacheNodeId"),
6590 &field_value,
6591 );
6592 }
6593 params.put(
6594 &format!("{}{}", prefix, "ReservedCacheNodesOfferingId"),
6595 &obj.reserved_cache_nodes_offering_id,
6596 );
6597 }
6598}
6599
6600#[derive(Clone, Debug, Default, PartialEq)]
6601#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6602pub struct PurchaseReservedCacheNodesOfferingResult {
6603 pub reserved_cache_node: Option<ReservedCacheNode>,
6604}
6605
6606#[allow(dead_code)]
6607struct PurchaseReservedCacheNodesOfferingResultDeserializer;
6608impl PurchaseReservedCacheNodesOfferingResultDeserializer {
6609 #[allow(dead_code, unused_variables)]
6610 fn deserialize<T: Peek + Next>(
6611 tag_name: &str,
6612 stack: &mut T,
6613 ) -> Result<PurchaseReservedCacheNodesOfferingResult, XmlParseError> {
6614 deserialize_elements::<_, PurchaseReservedCacheNodesOfferingResult, _>(
6615 tag_name,
6616 stack,
6617 |name, stack, obj| {
6618 match name {
6619 "ReservedCacheNode" => {
6620 obj.reserved_cache_node = Some(ReservedCacheNodeDeserializer::deserialize(
6621 "ReservedCacheNode",
6622 stack,
6623 )?);
6624 }
6625 _ => skip_tree(stack),
6626 }
6627 Ok(())
6628 },
6629 )
6630 }
6631}
6632#[derive(Clone, Debug, Default, PartialEq)]
6633#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6634pub struct RebalanceSlotsInGlobalReplicationGroupMessage {
6635 pub apply_immediately: bool,
6637 pub global_replication_group_id: String,
6639}
6640
6641struct RebalanceSlotsInGlobalReplicationGroupMessageSerializer;
6643impl RebalanceSlotsInGlobalReplicationGroupMessageSerializer {
6644 fn serialize(
6645 params: &mut Params,
6646 name: &str,
6647 obj: &RebalanceSlotsInGlobalReplicationGroupMessage,
6648 ) {
6649 let mut prefix = name.to_string();
6650 if prefix != "" {
6651 prefix.push_str(".");
6652 }
6653
6654 params.put(
6655 &format!("{}{}", prefix, "ApplyImmediately"),
6656 &obj.apply_immediately,
6657 );
6658 params.put(
6659 &format!("{}{}", prefix, "GlobalReplicationGroupId"),
6660 &obj.global_replication_group_id,
6661 );
6662 }
6663}
6664
6665#[derive(Clone, Debug, Default, PartialEq)]
6666#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6667pub struct RebalanceSlotsInGlobalReplicationGroupResult {
6668 pub global_replication_group: Option<GlobalReplicationGroup>,
6669}
6670
6671#[allow(dead_code)]
6672struct RebalanceSlotsInGlobalReplicationGroupResultDeserializer;
6673impl RebalanceSlotsInGlobalReplicationGroupResultDeserializer {
6674 #[allow(dead_code, unused_variables)]
6675 fn deserialize<T: Peek + Next>(
6676 tag_name: &str,
6677 stack: &mut T,
6678 ) -> Result<RebalanceSlotsInGlobalReplicationGroupResult, XmlParseError> {
6679 deserialize_elements::<_, RebalanceSlotsInGlobalReplicationGroupResult, _>(
6680 tag_name,
6681 stack,
6682 |name, stack, obj| {
6683 match name {
6684 "GlobalReplicationGroup" => {
6685 obj.global_replication_group =
6686 Some(GlobalReplicationGroupDeserializer::deserialize(
6687 "GlobalReplicationGroup",
6688 stack,
6689 )?);
6690 }
6691 _ => skip_tree(stack),
6692 }
6693 Ok(())
6694 },
6695 )
6696 }
6697}
6698#[derive(Clone, Debug, Default, PartialEq)]
6700#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6701pub struct RebootCacheClusterMessage {
6702 pub cache_cluster_id: String,
6704 pub cache_node_ids_to_reboot: Vec<String>,
6706}
6707
6708struct RebootCacheClusterMessageSerializer;
6710impl RebootCacheClusterMessageSerializer {
6711 fn serialize(params: &mut Params, name: &str, obj: &RebootCacheClusterMessage) {
6712 let mut prefix = name.to_string();
6713 if prefix != "" {
6714 prefix.push_str(".");
6715 }
6716
6717 params.put(
6718 &format!("{}{}", prefix, "CacheClusterId"),
6719 &obj.cache_cluster_id,
6720 );
6721 CacheNodeIdsListSerializer::serialize(
6722 params,
6723 &format!("{}{}", prefix, "CacheNodeId"),
6724 &obj.cache_node_ids_to_reboot,
6725 );
6726 }
6727}
6728
6729#[derive(Clone, Debug, Default, PartialEq)]
6730#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6731pub struct RebootCacheClusterResult {
6732 pub cache_cluster: Option<CacheCluster>,
6733}
6734
6735#[allow(dead_code)]
6736struct RebootCacheClusterResultDeserializer;
6737impl RebootCacheClusterResultDeserializer {
6738 #[allow(dead_code, unused_variables)]
6739 fn deserialize<T: Peek + Next>(
6740 tag_name: &str,
6741 stack: &mut T,
6742 ) -> Result<RebootCacheClusterResult, XmlParseError> {
6743 deserialize_elements::<_, RebootCacheClusterResult, _>(
6744 tag_name,
6745 stack,
6746 |name, stack, obj| {
6747 match name {
6748 "CacheCluster" => {
6749 obj.cache_cluster = Some(CacheClusterDeserializer::deserialize(
6750 "CacheCluster",
6751 stack,
6752 )?);
6753 }
6754 _ => skip_tree(stack),
6755 }
6756 Ok(())
6757 },
6758 )
6759 }
6760}
6761#[derive(Clone, Debug, Default, PartialEq)]
6763#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6764pub struct RecurringCharge {
6765 pub recurring_charge_amount: Option<f64>,
6767 pub recurring_charge_frequency: Option<String>,
6769}
6770
6771#[allow(dead_code)]
6772struct RecurringChargeDeserializer;
6773impl RecurringChargeDeserializer {
6774 #[allow(dead_code, unused_variables)]
6775 fn deserialize<T: Peek + Next>(
6776 tag_name: &str,
6777 stack: &mut T,
6778 ) -> Result<RecurringCharge, XmlParseError> {
6779 deserialize_elements::<_, RecurringCharge, _>(tag_name, stack, |name, stack, obj| {
6780 match name {
6781 "RecurringChargeAmount" => {
6782 obj.recurring_charge_amount = Some(DoubleDeserializer::deserialize(
6783 "RecurringChargeAmount",
6784 stack,
6785 )?);
6786 }
6787 "RecurringChargeFrequency" => {
6788 obj.recurring_charge_frequency = Some(StringDeserializer::deserialize(
6789 "RecurringChargeFrequency",
6790 stack,
6791 )?);
6792 }
6793 _ => skip_tree(stack),
6794 }
6795 Ok(())
6796 })
6797 }
6798}
6799#[allow(dead_code)]
6800struct RecurringChargeListDeserializer;
6801impl RecurringChargeListDeserializer {
6802 #[allow(dead_code, unused_variables)]
6803 fn deserialize<T: Peek + Next>(
6804 tag_name: &str,
6805 stack: &mut T,
6806 ) -> Result<Vec<RecurringCharge>, XmlParseError> {
6807 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
6808 if name == "RecurringCharge" {
6809 obj.push(RecurringChargeDeserializer::deserialize(
6810 "RecurringCharge",
6811 stack,
6812 )?);
6813 } else {
6814 skip_tree(stack);
6815 }
6816 Ok(())
6817 })
6818 }
6819}
6820#[derive(Clone, Debug, Default, PartialEq)]
6822#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6823pub struct RegionalConfiguration {
6824 pub replication_group_id: String,
6826 pub replication_group_region: String,
6828 pub resharding_configuration: Vec<ReshardingConfiguration>,
6830}
6831
6832struct RegionalConfigurationSerializer;
6834impl RegionalConfigurationSerializer {
6835 fn serialize(params: &mut Params, name: &str, obj: &RegionalConfiguration) {
6836 let mut prefix = name.to_string();
6837 if prefix != "" {
6838 prefix.push_str(".");
6839 }
6840
6841 params.put(
6842 &format!("{}{}", prefix, "ReplicationGroupId"),
6843 &obj.replication_group_id,
6844 );
6845 params.put(
6846 &format!("{}{}", prefix, "ReplicationGroupRegion"),
6847 &obj.replication_group_region,
6848 );
6849 ReshardingConfigurationListSerializer::serialize(
6850 params,
6851 &format!("{}{}", prefix, "ReshardingConfiguration"),
6852 &obj.resharding_configuration,
6853 );
6854 }
6855}
6856
6857struct RegionalConfigurationListSerializer;
6859impl RegionalConfigurationListSerializer {
6860 fn serialize(params: &mut Params, name: &str, obj: &Vec<RegionalConfiguration>) {
6861 for (index, obj) in obj.iter().enumerate() {
6862 let key = format!("{}.member.{}", name, index + 1);
6863 RegionalConfigurationSerializer::serialize(params, &key, obj);
6864 }
6865 }
6866}
6867
6868struct RemoveReplicasListSerializer;
6870impl RemoveReplicasListSerializer {
6871 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
6872 for (index, obj) in obj.iter().enumerate() {
6873 let key = format!("{}.member.{}", name, index + 1);
6874 params.put(&key, &obj);
6875 }
6876 }
6877}
6878
6879#[derive(Clone, Debug, Default, PartialEq)]
6881#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
6882pub struct RemoveTagsFromResourceMessage {
6883 pub resource_name: String,
6885 pub tag_keys: Vec<String>,
6887}
6888
6889struct RemoveTagsFromResourceMessageSerializer;
6891impl RemoveTagsFromResourceMessageSerializer {
6892 fn serialize(params: &mut Params, name: &str, obj: &RemoveTagsFromResourceMessage) {
6893 let mut prefix = name.to_string();
6894 if prefix != "" {
6895 prefix.push_str(".");
6896 }
6897
6898 params.put(&format!("{}{}", prefix, "ResourceName"), &obj.resource_name);
6899 KeyListSerializer::serialize(params, &format!("{}{}", prefix, "TagKeys"), &obj.tag_keys);
6900 }
6901}
6902
6903struct ReplicaConfigurationListSerializer;
6905impl ReplicaConfigurationListSerializer {
6906 fn serialize(params: &mut Params, name: &str, obj: &Vec<ConfigureShard>) {
6907 for (index, obj) in obj.iter().enumerate() {
6908 let key = format!("{}.member.{}", name, index + 1);
6909 ConfigureShardSerializer::serialize(params, &key, obj);
6910 }
6911 }
6912}
6913
6914#[derive(Clone, Debug, Default, PartialEq)]
6916#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
6917pub struct ReplicationGroup {
6918 pub arn: Option<String>,
6920 pub at_rest_encryption_enabled: Option<bool>,
6922 pub auth_token_enabled: Option<bool>,
6924 pub auth_token_last_modified_date: Option<String>,
6926 pub automatic_failover: Option<String>,
6928 pub cache_node_type: Option<String>,
6930 pub cluster_enabled: Option<bool>,
6932 pub configuration_endpoint: Option<Endpoint>,
6934 pub description: Option<String>,
6936 pub global_replication_group_info: Option<GlobalReplicationGroupInfo>,
6938 pub kms_key_id: Option<String>,
6940 pub member_clusters: Option<Vec<String>>,
6942 pub multi_az: Option<String>,
6944 pub node_groups: Option<Vec<NodeGroup>>,
6946 pub pending_modified_values: Option<ReplicationGroupPendingModifiedValues>,
6948 pub replication_group_id: Option<String>,
6950 pub snapshot_retention_limit: Option<i64>,
6952 pub snapshot_window: Option<String>,
6954 pub snapshotting_cluster_id: Option<String>,
6956 pub status: Option<String>,
6958 pub transit_encryption_enabled: Option<bool>,
6960}
6961
6962#[allow(dead_code)]
6963struct ReplicationGroupDeserializer;
6964impl ReplicationGroupDeserializer {
6965 #[allow(dead_code, unused_variables)]
6966 fn deserialize<T: Peek + Next>(
6967 tag_name: &str,
6968 stack: &mut T,
6969 ) -> Result<ReplicationGroup, XmlParseError> {
6970 deserialize_elements::<_, ReplicationGroup, _>(tag_name, stack, |name, stack, obj| {
6971 match name {
6972 "ARN" => {
6973 obj.arn = Some(StringDeserializer::deserialize("ARN", stack)?);
6974 }
6975 "AtRestEncryptionEnabled" => {
6976 obj.at_rest_encryption_enabled = Some(
6977 BooleanOptionalDeserializer::deserialize("AtRestEncryptionEnabled", stack)?,
6978 );
6979 }
6980 "AuthTokenEnabled" => {
6981 obj.auth_token_enabled = Some(BooleanOptionalDeserializer::deserialize(
6982 "AuthTokenEnabled",
6983 stack,
6984 )?);
6985 }
6986 "AuthTokenLastModifiedDate" => {
6987 obj.auth_token_last_modified_date = Some(TStampDeserializer::deserialize(
6988 "AuthTokenLastModifiedDate",
6989 stack,
6990 )?);
6991 }
6992 "AutomaticFailover" => {
6993 obj.automatic_failover =
6994 Some(AutomaticFailoverStatusDeserializer::deserialize(
6995 "AutomaticFailover",
6996 stack,
6997 )?);
6998 }
6999 "CacheNodeType" => {
7000 obj.cache_node_type =
7001 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
7002 }
7003 "ClusterEnabled" => {
7004 obj.cluster_enabled = Some(BooleanOptionalDeserializer::deserialize(
7005 "ClusterEnabled",
7006 stack,
7007 )?);
7008 }
7009 "ConfigurationEndpoint" => {
7010 obj.configuration_endpoint = Some(EndpointDeserializer::deserialize(
7011 "ConfigurationEndpoint",
7012 stack,
7013 )?);
7014 }
7015 "Description" => {
7016 obj.description = Some(StringDeserializer::deserialize("Description", stack)?);
7017 }
7018 "GlobalReplicationGroupInfo" => {
7019 obj.global_replication_group_info =
7020 Some(GlobalReplicationGroupInfoDeserializer::deserialize(
7021 "GlobalReplicationGroupInfo",
7022 stack,
7023 )?);
7024 }
7025 "KmsKeyId" => {
7026 obj.kms_key_id = Some(StringDeserializer::deserialize("KmsKeyId", stack)?);
7027 }
7028 "MemberClusters" => {
7029 obj.member_clusters.get_or_insert(vec![]).extend(
7030 ClusterIdListDeserializer::deserialize("MemberClusters", stack)?,
7031 );
7032 }
7033 "MultiAZ" => {
7034 obj.multi_az = Some(MultiAZStatusDeserializer::deserialize("MultiAZ", stack)?);
7035 }
7036 "NodeGroups" => {
7037 obj.node_groups
7038 .get_or_insert(vec![])
7039 .extend(NodeGroupListDeserializer::deserialize("NodeGroups", stack)?);
7040 }
7041 "PendingModifiedValues" => {
7042 obj.pending_modified_values = Some(
7043 ReplicationGroupPendingModifiedValuesDeserializer::deserialize(
7044 "PendingModifiedValues",
7045 stack,
7046 )?,
7047 );
7048 }
7049 "ReplicationGroupId" => {
7050 obj.replication_group_id = Some(StringDeserializer::deserialize(
7051 "ReplicationGroupId",
7052 stack,
7053 )?);
7054 }
7055 "SnapshotRetentionLimit" => {
7056 obj.snapshot_retention_limit = Some(IntegerOptionalDeserializer::deserialize(
7057 "SnapshotRetentionLimit",
7058 stack,
7059 )?);
7060 }
7061 "SnapshotWindow" => {
7062 obj.snapshot_window =
7063 Some(StringDeserializer::deserialize("SnapshotWindow", stack)?);
7064 }
7065 "SnapshottingClusterId" => {
7066 obj.snapshotting_cluster_id = Some(StringDeserializer::deserialize(
7067 "SnapshottingClusterId",
7068 stack,
7069 )?);
7070 }
7071 "Status" => {
7072 obj.status = Some(StringDeserializer::deserialize("Status", stack)?);
7073 }
7074 "TransitEncryptionEnabled" => {
7075 obj.transit_encryption_enabled =
7076 Some(BooleanOptionalDeserializer::deserialize(
7077 "TransitEncryptionEnabled",
7078 stack,
7079 )?);
7080 }
7081 _ => skip_tree(stack),
7082 }
7083 Ok(())
7084 })
7085 }
7086}
7087
7088struct ReplicationGroupIdListSerializer;
7090impl ReplicationGroupIdListSerializer {
7091 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
7092 for (index, obj) in obj.iter().enumerate() {
7093 let key = format!("{}.member.{}", name, index + 1);
7094 params.put(&key, &obj);
7095 }
7096 }
7097}
7098
7099#[allow(dead_code)]
7100struct ReplicationGroupListDeserializer;
7101impl ReplicationGroupListDeserializer {
7102 #[allow(dead_code, unused_variables)]
7103 fn deserialize<T: Peek + Next>(
7104 tag_name: &str,
7105 stack: &mut T,
7106 ) -> Result<Vec<ReplicationGroup>, XmlParseError> {
7107 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7108 if name == "ReplicationGroup" {
7109 obj.push(ReplicationGroupDeserializer::deserialize(
7110 "ReplicationGroup",
7111 stack,
7112 )?);
7113 } else {
7114 skip_tree(stack);
7115 }
7116 Ok(())
7117 })
7118 }
7119}
7120#[derive(Clone, Debug, Default, PartialEq)]
7122#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7123pub struct ReplicationGroupMessage {
7124 pub marker: Option<String>,
7126 pub replication_groups: Option<Vec<ReplicationGroup>>,
7128}
7129
7130#[allow(dead_code)]
7131struct ReplicationGroupMessageDeserializer;
7132impl ReplicationGroupMessageDeserializer {
7133 #[allow(dead_code, unused_variables)]
7134 fn deserialize<T: Peek + Next>(
7135 tag_name: &str,
7136 stack: &mut T,
7137 ) -> Result<ReplicationGroupMessage, XmlParseError> {
7138 deserialize_elements::<_, ReplicationGroupMessage, _>(
7139 tag_name,
7140 stack,
7141 |name, stack, obj| {
7142 match name {
7143 "Marker" => {
7144 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
7145 }
7146 "ReplicationGroups" => {
7147 obj.replication_groups.get_or_insert(vec![]).extend(
7148 ReplicationGroupListDeserializer::deserialize(
7149 "ReplicationGroups",
7150 stack,
7151 )?,
7152 );
7153 }
7154 _ => skip_tree(stack),
7155 }
7156 Ok(())
7157 },
7158 )
7159 }
7160}
7161#[derive(Clone, Debug, Default, PartialEq)]
7163#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7164pub struct ReplicationGroupPendingModifiedValues {
7165 pub auth_token_status: Option<String>,
7167 pub automatic_failover_status: Option<String>,
7169 pub primary_cluster_id: Option<String>,
7171 pub resharding: Option<ReshardingStatus>,
7173}
7174
7175#[allow(dead_code)]
7176struct ReplicationGroupPendingModifiedValuesDeserializer;
7177impl ReplicationGroupPendingModifiedValuesDeserializer {
7178 #[allow(dead_code, unused_variables)]
7179 fn deserialize<T: Peek + Next>(
7180 tag_name: &str,
7181 stack: &mut T,
7182 ) -> Result<ReplicationGroupPendingModifiedValues, XmlParseError> {
7183 deserialize_elements::<_, ReplicationGroupPendingModifiedValues, _>(
7184 tag_name,
7185 stack,
7186 |name, stack, obj| {
7187 match name {
7188 "AuthTokenStatus" => {
7189 obj.auth_token_status =
7190 Some(AuthTokenUpdateStatusDeserializer::deserialize(
7191 "AuthTokenStatus",
7192 stack,
7193 )?);
7194 }
7195 "AutomaticFailoverStatus" => {
7196 obj.automatic_failover_status =
7197 Some(PendingAutomaticFailoverStatusDeserializer::deserialize(
7198 "AutomaticFailoverStatus",
7199 stack,
7200 )?);
7201 }
7202 "PrimaryClusterId" => {
7203 obj.primary_cluster_id =
7204 Some(StringDeserializer::deserialize("PrimaryClusterId", stack)?);
7205 }
7206 "Resharding" => {
7207 obj.resharding = Some(ReshardingStatusDeserializer::deserialize(
7208 "Resharding",
7209 stack,
7210 )?);
7211 }
7212 _ => skip_tree(stack),
7213 }
7214 Ok(())
7215 },
7216 )
7217 }
7218}
7219#[derive(Clone, Debug, Default, PartialEq)]
7221#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7222pub struct ReservedCacheNode {
7223 pub cache_node_count: Option<i64>,
7225 pub cache_node_type: Option<String>,
7227 pub duration: Option<i64>,
7229 pub fixed_price: Option<f64>,
7231 pub offering_type: Option<String>,
7233 pub product_description: Option<String>,
7235 pub recurring_charges: Option<Vec<RecurringCharge>>,
7237 pub reservation_arn: Option<String>,
7239 pub reserved_cache_node_id: Option<String>,
7241 pub reserved_cache_nodes_offering_id: Option<String>,
7243 pub start_time: Option<String>,
7245 pub state: Option<String>,
7247 pub usage_price: Option<f64>,
7249}
7250
7251#[allow(dead_code)]
7252struct ReservedCacheNodeDeserializer;
7253impl ReservedCacheNodeDeserializer {
7254 #[allow(dead_code, unused_variables)]
7255 fn deserialize<T: Peek + Next>(
7256 tag_name: &str,
7257 stack: &mut T,
7258 ) -> Result<ReservedCacheNode, XmlParseError> {
7259 deserialize_elements::<_, ReservedCacheNode, _>(tag_name, stack, |name, stack, obj| {
7260 match name {
7261 "CacheNodeCount" => {
7262 obj.cache_node_count =
7263 Some(IntegerDeserializer::deserialize("CacheNodeCount", stack)?);
7264 }
7265 "CacheNodeType" => {
7266 obj.cache_node_type =
7267 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
7268 }
7269 "Duration" => {
7270 obj.duration = Some(IntegerDeserializer::deserialize("Duration", stack)?);
7271 }
7272 "FixedPrice" => {
7273 obj.fixed_price = Some(DoubleDeserializer::deserialize("FixedPrice", stack)?);
7274 }
7275 "OfferingType" => {
7276 obj.offering_type =
7277 Some(StringDeserializer::deserialize("OfferingType", stack)?);
7278 }
7279 "ProductDescription" => {
7280 obj.product_description = Some(StringDeserializer::deserialize(
7281 "ProductDescription",
7282 stack,
7283 )?);
7284 }
7285 "RecurringCharges" => {
7286 obj.recurring_charges.get_or_insert(vec![]).extend(
7287 RecurringChargeListDeserializer::deserialize("RecurringCharges", stack)?,
7288 );
7289 }
7290 "ReservationARN" => {
7291 obj.reservation_arn =
7292 Some(StringDeserializer::deserialize("ReservationARN", stack)?);
7293 }
7294 "ReservedCacheNodeId" => {
7295 obj.reserved_cache_node_id = Some(StringDeserializer::deserialize(
7296 "ReservedCacheNodeId",
7297 stack,
7298 )?);
7299 }
7300 "ReservedCacheNodesOfferingId" => {
7301 obj.reserved_cache_nodes_offering_id = Some(StringDeserializer::deserialize(
7302 "ReservedCacheNodesOfferingId",
7303 stack,
7304 )?);
7305 }
7306 "StartTime" => {
7307 obj.start_time = Some(TStampDeserializer::deserialize("StartTime", stack)?);
7308 }
7309 "State" => {
7310 obj.state = Some(StringDeserializer::deserialize("State", stack)?);
7311 }
7312 "UsagePrice" => {
7313 obj.usage_price = Some(DoubleDeserializer::deserialize("UsagePrice", stack)?);
7314 }
7315 _ => skip_tree(stack),
7316 }
7317 Ok(())
7318 })
7319 }
7320}
7321#[allow(dead_code)]
7322struct ReservedCacheNodeListDeserializer;
7323impl ReservedCacheNodeListDeserializer {
7324 #[allow(dead_code, unused_variables)]
7325 fn deserialize<T: Peek + Next>(
7326 tag_name: &str,
7327 stack: &mut T,
7328 ) -> Result<Vec<ReservedCacheNode>, XmlParseError> {
7329 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7330 if name == "ReservedCacheNode" {
7331 obj.push(ReservedCacheNodeDeserializer::deserialize(
7332 "ReservedCacheNode",
7333 stack,
7334 )?);
7335 } else {
7336 skip_tree(stack);
7337 }
7338 Ok(())
7339 })
7340 }
7341}
7342#[derive(Clone, Debug, Default, PartialEq)]
7344#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7345pub struct ReservedCacheNodeMessage {
7346 pub marker: Option<String>,
7348 pub reserved_cache_nodes: Option<Vec<ReservedCacheNode>>,
7350}
7351
7352#[allow(dead_code)]
7353struct ReservedCacheNodeMessageDeserializer;
7354impl ReservedCacheNodeMessageDeserializer {
7355 #[allow(dead_code, unused_variables)]
7356 fn deserialize<T: Peek + Next>(
7357 tag_name: &str,
7358 stack: &mut T,
7359 ) -> Result<ReservedCacheNodeMessage, XmlParseError> {
7360 deserialize_elements::<_, ReservedCacheNodeMessage, _>(
7361 tag_name,
7362 stack,
7363 |name, stack, obj| {
7364 match name {
7365 "Marker" => {
7366 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
7367 }
7368 "ReservedCacheNodes" => {
7369 obj.reserved_cache_nodes.get_or_insert(vec![]).extend(
7370 ReservedCacheNodeListDeserializer::deserialize(
7371 "ReservedCacheNodes",
7372 stack,
7373 )?,
7374 );
7375 }
7376 _ => skip_tree(stack),
7377 }
7378 Ok(())
7379 },
7380 )
7381 }
7382}
7383#[derive(Clone, Debug, Default, PartialEq)]
7385#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7386pub struct ReservedCacheNodesOffering {
7387 pub cache_node_type: Option<String>,
7389 pub duration: Option<i64>,
7391 pub fixed_price: Option<f64>,
7393 pub offering_type: Option<String>,
7395 pub product_description: Option<String>,
7397 pub recurring_charges: Option<Vec<RecurringCharge>>,
7399 pub reserved_cache_nodes_offering_id: Option<String>,
7401 pub usage_price: Option<f64>,
7403}
7404
7405#[allow(dead_code)]
7406struct ReservedCacheNodesOfferingDeserializer;
7407impl ReservedCacheNodesOfferingDeserializer {
7408 #[allow(dead_code, unused_variables)]
7409 fn deserialize<T: Peek + Next>(
7410 tag_name: &str,
7411 stack: &mut T,
7412 ) -> Result<ReservedCacheNodesOffering, XmlParseError> {
7413 deserialize_elements::<_, ReservedCacheNodesOffering, _>(
7414 tag_name,
7415 stack,
7416 |name, stack, obj| {
7417 match name {
7418 "CacheNodeType" => {
7419 obj.cache_node_type =
7420 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
7421 }
7422 "Duration" => {
7423 obj.duration = Some(IntegerDeserializer::deserialize("Duration", stack)?);
7424 }
7425 "FixedPrice" => {
7426 obj.fixed_price =
7427 Some(DoubleDeserializer::deserialize("FixedPrice", stack)?);
7428 }
7429 "OfferingType" => {
7430 obj.offering_type =
7431 Some(StringDeserializer::deserialize("OfferingType", stack)?);
7432 }
7433 "ProductDescription" => {
7434 obj.product_description = Some(StringDeserializer::deserialize(
7435 "ProductDescription",
7436 stack,
7437 )?);
7438 }
7439 "RecurringCharges" => {
7440 obj.recurring_charges.get_or_insert(vec![]).extend(
7441 RecurringChargeListDeserializer::deserialize(
7442 "RecurringCharges",
7443 stack,
7444 )?,
7445 );
7446 }
7447 "ReservedCacheNodesOfferingId" => {
7448 obj.reserved_cache_nodes_offering_id = Some(
7449 StringDeserializer::deserialize("ReservedCacheNodesOfferingId", stack)?,
7450 );
7451 }
7452 "UsagePrice" => {
7453 obj.usage_price =
7454 Some(DoubleDeserializer::deserialize("UsagePrice", stack)?);
7455 }
7456 _ => skip_tree(stack),
7457 }
7458 Ok(())
7459 },
7460 )
7461 }
7462}
7463#[allow(dead_code)]
7464struct ReservedCacheNodesOfferingListDeserializer;
7465impl ReservedCacheNodesOfferingListDeserializer {
7466 #[allow(dead_code, unused_variables)]
7467 fn deserialize<T: Peek + Next>(
7468 tag_name: &str,
7469 stack: &mut T,
7470 ) -> Result<Vec<ReservedCacheNodesOffering>, XmlParseError> {
7471 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7472 if name == "ReservedCacheNodesOffering" {
7473 obj.push(ReservedCacheNodesOfferingDeserializer::deserialize(
7474 "ReservedCacheNodesOffering",
7475 stack,
7476 )?);
7477 } else {
7478 skip_tree(stack);
7479 }
7480 Ok(())
7481 })
7482 }
7483}
7484#[derive(Clone, Debug, Default, PartialEq)]
7486#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7487pub struct ReservedCacheNodesOfferingMessage {
7488 pub marker: Option<String>,
7490 pub reserved_cache_nodes_offerings: Option<Vec<ReservedCacheNodesOffering>>,
7492}
7493
7494#[allow(dead_code)]
7495struct ReservedCacheNodesOfferingMessageDeserializer;
7496impl ReservedCacheNodesOfferingMessageDeserializer {
7497 #[allow(dead_code, unused_variables)]
7498 fn deserialize<T: Peek + Next>(
7499 tag_name: &str,
7500 stack: &mut T,
7501 ) -> Result<ReservedCacheNodesOfferingMessage, XmlParseError> {
7502 deserialize_elements::<_, ReservedCacheNodesOfferingMessage, _>(
7503 tag_name,
7504 stack,
7505 |name, stack, obj| {
7506 match name {
7507 "Marker" => {
7508 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
7509 }
7510 "ReservedCacheNodesOfferings" => {
7511 obj.reserved_cache_nodes_offerings
7512 .get_or_insert(vec![])
7513 .extend(ReservedCacheNodesOfferingListDeserializer::deserialize(
7514 "ReservedCacheNodesOfferings",
7515 stack,
7516 )?);
7517 }
7518 _ => skip_tree(stack),
7519 }
7520 Ok(())
7521 },
7522 )
7523 }
7524}
7525#[derive(Clone, Debug, Default, PartialEq)]
7527#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
7528pub struct ResetCacheParameterGroupMessage {
7529 pub cache_parameter_group_name: String,
7531 pub parameter_name_values: Option<Vec<ParameterNameValue>>,
7533 pub reset_all_parameters: Option<bool>,
7535}
7536
7537struct ResetCacheParameterGroupMessageSerializer;
7539impl ResetCacheParameterGroupMessageSerializer {
7540 fn serialize(params: &mut Params, name: &str, obj: &ResetCacheParameterGroupMessage) {
7541 let mut prefix = name.to_string();
7542 if prefix != "" {
7543 prefix.push_str(".");
7544 }
7545
7546 params.put(
7547 &format!("{}{}", prefix, "CacheParameterGroupName"),
7548 &obj.cache_parameter_group_name,
7549 );
7550 if let Some(ref field_value) = obj.parameter_name_values {
7551 ParameterNameValueListSerializer::serialize(
7552 params,
7553 &format!("{}{}", prefix, "ParameterNameValue"),
7554 field_value,
7555 );
7556 }
7557 if let Some(ref field_value) = obj.reset_all_parameters {
7558 params.put(&format!("{}{}", prefix, "ResetAllParameters"), &field_value);
7559 }
7560 }
7561}
7562
7563#[derive(Clone, Debug, Default, PartialEq)]
7565#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
7566pub struct ReshardingConfiguration {
7567 pub node_group_id: Option<String>,
7569 pub preferred_availability_zones: Option<Vec<String>>,
7571}
7572
7573struct ReshardingConfigurationSerializer;
7575impl ReshardingConfigurationSerializer {
7576 fn serialize(params: &mut Params, name: &str, obj: &ReshardingConfiguration) {
7577 let mut prefix = name.to_string();
7578 if prefix != "" {
7579 prefix.push_str(".");
7580 }
7581
7582 if let Some(ref field_value) = obj.node_group_id {
7583 params.put(&format!("{}{}", prefix, "NodeGroupId"), &field_value);
7584 }
7585 if let Some(ref field_value) = obj.preferred_availability_zones {
7586 AvailabilityZonesListSerializer::serialize(
7587 params,
7588 &format!("{}{}", prefix, "AvailabilityZone"),
7589 field_value,
7590 );
7591 }
7592 }
7593}
7594
7595struct ReshardingConfigurationListSerializer;
7597impl ReshardingConfigurationListSerializer {
7598 fn serialize(params: &mut Params, name: &str, obj: &Vec<ReshardingConfiguration>) {
7599 for (index, obj) in obj.iter().enumerate() {
7600 let key = format!("{}.member.{}", name, index + 1);
7601 ReshardingConfigurationSerializer::serialize(params, &key, obj);
7602 }
7603 }
7604}
7605
7606#[derive(Clone, Debug, Default, PartialEq)]
7608#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7609pub struct ReshardingStatus {
7610 pub slot_migration: Option<SlotMigration>,
7612}
7613
7614#[allow(dead_code)]
7615struct ReshardingStatusDeserializer;
7616impl ReshardingStatusDeserializer {
7617 #[allow(dead_code, unused_variables)]
7618 fn deserialize<T: Peek + Next>(
7619 tag_name: &str,
7620 stack: &mut T,
7621 ) -> Result<ReshardingStatus, XmlParseError> {
7622 deserialize_elements::<_, ReshardingStatus, _>(tag_name, stack, |name, stack, obj| {
7623 match name {
7624 "SlotMigration" => {
7625 obj.slot_migration = Some(SlotMigrationDeserializer::deserialize(
7626 "SlotMigration",
7627 stack,
7628 )?);
7629 }
7630 _ => skip_tree(stack),
7631 }
7632 Ok(())
7633 })
7634 }
7635}
7636#[derive(Clone, Debug, Default, PartialEq)]
7638#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
7639pub struct RevokeCacheSecurityGroupIngressMessage {
7640 pub cache_security_group_name: String,
7642 pub ec2_security_group_name: String,
7644 pub ec2_security_group_owner_id: String,
7646}
7647
7648struct RevokeCacheSecurityGroupIngressMessageSerializer;
7650impl RevokeCacheSecurityGroupIngressMessageSerializer {
7651 fn serialize(params: &mut Params, name: &str, obj: &RevokeCacheSecurityGroupIngressMessage) {
7652 let mut prefix = name.to_string();
7653 if prefix != "" {
7654 prefix.push_str(".");
7655 }
7656
7657 params.put(
7658 &format!("{}{}", prefix, "CacheSecurityGroupName"),
7659 &obj.cache_security_group_name,
7660 );
7661 params.put(
7662 &format!("{}{}", prefix, "EC2SecurityGroupName"),
7663 &obj.ec2_security_group_name,
7664 );
7665 params.put(
7666 &format!("{}{}", prefix, "EC2SecurityGroupOwnerId"),
7667 &obj.ec2_security_group_owner_id,
7668 );
7669 }
7670}
7671
7672#[derive(Clone, Debug, Default, PartialEq)]
7673#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7674pub struct RevokeCacheSecurityGroupIngressResult {
7675 pub cache_security_group: Option<CacheSecurityGroup>,
7676}
7677
7678#[allow(dead_code)]
7679struct RevokeCacheSecurityGroupIngressResultDeserializer;
7680impl RevokeCacheSecurityGroupIngressResultDeserializer {
7681 #[allow(dead_code, unused_variables)]
7682 fn deserialize<T: Peek + Next>(
7683 tag_name: &str,
7684 stack: &mut T,
7685 ) -> Result<RevokeCacheSecurityGroupIngressResult, XmlParseError> {
7686 deserialize_elements::<_, RevokeCacheSecurityGroupIngressResult, _>(
7687 tag_name,
7688 stack,
7689 |name, stack, obj| {
7690 match name {
7691 "CacheSecurityGroup" => {
7692 obj.cache_security_group =
7693 Some(CacheSecurityGroupDeserializer::deserialize(
7694 "CacheSecurityGroup",
7695 stack,
7696 )?);
7697 }
7698 _ => skip_tree(stack),
7699 }
7700 Ok(())
7701 },
7702 )
7703 }
7704}
7705
7706struct SecurityGroupIdsListSerializer;
7708impl SecurityGroupIdsListSerializer {
7709 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
7710 for (index, obj) in obj.iter().enumerate() {
7711 let key = format!("{}.member.{}", name, index + 1);
7712 params.put(&key, &obj);
7713 }
7714 }
7715}
7716
7717#[derive(Clone, Debug, Default, PartialEq)]
7719#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7720pub struct SecurityGroupMembership {
7721 pub security_group_id: Option<String>,
7723 pub status: Option<String>,
7725}
7726
7727#[allow(dead_code)]
7728struct SecurityGroupMembershipDeserializer;
7729impl SecurityGroupMembershipDeserializer {
7730 #[allow(dead_code, unused_variables)]
7731 fn deserialize<T: Peek + Next>(
7732 tag_name: &str,
7733 stack: &mut T,
7734 ) -> Result<SecurityGroupMembership, XmlParseError> {
7735 deserialize_elements::<_, SecurityGroupMembership, _>(
7736 tag_name,
7737 stack,
7738 |name, stack, obj| {
7739 match name {
7740 "SecurityGroupId" => {
7741 obj.security_group_id =
7742 Some(StringDeserializer::deserialize("SecurityGroupId", stack)?);
7743 }
7744 "Status" => {
7745 obj.status = Some(StringDeserializer::deserialize("Status", stack)?);
7746 }
7747 _ => skip_tree(stack),
7748 }
7749 Ok(())
7750 },
7751 )
7752 }
7753}
7754#[allow(dead_code)]
7755struct SecurityGroupMembershipListDeserializer;
7756impl SecurityGroupMembershipListDeserializer {
7757 #[allow(dead_code, unused_variables)]
7758 fn deserialize<T: Peek + Next>(
7759 tag_name: &str,
7760 stack: &mut T,
7761 ) -> Result<Vec<SecurityGroupMembership>, XmlParseError> {
7762 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7763 if name == "member" {
7764 obj.push(SecurityGroupMembershipDeserializer::deserialize(
7765 "member", stack,
7766 )?);
7767 } else {
7768 skip_tree(stack);
7769 }
7770 Ok(())
7771 })
7772 }
7773}
7774#[derive(Clone, Debug, Default, PartialEq)]
7776#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7777pub struct ServiceUpdate {
7778 pub auto_update_after_recommended_apply_by_date: Option<bool>,
7780 pub engine: Option<String>,
7782 pub engine_version: Option<String>,
7784 pub estimated_update_time: Option<String>,
7786 pub service_update_description: Option<String>,
7788 pub service_update_end_date: Option<String>,
7790 pub service_update_name: Option<String>,
7792 pub service_update_recommended_apply_by_date: Option<String>,
7794 pub service_update_release_date: Option<String>,
7796 pub service_update_severity: Option<String>,
7798 pub service_update_status: Option<String>,
7800 pub service_update_type: Option<String>,
7802}
7803
7804#[allow(dead_code)]
7805struct ServiceUpdateDeserializer;
7806impl ServiceUpdateDeserializer {
7807 #[allow(dead_code, unused_variables)]
7808 fn deserialize<T: Peek + Next>(
7809 tag_name: &str,
7810 stack: &mut T,
7811 ) -> Result<ServiceUpdate, XmlParseError> {
7812 deserialize_elements::<_, ServiceUpdate, _>(tag_name, stack, |name, stack, obj| {
7813 match name {
7814 "AutoUpdateAfterRecommendedApplyByDate" => {
7815 obj.auto_update_after_recommended_apply_by_date =
7816 Some(BooleanOptionalDeserializer::deserialize(
7817 "AutoUpdateAfterRecommendedApplyByDate",
7818 stack,
7819 )?);
7820 }
7821 "Engine" => {
7822 obj.engine = Some(StringDeserializer::deserialize("Engine", stack)?);
7823 }
7824 "EngineVersion" => {
7825 obj.engine_version =
7826 Some(StringDeserializer::deserialize("EngineVersion", stack)?);
7827 }
7828 "EstimatedUpdateTime" => {
7829 obj.estimated_update_time = Some(StringDeserializer::deserialize(
7830 "EstimatedUpdateTime",
7831 stack,
7832 )?);
7833 }
7834 "ServiceUpdateDescription" => {
7835 obj.service_update_description = Some(StringDeserializer::deserialize(
7836 "ServiceUpdateDescription",
7837 stack,
7838 )?);
7839 }
7840 "ServiceUpdateEndDate" => {
7841 obj.service_update_end_date = Some(TStampDeserializer::deserialize(
7842 "ServiceUpdateEndDate",
7843 stack,
7844 )?);
7845 }
7846 "ServiceUpdateName" => {
7847 obj.service_update_name =
7848 Some(StringDeserializer::deserialize("ServiceUpdateName", stack)?);
7849 }
7850 "ServiceUpdateRecommendedApplyByDate" => {
7851 obj.service_update_recommended_apply_by_date =
7852 Some(TStampDeserializer::deserialize(
7853 "ServiceUpdateRecommendedApplyByDate",
7854 stack,
7855 )?);
7856 }
7857 "ServiceUpdateReleaseDate" => {
7858 obj.service_update_release_date = Some(TStampDeserializer::deserialize(
7859 "ServiceUpdateReleaseDate",
7860 stack,
7861 )?);
7862 }
7863 "ServiceUpdateSeverity" => {
7864 obj.service_update_severity =
7865 Some(ServiceUpdateSeverityDeserializer::deserialize(
7866 "ServiceUpdateSeverity",
7867 stack,
7868 )?);
7869 }
7870 "ServiceUpdateStatus" => {
7871 obj.service_update_status = Some(ServiceUpdateStatusDeserializer::deserialize(
7872 "ServiceUpdateStatus",
7873 stack,
7874 )?);
7875 }
7876 "ServiceUpdateType" => {
7877 obj.service_update_type = Some(ServiceUpdateTypeDeserializer::deserialize(
7878 "ServiceUpdateType",
7879 stack,
7880 )?);
7881 }
7882 _ => skip_tree(stack),
7883 }
7884 Ok(())
7885 })
7886 }
7887}
7888#[allow(dead_code)]
7889struct ServiceUpdateListDeserializer;
7890impl ServiceUpdateListDeserializer {
7891 #[allow(dead_code, unused_variables)]
7892 fn deserialize<T: Peek + Next>(
7893 tag_name: &str,
7894 stack: &mut T,
7895 ) -> Result<Vec<ServiceUpdate>, XmlParseError> {
7896 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
7897 if name == "ServiceUpdate" {
7898 obj.push(ServiceUpdateDeserializer::deserialize(
7899 "ServiceUpdate",
7900 stack,
7901 )?);
7902 } else {
7903 skip_tree(stack);
7904 }
7905 Ok(())
7906 })
7907 }
7908}
7909#[allow(dead_code)]
7910struct ServiceUpdateSeverityDeserializer;
7911impl ServiceUpdateSeverityDeserializer {
7912 #[allow(dead_code, unused_variables)]
7913 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7914 xml_util::deserialize_primitive(tag_name, stack, Ok)
7915 }
7916}
7917#[allow(dead_code)]
7918struct ServiceUpdateStatusDeserializer;
7919impl ServiceUpdateStatusDeserializer {
7920 #[allow(dead_code, unused_variables)]
7921 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7922 xml_util::deserialize_primitive(tag_name, stack, Ok)
7923 }
7924}
7925
7926struct ServiceUpdateStatusListSerializer;
7928impl ServiceUpdateStatusListSerializer {
7929 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
7930 for (index, obj) in obj.iter().enumerate() {
7931 let key = format!("{}.member.{}", name, index + 1);
7932 params.put(&key, &obj);
7933 }
7934 }
7935}
7936
7937#[allow(dead_code)]
7938struct ServiceUpdateTypeDeserializer;
7939impl ServiceUpdateTypeDeserializer {
7940 #[allow(dead_code, unused_variables)]
7941 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7942 xml_util::deserialize_primitive(tag_name, stack, Ok)
7943 }
7944}
7945#[derive(Clone, Debug, Default, PartialEq)]
7946#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7947pub struct ServiceUpdatesMessage {
7948 pub marker: Option<String>,
7950 pub service_updates: Option<Vec<ServiceUpdate>>,
7952}
7953
7954#[allow(dead_code)]
7955struct ServiceUpdatesMessageDeserializer;
7956impl ServiceUpdatesMessageDeserializer {
7957 #[allow(dead_code, unused_variables)]
7958 fn deserialize<T: Peek + Next>(
7959 tag_name: &str,
7960 stack: &mut T,
7961 ) -> Result<ServiceUpdatesMessage, XmlParseError> {
7962 deserialize_elements::<_, ServiceUpdatesMessage, _>(tag_name, stack, |name, stack, obj| {
7963 match name {
7964 "Marker" => {
7965 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
7966 }
7967 "ServiceUpdates" => {
7968 obj.service_updates.get_or_insert(vec![]).extend(
7969 ServiceUpdateListDeserializer::deserialize("ServiceUpdates", stack)?,
7970 );
7971 }
7972 _ => skip_tree(stack),
7973 }
7974 Ok(())
7975 })
7976 }
7977}
7978#[allow(dead_code)]
7979struct SlaMetDeserializer;
7980impl SlaMetDeserializer {
7981 #[allow(dead_code, unused_variables)]
7982 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
7983 xml_util::deserialize_primitive(tag_name, stack, Ok)
7984 }
7985}
7986#[derive(Clone, Debug, Default, PartialEq)]
7988#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
7989pub struct SlotMigration {
7990 pub progress_percentage: Option<f64>,
7992}
7993
7994#[allow(dead_code)]
7995struct SlotMigrationDeserializer;
7996impl SlotMigrationDeserializer {
7997 #[allow(dead_code, unused_variables)]
7998 fn deserialize<T: Peek + Next>(
7999 tag_name: &str,
8000 stack: &mut T,
8001 ) -> Result<SlotMigration, XmlParseError> {
8002 deserialize_elements::<_, SlotMigration, _>(tag_name, stack, |name, stack, obj| {
8003 match name {
8004 "ProgressPercentage" => {
8005 obj.progress_percentage = Some(DoubleDeserializer::deserialize(
8006 "ProgressPercentage",
8007 stack,
8008 )?);
8009 }
8010 _ => skip_tree(stack),
8011 }
8012 Ok(())
8013 })
8014 }
8015}
8016#[derive(Clone, Debug, Default, PartialEq)]
8018#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8019pub struct Snapshot {
8020 pub arn: Option<String>,
8022 pub auto_minor_version_upgrade: Option<bool>,
8024 pub automatic_failover: Option<String>,
8026 pub cache_cluster_create_time: Option<String>,
8028 pub cache_cluster_id: Option<String>,
8030 pub cache_node_type: Option<String>,
8032 pub cache_parameter_group_name: Option<String>,
8034 pub cache_subnet_group_name: Option<String>,
8036 pub engine: Option<String>,
8038 pub engine_version: Option<String>,
8040 pub kms_key_id: Option<String>,
8042 pub node_snapshots: Option<Vec<NodeSnapshot>>,
8044 pub num_cache_nodes: Option<i64>,
8046 pub num_node_groups: Option<i64>,
8048 pub port: Option<i64>,
8050 pub preferred_availability_zone: Option<String>,
8052 pub preferred_maintenance_window: Option<String>,
8054 pub replication_group_description: Option<String>,
8056 pub replication_group_id: Option<String>,
8058 pub snapshot_name: Option<String>,
8060 pub snapshot_retention_limit: Option<i64>,
8062 pub snapshot_source: Option<String>,
8064 pub snapshot_status: Option<String>,
8066 pub snapshot_window: Option<String>,
8068 pub topic_arn: Option<String>,
8070 pub vpc_id: Option<String>,
8072}
8073
8074#[allow(dead_code)]
8075struct SnapshotDeserializer;
8076impl SnapshotDeserializer {
8077 #[allow(dead_code, unused_variables)]
8078 fn deserialize<T: Peek + Next>(
8079 tag_name: &str,
8080 stack: &mut T,
8081 ) -> Result<Snapshot, XmlParseError> {
8082 deserialize_elements::<_, Snapshot, _>(tag_name, stack, |name, stack, obj| {
8083 match name {
8084 "ARN" => {
8085 obj.arn = Some(StringDeserializer::deserialize("ARN", stack)?);
8086 }
8087 "AutoMinorVersionUpgrade" => {
8088 obj.auto_minor_version_upgrade = Some(BooleanDeserializer::deserialize(
8089 "AutoMinorVersionUpgrade",
8090 stack,
8091 )?);
8092 }
8093 "AutomaticFailover" => {
8094 obj.automatic_failover =
8095 Some(AutomaticFailoverStatusDeserializer::deserialize(
8096 "AutomaticFailover",
8097 stack,
8098 )?);
8099 }
8100 "CacheClusterCreateTime" => {
8101 obj.cache_cluster_create_time = Some(TStampDeserializer::deserialize(
8102 "CacheClusterCreateTime",
8103 stack,
8104 )?);
8105 }
8106 "CacheClusterId" => {
8107 obj.cache_cluster_id =
8108 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
8109 }
8110 "CacheNodeType" => {
8111 obj.cache_node_type =
8112 Some(StringDeserializer::deserialize("CacheNodeType", stack)?);
8113 }
8114 "CacheParameterGroupName" => {
8115 obj.cache_parameter_group_name = Some(StringDeserializer::deserialize(
8116 "CacheParameterGroupName",
8117 stack,
8118 )?);
8119 }
8120 "CacheSubnetGroupName" => {
8121 obj.cache_subnet_group_name = Some(StringDeserializer::deserialize(
8122 "CacheSubnetGroupName",
8123 stack,
8124 )?);
8125 }
8126 "Engine" => {
8127 obj.engine = Some(StringDeserializer::deserialize("Engine", stack)?);
8128 }
8129 "EngineVersion" => {
8130 obj.engine_version =
8131 Some(StringDeserializer::deserialize("EngineVersion", stack)?);
8132 }
8133 "KmsKeyId" => {
8134 obj.kms_key_id = Some(StringDeserializer::deserialize("KmsKeyId", stack)?);
8135 }
8136 "NodeSnapshots" => {
8137 obj.node_snapshots.get_or_insert(vec![]).extend(
8138 NodeSnapshotListDeserializer::deserialize("NodeSnapshots", stack)?,
8139 );
8140 }
8141 "NumCacheNodes" => {
8142 obj.num_cache_nodes = Some(IntegerOptionalDeserializer::deserialize(
8143 "NumCacheNodes",
8144 stack,
8145 )?);
8146 }
8147 "NumNodeGroups" => {
8148 obj.num_node_groups = Some(IntegerOptionalDeserializer::deserialize(
8149 "NumNodeGroups",
8150 stack,
8151 )?);
8152 }
8153 "Port" => {
8154 obj.port = Some(IntegerOptionalDeserializer::deserialize("Port", stack)?);
8155 }
8156 "PreferredAvailabilityZone" => {
8157 obj.preferred_availability_zone = Some(StringDeserializer::deserialize(
8158 "PreferredAvailabilityZone",
8159 stack,
8160 )?);
8161 }
8162 "PreferredMaintenanceWindow" => {
8163 obj.preferred_maintenance_window = Some(StringDeserializer::deserialize(
8164 "PreferredMaintenanceWindow",
8165 stack,
8166 )?);
8167 }
8168 "ReplicationGroupDescription" => {
8169 obj.replication_group_description = Some(StringDeserializer::deserialize(
8170 "ReplicationGroupDescription",
8171 stack,
8172 )?);
8173 }
8174 "ReplicationGroupId" => {
8175 obj.replication_group_id = Some(StringDeserializer::deserialize(
8176 "ReplicationGroupId",
8177 stack,
8178 )?);
8179 }
8180 "SnapshotName" => {
8181 obj.snapshot_name =
8182 Some(StringDeserializer::deserialize("SnapshotName", stack)?);
8183 }
8184 "SnapshotRetentionLimit" => {
8185 obj.snapshot_retention_limit = Some(IntegerOptionalDeserializer::deserialize(
8186 "SnapshotRetentionLimit",
8187 stack,
8188 )?);
8189 }
8190 "SnapshotSource" => {
8191 obj.snapshot_source =
8192 Some(StringDeserializer::deserialize("SnapshotSource", stack)?);
8193 }
8194 "SnapshotStatus" => {
8195 obj.snapshot_status =
8196 Some(StringDeserializer::deserialize("SnapshotStatus", stack)?);
8197 }
8198 "SnapshotWindow" => {
8199 obj.snapshot_window =
8200 Some(StringDeserializer::deserialize("SnapshotWindow", stack)?);
8201 }
8202 "TopicArn" => {
8203 obj.topic_arn = Some(StringDeserializer::deserialize("TopicArn", stack)?);
8204 }
8205 "VpcId" => {
8206 obj.vpc_id = Some(StringDeserializer::deserialize("VpcId", stack)?);
8207 }
8208 _ => skip_tree(stack),
8209 }
8210 Ok(())
8211 })
8212 }
8213}
8214
8215struct SnapshotArnsListSerializer;
8217impl SnapshotArnsListSerializer {
8218 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
8219 for (index, obj) in obj.iter().enumerate() {
8220 let key = format!("{}.member.{}", name, index + 1);
8221 params.put(&key, &obj);
8222 }
8223 }
8224}
8225
8226#[allow(dead_code)]
8227struct SnapshotListDeserializer;
8228impl SnapshotListDeserializer {
8229 #[allow(dead_code, unused_variables)]
8230 fn deserialize<T: Peek + Next>(
8231 tag_name: &str,
8232 stack: &mut T,
8233 ) -> Result<Vec<Snapshot>, XmlParseError> {
8234 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8235 if name == "Snapshot" {
8236 obj.push(SnapshotDeserializer::deserialize("Snapshot", stack)?);
8237 } else {
8238 skip_tree(stack);
8239 }
8240 Ok(())
8241 })
8242 }
8243}
8244#[allow(dead_code)]
8245struct SourceTypeDeserializer;
8246impl SourceTypeDeserializer {
8247 #[allow(dead_code, unused_variables)]
8248 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8249 xml_util::deserialize_primitive(tag_name, stack, Ok)
8250 }
8251}
8252#[derive(Clone, Debug, Default, PartialEq)]
8253#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8254pub struct StartMigrationMessage {
8255 pub customer_node_endpoint_list: Vec<CustomerNodeEndpoint>,
8257 pub replication_group_id: String,
8259}
8260
8261struct StartMigrationMessageSerializer;
8263impl StartMigrationMessageSerializer {
8264 fn serialize(params: &mut Params, name: &str, obj: &StartMigrationMessage) {
8265 let mut prefix = name.to_string();
8266 if prefix != "" {
8267 prefix.push_str(".");
8268 }
8269
8270 CustomerNodeEndpointListSerializer::serialize(
8271 params,
8272 &format!("{}{}", prefix, "CustomerNodeEndpointList"),
8273 &obj.customer_node_endpoint_list,
8274 );
8275 params.put(
8276 &format!("{}{}", prefix, "ReplicationGroupId"),
8277 &obj.replication_group_id,
8278 );
8279 }
8280}
8281
8282#[derive(Clone, Debug, Default, PartialEq)]
8283#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8284pub struct StartMigrationResponse {
8285 pub replication_group: Option<ReplicationGroup>,
8286}
8287
8288#[allow(dead_code)]
8289struct StartMigrationResponseDeserializer;
8290impl StartMigrationResponseDeserializer {
8291 #[allow(dead_code, unused_variables)]
8292 fn deserialize<T: Peek + Next>(
8293 tag_name: &str,
8294 stack: &mut T,
8295 ) -> Result<StartMigrationResponse, XmlParseError> {
8296 deserialize_elements::<_, StartMigrationResponse, _>(tag_name, stack, |name, stack, obj| {
8297 match name {
8298 "ReplicationGroup" => {
8299 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
8300 "ReplicationGroup",
8301 stack,
8302 )?);
8303 }
8304 _ => skip_tree(stack),
8305 }
8306 Ok(())
8307 })
8308 }
8309}
8310#[allow(dead_code)]
8311struct StringDeserializer;
8312impl StringDeserializer {
8313 #[allow(dead_code, unused_variables)]
8314 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8315 xml_util::deserialize_primitive(tag_name, stack, Ok)
8316 }
8317}
8318#[derive(Clone, Debug, Default, PartialEq)]
8320#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8321pub struct Subnet {
8322 pub subnet_availability_zone: Option<AvailabilityZone>,
8324 pub subnet_identifier: Option<String>,
8326}
8327
8328#[allow(dead_code)]
8329struct SubnetDeserializer;
8330impl SubnetDeserializer {
8331 #[allow(dead_code, unused_variables)]
8332 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Subnet, XmlParseError> {
8333 deserialize_elements::<_, Subnet, _>(tag_name, stack, |name, stack, obj| {
8334 match name {
8335 "SubnetAvailabilityZone" => {
8336 obj.subnet_availability_zone = Some(AvailabilityZoneDeserializer::deserialize(
8337 "SubnetAvailabilityZone",
8338 stack,
8339 )?);
8340 }
8341 "SubnetIdentifier" => {
8342 obj.subnet_identifier =
8343 Some(StringDeserializer::deserialize("SubnetIdentifier", stack)?);
8344 }
8345 _ => skip_tree(stack),
8346 }
8347 Ok(())
8348 })
8349 }
8350}
8351
8352struct SubnetIdentifierListSerializer;
8354impl SubnetIdentifierListSerializer {
8355 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
8356 for (index, obj) in obj.iter().enumerate() {
8357 let key = format!("{}.member.{}", name, index + 1);
8358 params.put(&key, &obj);
8359 }
8360 }
8361}
8362
8363#[allow(dead_code)]
8364struct SubnetListDeserializer;
8365impl SubnetListDeserializer {
8366 #[allow(dead_code, unused_variables)]
8367 fn deserialize<T: Peek + Next>(
8368 tag_name: &str,
8369 stack: &mut T,
8370 ) -> Result<Vec<Subnet>, XmlParseError> {
8371 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8372 if name == "Subnet" {
8373 obj.push(SubnetDeserializer::deserialize("Subnet", stack)?);
8374 } else {
8375 skip_tree(stack);
8376 }
8377 Ok(())
8378 })
8379 }
8380}
8381#[allow(dead_code)]
8382struct TStampDeserializer;
8383impl TStampDeserializer {
8384 #[allow(dead_code, unused_variables)]
8385 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8386 xml_util::deserialize_primitive(tag_name, stack, Ok)
8387 }
8388}
8389#[derive(Clone, Debug, Default, PartialEq)]
8391#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8392#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8393pub struct Tag {
8394 pub key: Option<String>,
8396 pub value: Option<String>,
8398}
8399
8400#[allow(dead_code)]
8401struct TagDeserializer;
8402impl TagDeserializer {
8403 #[allow(dead_code, unused_variables)]
8404 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<Tag, XmlParseError> {
8405 deserialize_elements::<_, Tag, _>(tag_name, stack, |name, stack, obj| {
8406 match name {
8407 "Key" => {
8408 obj.key = Some(StringDeserializer::deserialize("Key", stack)?);
8409 }
8410 "Value" => {
8411 obj.value = Some(StringDeserializer::deserialize("Value", stack)?);
8412 }
8413 _ => skip_tree(stack),
8414 }
8415 Ok(())
8416 })
8417 }
8418}
8419
8420struct TagSerializer;
8422impl TagSerializer {
8423 fn serialize(params: &mut Params, name: &str, obj: &Tag) {
8424 let mut prefix = name.to_string();
8425 if prefix != "" {
8426 prefix.push_str(".");
8427 }
8428
8429 if let Some(ref field_value) = obj.key {
8430 params.put(&format!("{}{}", prefix, "Key"), &field_value);
8431 }
8432 if let Some(ref field_value) = obj.value {
8433 params.put(&format!("{}{}", prefix, "Value"), &field_value);
8434 }
8435 }
8436}
8437
8438#[allow(dead_code)]
8439struct TagListDeserializer;
8440impl TagListDeserializer {
8441 #[allow(dead_code, unused_variables)]
8442 fn deserialize<T: Peek + Next>(
8443 tag_name: &str,
8444 stack: &mut T,
8445 ) -> Result<Vec<Tag>, XmlParseError> {
8446 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8447 if name == "Tag" {
8448 obj.push(TagDeserializer::deserialize("Tag", stack)?);
8449 } else {
8450 skip_tree(stack);
8451 }
8452 Ok(())
8453 })
8454 }
8455}
8456
8457struct TagListSerializer;
8459impl TagListSerializer {
8460 fn serialize(params: &mut Params, name: &str, obj: &Vec<Tag>) {
8461 for (index, obj) in obj.iter().enumerate() {
8462 let key = format!("{}.member.{}", name, index + 1);
8463 TagSerializer::serialize(params, &key, obj);
8464 }
8465 }
8466}
8467
8468#[derive(Clone, Debug, Default, PartialEq)]
8470#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8471pub struct TagListMessage {
8472 pub tag_list: Option<Vec<Tag>>,
8474}
8475
8476#[allow(dead_code)]
8477struct TagListMessageDeserializer;
8478impl TagListMessageDeserializer {
8479 #[allow(dead_code, unused_variables)]
8480 fn deserialize<T: Peek + Next>(
8481 tag_name: &str,
8482 stack: &mut T,
8483 ) -> Result<TagListMessage, XmlParseError> {
8484 deserialize_elements::<_, TagListMessage, _>(tag_name, stack, |name, stack, obj| {
8485 match name {
8486 "TagList" => {
8487 obj.tag_list
8488 .get_or_insert(vec![])
8489 .extend(TagListDeserializer::deserialize("TagList", stack)?);
8490 }
8491 _ => skip_tree(stack),
8492 }
8493 Ok(())
8494 })
8495 }
8496}
8497#[derive(Clone, Debug, Default, PartialEq)]
8498#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8499pub struct TestFailoverMessage {
8500 pub node_group_id: String,
8502 pub replication_group_id: String,
8504}
8505
8506struct TestFailoverMessageSerializer;
8508impl TestFailoverMessageSerializer {
8509 fn serialize(params: &mut Params, name: &str, obj: &TestFailoverMessage) {
8510 let mut prefix = name.to_string();
8511 if prefix != "" {
8512 prefix.push_str(".");
8513 }
8514
8515 params.put(&format!("{}{}", prefix, "NodeGroupId"), &obj.node_group_id);
8516 params.put(
8517 &format!("{}{}", prefix, "ReplicationGroupId"),
8518 &obj.replication_group_id,
8519 );
8520 }
8521}
8522
8523#[derive(Clone, Debug, Default, PartialEq)]
8524#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8525pub struct TestFailoverResult {
8526 pub replication_group: Option<ReplicationGroup>,
8527}
8528
8529#[allow(dead_code)]
8530struct TestFailoverResultDeserializer;
8531impl TestFailoverResultDeserializer {
8532 #[allow(dead_code, unused_variables)]
8533 fn deserialize<T: Peek + Next>(
8534 tag_name: &str,
8535 stack: &mut T,
8536 ) -> Result<TestFailoverResult, XmlParseError> {
8537 deserialize_elements::<_, TestFailoverResult, _>(tag_name, stack, |name, stack, obj| {
8538 match name {
8539 "ReplicationGroup" => {
8540 obj.replication_group = Some(ReplicationGroupDeserializer::deserialize(
8541 "ReplicationGroup",
8542 stack,
8543 )?);
8544 }
8545 _ => skip_tree(stack),
8546 }
8547 Ok(())
8548 })
8549 }
8550}
8551#[derive(Clone, Debug, Default, PartialEq)]
8553#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
8554pub struct TimeRangeFilter {
8555 pub end_time: Option<String>,
8557 pub start_time: Option<String>,
8559}
8560
8561struct TimeRangeFilterSerializer;
8563impl TimeRangeFilterSerializer {
8564 fn serialize(params: &mut Params, name: &str, obj: &TimeRangeFilter) {
8565 let mut prefix = name.to_string();
8566 if prefix != "" {
8567 prefix.push_str(".");
8568 }
8569
8570 if let Some(ref field_value) = obj.end_time {
8571 params.put(&format!("{}{}", prefix, "EndTime"), &field_value);
8572 }
8573 if let Some(ref field_value) = obj.start_time {
8574 params.put(&format!("{}{}", prefix, "StartTime"), &field_value);
8575 }
8576 }
8577}
8578
8579#[derive(Clone, Debug, Default, PartialEq)]
8581#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8582pub struct UnprocessedUpdateAction {
8583 pub cache_cluster_id: Option<String>,
8585 pub error_message: Option<String>,
8587 pub error_type: Option<String>,
8589 pub replication_group_id: Option<String>,
8591 pub service_update_name: Option<String>,
8593}
8594
8595#[allow(dead_code)]
8596struct UnprocessedUpdateActionDeserializer;
8597impl UnprocessedUpdateActionDeserializer {
8598 #[allow(dead_code, unused_variables)]
8599 fn deserialize<T: Peek + Next>(
8600 tag_name: &str,
8601 stack: &mut T,
8602 ) -> Result<UnprocessedUpdateAction, XmlParseError> {
8603 deserialize_elements::<_, UnprocessedUpdateAction, _>(
8604 tag_name,
8605 stack,
8606 |name, stack, obj| {
8607 match name {
8608 "CacheClusterId" => {
8609 obj.cache_cluster_id =
8610 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
8611 }
8612 "ErrorMessage" => {
8613 obj.error_message =
8614 Some(StringDeserializer::deserialize("ErrorMessage", stack)?);
8615 }
8616 "ErrorType" => {
8617 obj.error_type = Some(StringDeserializer::deserialize("ErrorType", stack)?);
8618 }
8619 "ReplicationGroupId" => {
8620 obj.replication_group_id = Some(StringDeserializer::deserialize(
8621 "ReplicationGroupId",
8622 stack,
8623 )?);
8624 }
8625 "ServiceUpdateName" => {
8626 obj.service_update_name =
8627 Some(StringDeserializer::deserialize("ServiceUpdateName", stack)?);
8628 }
8629 _ => skip_tree(stack),
8630 }
8631 Ok(())
8632 },
8633 )
8634 }
8635}
8636#[allow(dead_code)]
8637struct UnprocessedUpdateActionListDeserializer;
8638impl UnprocessedUpdateActionListDeserializer {
8639 #[allow(dead_code, unused_variables)]
8640 fn deserialize<T: Peek + Next>(
8641 tag_name: &str,
8642 stack: &mut T,
8643 ) -> Result<Vec<UnprocessedUpdateAction>, XmlParseError> {
8644 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8645 if name == "UnprocessedUpdateAction" {
8646 obj.push(UnprocessedUpdateActionDeserializer::deserialize(
8647 "UnprocessedUpdateAction",
8648 stack,
8649 )?);
8650 } else {
8651 skip_tree(stack);
8652 }
8653 Ok(())
8654 })
8655 }
8656}
8657#[derive(Clone, Debug, Default, PartialEq)]
8659#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8660pub struct UpdateAction {
8661 pub cache_cluster_id: Option<String>,
8663 pub cache_node_update_status: Option<Vec<CacheNodeUpdateStatus>>,
8665 pub engine: Option<String>,
8667 pub estimated_update_time: Option<String>,
8669 pub node_group_update_status: Option<Vec<NodeGroupUpdateStatus>>,
8671 pub nodes_updated: Option<String>,
8673 pub replication_group_id: Option<String>,
8675 pub service_update_name: Option<String>,
8677 pub service_update_recommended_apply_by_date: Option<String>,
8679 pub service_update_release_date: Option<String>,
8681 pub service_update_severity: Option<String>,
8683 pub service_update_status: Option<String>,
8685 pub service_update_type: Option<String>,
8687 pub sla_met: Option<String>,
8689 pub update_action_available_date: Option<String>,
8691 pub update_action_status: Option<String>,
8693 pub update_action_status_modified_date: Option<String>,
8695}
8696
8697#[allow(dead_code)]
8698struct UpdateActionDeserializer;
8699impl UpdateActionDeserializer {
8700 #[allow(dead_code, unused_variables)]
8701 fn deserialize<T: Peek + Next>(
8702 tag_name: &str,
8703 stack: &mut T,
8704 ) -> Result<UpdateAction, XmlParseError> {
8705 deserialize_elements::<_, UpdateAction, _>(tag_name, stack, |name, stack, obj| {
8706 match name {
8707 "CacheClusterId" => {
8708 obj.cache_cluster_id =
8709 Some(StringDeserializer::deserialize("CacheClusterId", stack)?);
8710 }
8711 "CacheNodeUpdateStatus" => {
8712 obj.cache_node_update_status.get_or_insert(vec![]).extend(
8713 CacheNodeUpdateStatusListDeserializer::deserialize(
8714 "CacheNodeUpdateStatus",
8715 stack,
8716 )?,
8717 );
8718 }
8719 "Engine" => {
8720 obj.engine = Some(StringDeserializer::deserialize("Engine", stack)?);
8721 }
8722 "EstimatedUpdateTime" => {
8723 obj.estimated_update_time = Some(StringDeserializer::deserialize(
8724 "EstimatedUpdateTime",
8725 stack,
8726 )?);
8727 }
8728 "NodeGroupUpdateStatus" => {
8729 obj.node_group_update_status.get_or_insert(vec![]).extend(
8730 NodeGroupUpdateStatusListDeserializer::deserialize(
8731 "NodeGroupUpdateStatus",
8732 stack,
8733 )?,
8734 );
8735 }
8736 "NodesUpdated" => {
8737 obj.nodes_updated =
8738 Some(StringDeserializer::deserialize("NodesUpdated", stack)?);
8739 }
8740 "ReplicationGroupId" => {
8741 obj.replication_group_id = Some(StringDeserializer::deserialize(
8742 "ReplicationGroupId",
8743 stack,
8744 )?);
8745 }
8746 "ServiceUpdateName" => {
8747 obj.service_update_name =
8748 Some(StringDeserializer::deserialize("ServiceUpdateName", stack)?);
8749 }
8750 "ServiceUpdateRecommendedApplyByDate" => {
8751 obj.service_update_recommended_apply_by_date =
8752 Some(TStampDeserializer::deserialize(
8753 "ServiceUpdateRecommendedApplyByDate",
8754 stack,
8755 )?);
8756 }
8757 "ServiceUpdateReleaseDate" => {
8758 obj.service_update_release_date = Some(TStampDeserializer::deserialize(
8759 "ServiceUpdateReleaseDate",
8760 stack,
8761 )?);
8762 }
8763 "ServiceUpdateSeverity" => {
8764 obj.service_update_severity =
8765 Some(ServiceUpdateSeverityDeserializer::deserialize(
8766 "ServiceUpdateSeverity",
8767 stack,
8768 )?);
8769 }
8770 "ServiceUpdateStatus" => {
8771 obj.service_update_status = Some(ServiceUpdateStatusDeserializer::deserialize(
8772 "ServiceUpdateStatus",
8773 stack,
8774 )?);
8775 }
8776 "ServiceUpdateType" => {
8777 obj.service_update_type = Some(ServiceUpdateTypeDeserializer::deserialize(
8778 "ServiceUpdateType",
8779 stack,
8780 )?);
8781 }
8782 "SlaMet" => {
8783 obj.sla_met = Some(SlaMetDeserializer::deserialize("SlaMet", stack)?);
8784 }
8785 "UpdateActionAvailableDate" => {
8786 obj.update_action_available_date = Some(TStampDeserializer::deserialize(
8787 "UpdateActionAvailableDate",
8788 stack,
8789 )?);
8790 }
8791 "UpdateActionStatus" => {
8792 obj.update_action_status = Some(UpdateActionStatusDeserializer::deserialize(
8793 "UpdateActionStatus",
8794 stack,
8795 )?);
8796 }
8797 "UpdateActionStatusModifiedDate" => {
8798 obj.update_action_status_modified_date = Some(TStampDeserializer::deserialize(
8799 "UpdateActionStatusModifiedDate",
8800 stack,
8801 )?);
8802 }
8803 _ => skip_tree(stack),
8804 }
8805 Ok(())
8806 })
8807 }
8808}
8809#[allow(dead_code)]
8810struct UpdateActionListDeserializer;
8811impl UpdateActionListDeserializer {
8812 #[allow(dead_code, unused_variables)]
8813 fn deserialize<T: Peek + Next>(
8814 tag_name: &str,
8815 stack: &mut T,
8816 ) -> Result<Vec<UpdateAction>, XmlParseError> {
8817 deserialize_elements::<_, Vec<_>, _>(tag_name, stack, |name, stack, obj| {
8818 if name == "UpdateAction" {
8819 obj.push(UpdateActionDeserializer::deserialize(
8820 "UpdateAction",
8821 stack,
8822 )?);
8823 } else {
8824 skip_tree(stack);
8825 }
8826 Ok(())
8827 })
8828 }
8829}
8830#[derive(Clone, Debug, Default, PartialEq)]
8831#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8832pub struct UpdateActionResultsMessage {
8833 pub processed_update_actions: Option<Vec<ProcessedUpdateAction>>,
8835 pub unprocessed_update_actions: Option<Vec<UnprocessedUpdateAction>>,
8837}
8838
8839#[allow(dead_code)]
8840struct UpdateActionResultsMessageDeserializer;
8841impl UpdateActionResultsMessageDeserializer {
8842 #[allow(dead_code, unused_variables)]
8843 fn deserialize<T: Peek + Next>(
8844 tag_name: &str,
8845 stack: &mut T,
8846 ) -> Result<UpdateActionResultsMessage, XmlParseError> {
8847 deserialize_elements::<_, UpdateActionResultsMessage, _>(
8848 tag_name,
8849 stack,
8850 |name, stack, obj| {
8851 match name {
8852 "ProcessedUpdateActions" => {
8853 obj.processed_update_actions.get_or_insert(vec![]).extend(
8854 ProcessedUpdateActionListDeserializer::deserialize(
8855 "ProcessedUpdateActions",
8856 stack,
8857 )?,
8858 );
8859 }
8860 "UnprocessedUpdateActions" => {
8861 obj.unprocessed_update_actions.get_or_insert(vec![]).extend(
8862 UnprocessedUpdateActionListDeserializer::deserialize(
8863 "UnprocessedUpdateActions",
8864 stack,
8865 )?,
8866 );
8867 }
8868 _ => skip_tree(stack),
8869 }
8870 Ok(())
8871 },
8872 )
8873 }
8874}
8875#[allow(dead_code)]
8876struct UpdateActionStatusDeserializer;
8877impl UpdateActionStatusDeserializer {
8878 #[allow(dead_code, unused_variables)]
8879 fn deserialize<T: Peek + Next>(tag_name: &str, stack: &mut T) -> Result<String, XmlParseError> {
8880 xml_util::deserialize_primitive(tag_name, stack, Ok)
8881 }
8882}
8883
8884struct UpdateActionStatusListSerializer;
8886impl UpdateActionStatusListSerializer {
8887 fn serialize(params: &mut Params, name: &str, obj: &Vec<String>) {
8888 for (index, obj) in obj.iter().enumerate() {
8889 let key = format!("{}.member.{}", name, index + 1);
8890 params.put(&key, &obj);
8891 }
8892 }
8893}
8894
8895#[derive(Clone, Debug, Default, PartialEq)]
8896#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
8897pub struct UpdateActionsMessage {
8898 pub marker: Option<String>,
8900 pub update_actions: Option<Vec<UpdateAction>>,
8902}
8903
8904#[allow(dead_code)]
8905struct UpdateActionsMessageDeserializer;
8906impl UpdateActionsMessageDeserializer {
8907 #[allow(dead_code, unused_variables)]
8908 fn deserialize<T: Peek + Next>(
8909 tag_name: &str,
8910 stack: &mut T,
8911 ) -> Result<UpdateActionsMessage, XmlParseError> {
8912 deserialize_elements::<_, UpdateActionsMessage, _>(tag_name, stack, |name, stack, obj| {
8913 match name {
8914 "Marker" => {
8915 obj.marker = Some(StringDeserializer::deserialize("Marker", stack)?);
8916 }
8917 "UpdateActions" => {
8918 obj.update_actions.get_or_insert(vec![]).extend(
8919 UpdateActionListDeserializer::deserialize("UpdateActions", stack)?,
8920 );
8921 }
8922 _ => skip_tree(stack),
8923 }
8924 Ok(())
8925 })
8926 }
8927}
8928#[derive(Debug, PartialEq)]
8930pub enum AddTagsToResourceError {
8931 CacheClusterNotFoundFault(String),
8933 InvalidARNFault(String),
8935 SnapshotNotFoundFault(String),
8937 TagQuotaPerResourceExceeded(String),
8939}
8940
8941impl AddTagsToResourceError {
8942 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<AddTagsToResourceError> {
8943 {
8944 let reader = EventReader::new(res.body.as_ref());
8945 let mut stack = XmlResponse::new(reader.into_iter().peekable());
8946 find_start_element(&mut stack);
8947 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
8948 match &parsed_error.code[..] {
8949 "CacheClusterNotFound" => {
8950 return RusotoError::Service(
8951 AddTagsToResourceError::CacheClusterNotFoundFault(parsed_error.message),
8952 )
8953 }
8954 "InvalidARN" => {
8955 return RusotoError::Service(AddTagsToResourceError::InvalidARNFault(
8956 parsed_error.message,
8957 ))
8958 }
8959 "SnapshotNotFoundFault" => {
8960 return RusotoError::Service(AddTagsToResourceError::SnapshotNotFoundFault(
8961 parsed_error.message,
8962 ))
8963 }
8964 "TagQuotaPerResourceExceeded" => {
8965 return RusotoError::Service(
8966 AddTagsToResourceError::TagQuotaPerResourceExceeded(
8967 parsed_error.message,
8968 ),
8969 )
8970 }
8971 _ => {}
8972 }
8973 }
8974 }
8975 RusotoError::Unknown(res)
8976 }
8977
8978 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
8979 where
8980 T: Peek + Next,
8981 {
8982 xml_util::start_element("ErrorResponse", stack)?;
8983 XmlErrorDeserializer::deserialize("Error", stack)
8984 }
8985}
8986impl fmt::Display for AddTagsToResourceError {
8987 #[allow(unused_variables)]
8988 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8989 match *self {
8990 AddTagsToResourceError::CacheClusterNotFoundFault(ref cause) => write!(f, "{}", cause),
8991 AddTagsToResourceError::InvalidARNFault(ref cause) => write!(f, "{}", cause),
8992 AddTagsToResourceError::SnapshotNotFoundFault(ref cause) => write!(f, "{}", cause),
8993 AddTagsToResourceError::TagQuotaPerResourceExceeded(ref cause) => {
8994 write!(f, "{}", cause)
8995 }
8996 }
8997 }
8998}
8999impl Error for AddTagsToResourceError {}
9000#[derive(Debug, PartialEq)]
9002pub enum AuthorizeCacheSecurityGroupIngressError {
9003 AuthorizationAlreadyExistsFault(String),
9005 CacheSecurityGroupNotFoundFault(String),
9007 InvalidCacheSecurityGroupStateFault(String),
9009 InvalidParameterCombination(String),
9011 InvalidParameterValue(String),
9013}
9014
9015impl AuthorizeCacheSecurityGroupIngressError {
9016 pub fn from_response(
9017 res: BufferedHttpResponse,
9018 ) -> RusotoError<AuthorizeCacheSecurityGroupIngressError> {
9019 {
9020 let reader = EventReader::new(res.body.as_ref());
9021 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9022 find_start_element(&mut stack);
9023 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9024 match &parsed_error.code[..] {
9025 "AuthorizationAlreadyExists" => return RusotoError::Service(AuthorizeCacheSecurityGroupIngressError::AuthorizationAlreadyExistsFault(parsed_error.message)),"CacheSecurityGroupNotFound" => return RusotoError::Service(AuthorizeCacheSecurityGroupIngressError::CacheSecurityGroupNotFoundFault(parsed_error.message)),"InvalidCacheSecurityGroupState" => return RusotoError::Service(AuthorizeCacheSecurityGroupIngressError::InvalidCacheSecurityGroupStateFault(parsed_error.message)),"InvalidParameterCombination" => return RusotoError::Service(AuthorizeCacheSecurityGroupIngressError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(AuthorizeCacheSecurityGroupIngressError::InvalidParameterValue(parsed_error.message)),_ => {}
9026 }
9027 }
9028 }
9029 RusotoError::Unknown(res)
9030 }
9031
9032 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9033 where
9034 T: Peek + Next,
9035 {
9036 xml_util::start_element("ErrorResponse", stack)?;
9037 XmlErrorDeserializer::deserialize("Error", stack)
9038 }
9039}
9040impl fmt::Display for AuthorizeCacheSecurityGroupIngressError {
9041 #[allow(unused_variables)]
9042 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9043 match *self {
9044 AuthorizeCacheSecurityGroupIngressError::AuthorizationAlreadyExistsFault(ref cause) => {
9045 write!(f, "{}", cause)
9046 }
9047 AuthorizeCacheSecurityGroupIngressError::CacheSecurityGroupNotFoundFault(ref cause) => {
9048 write!(f, "{}", cause)
9049 }
9050 AuthorizeCacheSecurityGroupIngressError::InvalidCacheSecurityGroupStateFault(
9051 ref cause,
9052 ) => write!(f, "{}", cause),
9053 AuthorizeCacheSecurityGroupIngressError::InvalidParameterCombination(ref cause) => {
9054 write!(f, "{}", cause)
9055 }
9056 AuthorizeCacheSecurityGroupIngressError::InvalidParameterValue(ref cause) => {
9057 write!(f, "{}", cause)
9058 }
9059 }
9060 }
9061}
9062impl Error for AuthorizeCacheSecurityGroupIngressError {}
9063#[derive(Debug, PartialEq)]
9065pub enum BatchApplyUpdateActionError {
9066 InvalidParameterValue(String),
9068 ServiceUpdateNotFoundFault(String),
9070}
9071
9072impl BatchApplyUpdateActionError {
9073 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchApplyUpdateActionError> {
9074 {
9075 let reader = EventReader::new(res.body.as_ref());
9076 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9077 find_start_element(&mut stack);
9078 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9079 match &parsed_error.code[..] {
9080 "InvalidParameterValue" => {
9081 return RusotoError::Service(
9082 BatchApplyUpdateActionError::InvalidParameterValue(
9083 parsed_error.message,
9084 ),
9085 )
9086 }
9087 "ServiceUpdateNotFoundFault" => {
9088 return RusotoError::Service(
9089 BatchApplyUpdateActionError::ServiceUpdateNotFoundFault(
9090 parsed_error.message,
9091 ),
9092 )
9093 }
9094 _ => {}
9095 }
9096 }
9097 }
9098 RusotoError::Unknown(res)
9099 }
9100
9101 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9102 where
9103 T: Peek + Next,
9104 {
9105 xml_util::start_element("ErrorResponse", stack)?;
9106 XmlErrorDeserializer::deserialize("Error", stack)
9107 }
9108}
9109impl fmt::Display for BatchApplyUpdateActionError {
9110 #[allow(unused_variables)]
9111 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9112 match *self {
9113 BatchApplyUpdateActionError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
9114 BatchApplyUpdateActionError::ServiceUpdateNotFoundFault(ref cause) => {
9115 write!(f, "{}", cause)
9116 }
9117 }
9118 }
9119}
9120impl Error for BatchApplyUpdateActionError {}
9121#[derive(Debug, PartialEq)]
9123pub enum BatchStopUpdateActionError {
9124 InvalidParameterValue(String),
9126 ServiceUpdateNotFoundFault(String),
9128}
9129
9130impl BatchStopUpdateActionError {
9131 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchStopUpdateActionError> {
9132 {
9133 let reader = EventReader::new(res.body.as_ref());
9134 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9135 find_start_element(&mut stack);
9136 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9137 match &parsed_error.code[..] {
9138 "InvalidParameterValue" => {
9139 return RusotoError::Service(
9140 BatchStopUpdateActionError::InvalidParameterValue(parsed_error.message),
9141 )
9142 }
9143 "ServiceUpdateNotFoundFault" => {
9144 return RusotoError::Service(
9145 BatchStopUpdateActionError::ServiceUpdateNotFoundFault(
9146 parsed_error.message,
9147 ),
9148 )
9149 }
9150 _ => {}
9151 }
9152 }
9153 }
9154 RusotoError::Unknown(res)
9155 }
9156
9157 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9158 where
9159 T: Peek + Next,
9160 {
9161 xml_util::start_element("ErrorResponse", stack)?;
9162 XmlErrorDeserializer::deserialize("Error", stack)
9163 }
9164}
9165impl fmt::Display for BatchStopUpdateActionError {
9166 #[allow(unused_variables)]
9167 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9168 match *self {
9169 BatchStopUpdateActionError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
9170 BatchStopUpdateActionError::ServiceUpdateNotFoundFault(ref cause) => {
9171 write!(f, "{}", cause)
9172 }
9173 }
9174 }
9175}
9176impl Error for BatchStopUpdateActionError {}
9177#[derive(Debug, PartialEq)]
9179pub enum CompleteMigrationError {
9180 InvalidReplicationGroupStateFault(String),
9182 ReplicationGroupNotFoundFault(String),
9184 ReplicationGroupNotUnderMigrationFault(String),
9186}
9187
9188impl CompleteMigrationError {
9189 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CompleteMigrationError> {
9190 {
9191 let reader = EventReader::new(res.body.as_ref());
9192 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9193 find_start_element(&mut stack);
9194 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9195 match &parsed_error.code[..] {
9196 "InvalidReplicationGroupState" => {
9197 return RusotoError::Service(
9198 CompleteMigrationError::InvalidReplicationGroupStateFault(
9199 parsed_error.message,
9200 ),
9201 )
9202 }
9203 "ReplicationGroupNotFoundFault" => {
9204 return RusotoError::Service(
9205 CompleteMigrationError::ReplicationGroupNotFoundFault(
9206 parsed_error.message,
9207 ),
9208 )
9209 }
9210 "ReplicationGroupNotUnderMigrationFault" => {
9211 return RusotoError::Service(
9212 CompleteMigrationError::ReplicationGroupNotUnderMigrationFault(
9213 parsed_error.message,
9214 ),
9215 )
9216 }
9217 _ => {}
9218 }
9219 }
9220 }
9221 RusotoError::Unknown(res)
9222 }
9223
9224 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9225 where
9226 T: Peek + Next,
9227 {
9228 xml_util::start_element("ErrorResponse", stack)?;
9229 XmlErrorDeserializer::deserialize("Error", stack)
9230 }
9231}
9232impl fmt::Display for CompleteMigrationError {
9233 #[allow(unused_variables)]
9234 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9235 match *self {
9236 CompleteMigrationError::InvalidReplicationGroupStateFault(ref cause) => {
9237 write!(f, "{}", cause)
9238 }
9239 CompleteMigrationError::ReplicationGroupNotFoundFault(ref cause) => {
9240 write!(f, "{}", cause)
9241 }
9242 CompleteMigrationError::ReplicationGroupNotUnderMigrationFault(ref cause) => {
9243 write!(f, "{}", cause)
9244 }
9245 }
9246 }
9247}
9248impl Error for CompleteMigrationError {}
9249#[derive(Debug, PartialEq)]
9251pub enum CopySnapshotError {
9252 InvalidParameterCombination(String),
9254 InvalidParameterValue(String),
9256 InvalidSnapshotStateFault(String),
9258 SnapshotAlreadyExistsFault(String),
9260 SnapshotNotFoundFault(String),
9262 SnapshotQuotaExceededFault(String),
9264}
9265
9266impl CopySnapshotError {
9267 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CopySnapshotError> {
9268 {
9269 let reader = EventReader::new(res.body.as_ref());
9270 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9271 find_start_element(&mut stack);
9272 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9273 match &parsed_error.code[..] {
9274 "InvalidParameterCombination" => {
9275 return RusotoError::Service(
9276 CopySnapshotError::InvalidParameterCombination(parsed_error.message),
9277 )
9278 }
9279 "InvalidParameterValue" => {
9280 return RusotoError::Service(CopySnapshotError::InvalidParameterValue(
9281 parsed_error.message,
9282 ))
9283 }
9284 "InvalidSnapshotState" => {
9285 return RusotoError::Service(CopySnapshotError::InvalidSnapshotStateFault(
9286 parsed_error.message,
9287 ))
9288 }
9289 "SnapshotAlreadyExistsFault" => {
9290 return RusotoError::Service(CopySnapshotError::SnapshotAlreadyExistsFault(
9291 parsed_error.message,
9292 ))
9293 }
9294 "SnapshotNotFoundFault" => {
9295 return RusotoError::Service(CopySnapshotError::SnapshotNotFoundFault(
9296 parsed_error.message,
9297 ))
9298 }
9299 "SnapshotQuotaExceededFault" => {
9300 return RusotoError::Service(CopySnapshotError::SnapshotQuotaExceededFault(
9301 parsed_error.message,
9302 ))
9303 }
9304 _ => {}
9305 }
9306 }
9307 }
9308 RusotoError::Unknown(res)
9309 }
9310
9311 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9312 where
9313 T: Peek + Next,
9314 {
9315 xml_util::start_element("ErrorResponse", stack)?;
9316 XmlErrorDeserializer::deserialize("Error", stack)
9317 }
9318}
9319impl fmt::Display for CopySnapshotError {
9320 #[allow(unused_variables)]
9321 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9322 match *self {
9323 CopySnapshotError::InvalidParameterCombination(ref cause) => write!(f, "{}", cause),
9324 CopySnapshotError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
9325 CopySnapshotError::InvalidSnapshotStateFault(ref cause) => write!(f, "{}", cause),
9326 CopySnapshotError::SnapshotAlreadyExistsFault(ref cause) => write!(f, "{}", cause),
9327 CopySnapshotError::SnapshotNotFoundFault(ref cause) => write!(f, "{}", cause),
9328 CopySnapshotError::SnapshotQuotaExceededFault(ref cause) => write!(f, "{}", cause),
9329 }
9330 }
9331}
9332impl Error for CopySnapshotError {}
9333#[derive(Debug, PartialEq)]
9335pub enum CreateCacheClusterError {
9336 CacheClusterAlreadyExistsFault(String),
9338 CacheParameterGroupNotFoundFault(String),
9340 CacheSecurityGroupNotFoundFault(String),
9342 CacheSubnetGroupNotFoundFault(String),
9344 ClusterQuotaForCustomerExceededFault(String),
9346 InsufficientCacheClusterCapacityFault(String),
9348 InvalidParameterCombination(String),
9350 InvalidParameterValue(String),
9352 InvalidReplicationGroupStateFault(String),
9354 InvalidVPCNetworkStateFault(String),
9356 NodeQuotaForClusterExceededFault(String),
9358 NodeQuotaForCustomerExceededFault(String),
9360 ReplicationGroupNotFoundFault(String),
9362 TagQuotaPerResourceExceeded(String),
9364}
9365
9366impl CreateCacheClusterError {
9367 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateCacheClusterError> {
9368 {
9369 let reader = EventReader::new(res.body.as_ref());
9370 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9371 find_start_element(&mut stack);
9372 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9373 match &parsed_error.code[..] {
9374 "CacheClusterAlreadyExists" => {
9375 return RusotoError::Service(
9376 CreateCacheClusterError::CacheClusterAlreadyExistsFault(
9377 parsed_error.message,
9378 ),
9379 )
9380 }
9381 "CacheParameterGroupNotFound" => {
9382 return RusotoError::Service(
9383 CreateCacheClusterError::CacheParameterGroupNotFoundFault(
9384 parsed_error.message,
9385 ),
9386 )
9387 }
9388 "CacheSecurityGroupNotFound" => {
9389 return RusotoError::Service(
9390 CreateCacheClusterError::CacheSecurityGroupNotFoundFault(
9391 parsed_error.message,
9392 ),
9393 )
9394 }
9395 "CacheSubnetGroupNotFoundFault" => {
9396 return RusotoError::Service(
9397 CreateCacheClusterError::CacheSubnetGroupNotFoundFault(
9398 parsed_error.message,
9399 ),
9400 )
9401 }
9402 "ClusterQuotaForCustomerExceeded" => {
9403 return RusotoError::Service(
9404 CreateCacheClusterError::ClusterQuotaForCustomerExceededFault(
9405 parsed_error.message,
9406 ),
9407 )
9408 }
9409 "InsufficientCacheClusterCapacity" => {
9410 return RusotoError::Service(
9411 CreateCacheClusterError::InsufficientCacheClusterCapacityFault(
9412 parsed_error.message,
9413 ),
9414 )
9415 }
9416 "InvalidParameterCombination" => {
9417 return RusotoError::Service(
9418 CreateCacheClusterError::InvalidParameterCombination(
9419 parsed_error.message,
9420 ),
9421 )
9422 }
9423 "InvalidParameterValue" => {
9424 return RusotoError::Service(
9425 CreateCacheClusterError::InvalidParameterValue(parsed_error.message),
9426 )
9427 }
9428 "InvalidReplicationGroupState" => {
9429 return RusotoError::Service(
9430 CreateCacheClusterError::InvalidReplicationGroupStateFault(
9431 parsed_error.message,
9432 ),
9433 )
9434 }
9435 "InvalidVPCNetworkStateFault" => {
9436 return RusotoError::Service(
9437 CreateCacheClusterError::InvalidVPCNetworkStateFault(
9438 parsed_error.message,
9439 ),
9440 )
9441 }
9442 "NodeQuotaForClusterExceeded" => {
9443 return RusotoError::Service(
9444 CreateCacheClusterError::NodeQuotaForClusterExceededFault(
9445 parsed_error.message,
9446 ),
9447 )
9448 }
9449 "NodeQuotaForCustomerExceeded" => {
9450 return RusotoError::Service(
9451 CreateCacheClusterError::NodeQuotaForCustomerExceededFault(
9452 parsed_error.message,
9453 ),
9454 )
9455 }
9456 "ReplicationGroupNotFoundFault" => {
9457 return RusotoError::Service(
9458 CreateCacheClusterError::ReplicationGroupNotFoundFault(
9459 parsed_error.message,
9460 ),
9461 )
9462 }
9463 "TagQuotaPerResourceExceeded" => {
9464 return RusotoError::Service(
9465 CreateCacheClusterError::TagQuotaPerResourceExceeded(
9466 parsed_error.message,
9467 ),
9468 )
9469 }
9470 _ => {}
9471 }
9472 }
9473 }
9474 RusotoError::Unknown(res)
9475 }
9476
9477 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9478 where
9479 T: Peek + Next,
9480 {
9481 xml_util::start_element("ErrorResponse", stack)?;
9482 XmlErrorDeserializer::deserialize("Error", stack)
9483 }
9484}
9485impl fmt::Display for CreateCacheClusterError {
9486 #[allow(unused_variables)]
9487 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9488 match *self {
9489 CreateCacheClusterError::CacheClusterAlreadyExistsFault(ref cause) => {
9490 write!(f, "{}", cause)
9491 }
9492 CreateCacheClusterError::CacheParameterGroupNotFoundFault(ref cause) => {
9493 write!(f, "{}", cause)
9494 }
9495 CreateCacheClusterError::CacheSecurityGroupNotFoundFault(ref cause) => {
9496 write!(f, "{}", cause)
9497 }
9498 CreateCacheClusterError::CacheSubnetGroupNotFoundFault(ref cause) => {
9499 write!(f, "{}", cause)
9500 }
9501 CreateCacheClusterError::ClusterQuotaForCustomerExceededFault(ref cause) => {
9502 write!(f, "{}", cause)
9503 }
9504 CreateCacheClusterError::InsufficientCacheClusterCapacityFault(ref cause) => {
9505 write!(f, "{}", cause)
9506 }
9507 CreateCacheClusterError::InvalidParameterCombination(ref cause) => {
9508 write!(f, "{}", cause)
9509 }
9510 CreateCacheClusterError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
9511 CreateCacheClusterError::InvalidReplicationGroupStateFault(ref cause) => {
9512 write!(f, "{}", cause)
9513 }
9514 CreateCacheClusterError::InvalidVPCNetworkStateFault(ref cause) => {
9515 write!(f, "{}", cause)
9516 }
9517 CreateCacheClusterError::NodeQuotaForClusterExceededFault(ref cause) => {
9518 write!(f, "{}", cause)
9519 }
9520 CreateCacheClusterError::NodeQuotaForCustomerExceededFault(ref cause) => {
9521 write!(f, "{}", cause)
9522 }
9523 CreateCacheClusterError::ReplicationGroupNotFoundFault(ref cause) => {
9524 write!(f, "{}", cause)
9525 }
9526 CreateCacheClusterError::TagQuotaPerResourceExceeded(ref cause) => {
9527 write!(f, "{}", cause)
9528 }
9529 }
9530 }
9531}
9532impl Error for CreateCacheClusterError {}
9533#[derive(Debug, PartialEq)]
9535pub enum CreateCacheParameterGroupError {
9536 CacheParameterGroupAlreadyExistsFault(String),
9538 CacheParameterGroupQuotaExceededFault(String),
9540 InvalidCacheParameterGroupStateFault(String),
9542 InvalidParameterCombination(String),
9544 InvalidParameterValue(String),
9546}
9547
9548impl CreateCacheParameterGroupError {
9549 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateCacheParameterGroupError> {
9550 {
9551 let reader = EventReader::new(res.body.as_ref());
9552 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9553 find_start_element(&mut stack);
9554 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9555 match &parsed_error.code[..] {
9556 "CacheParameterGroupAlreadyExists" => {
9557 return RusotoError::Service(
9558 CreateCacheParameterGroupError::CacheParameterGroupAlreadyExistsFault(
9559 parsed_error.message,
9560 ),
9561 )
9562 }
9563 "CacheParameterGroupQuotaExceeded" => {
9564 return RusotoError::Service(
9565 CreateCacheParameterGroupError::CacheParameterGroupQuotaExceededFault(
9566 parsed_error.message,
9567 ),
9568 )
9569 }
9570 "InvalidCacheParameterGroupState" => {
9571 return RusotoError::Service(
9572 CreateCacheParameterGroupError::InvalidCacheParameterGroupStateFault(
9573 parsed_error.message,
9574 ),
9575 )
9576 }
9577 "InvalidParameterCombination" => {
9578 return RusotoError::Service(
9579 CreateCacheParameterGroupError::InvalidParameterCombination(
9580 parsed_error.message,
9581 ),
9582 )
9583 }
9584 "InvalidParameterValue" => {
9585 return RusotoError::Service(
9586 CreateCacheParameterGroupError::InvalidParameterValue(
9587 parsed_error.message,
9588 ),
9589 )
9590 }
9591 _ => {}
9592 }
9593 }
9594 }
9595 RusotoError::Unknown(res)
9596 }
9597
9598 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9599 where
9600 T: Peek + Next,
9601 {
9602 xml_util::start_element("ErrorResponse", stack)?;
9603 XmlErrorDeserializer::deserialize("Error", stack)
9604 }
9605}
9606impl fmt::Display for CreateCacheParameterGroupError {
9607 #[allow(unused_variables)]
9608 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9609 match *self {
9610 CreateCacheParameterGroupError::CacheParameterGroupAlreadyExistsFault(ref cause) => {
9611 write!(f, "{}", cause)
9612 }
9613 CreateCacheParameterGroupError::CacheParameterGroupQuotaExceededFault(ref cause) => {
9614 write!(f, "{}", cause)
9615 }
9616 CreateCacheParameterGroupError::InvalidCacheParameterGroupStateFault(ref cause) => {
9617 write!(f, "{}", cause)
9618 }
9619 CreateCacheParameterGroupError::InvalidParameterCombination(ref cause) => {
9620 write!(f, "{}", cause)
9621 }
9622 CreateCacheParameterGroupError::InvalidParameterValue(ref cause) => {
9623 write!(f, "{}", cause)
9624 }
9625 }
9626 }
9627}
9628impl Error for CreateCacheParameterGroupError {}
9629#[derive(Debug, PartialEq)]
9631pub enum CreateCacheSecurityGroupError {
9632 CacheSecurityGroupAlreadyExistsFault(String),
9634 CacheSecurityGroupQuotaExceededFault(String),
9636 InvalidParameterCombination(String),
9638 InvalidParameterValue(String),
9640}
9641
9642impl CreateCacheSecurityGroupError {
9643 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateCacheSecurityGroupError> {
9644 {
9645 let reader = EventReader::new(res.body.as_ref());
9646 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9647 find_start_element(&mut stack);
9648 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9649 match &parsed_error.code[..] {
9650 "CacheSecurityGroupAlreadyExists" => {
9651 return RusotoError::Service(
9652 CreateCacheSecurityGroupError::CacheSecurityGroupAlreadyExistsFault(
9653 parsed_error.message,
9654 ),
9655 )
9656 }
9657 "QuotaExceeded.CacheSecurityGroup" => {
9658 return RusotoError::Service(
9659 CreateCacheSecurityGroupError::CacheSecurityGroupQuotaExceededFault(
9660 parsed_error.message,
9661 ),
9662 )
9663 }
9664 "InvalidParameterCombination" => {
9665 return RusotoError::Service(
9666 CreateCacheSecurityGroupError::InvalidParameterCombination(
9667 parsed_error.message,
9668 ),
9669 )
9670 }
9671 "InvalidParameterValue" => {
9672 return RusotoError::Service(
9673 CreateCacheSecurityGroupError::InvalidParameterValue(
9674 parsed_error.message,
9675 ),
9676 )
9677 }
9678 _ => {}
9679 }
9680 }
9681 }
9682 RusotoError::Unknown(res)
9683 }
9684
9685 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9686 where
9687 T: Peek + Next,
9688 {
9689 xml_util::start_element("ErrorResponse", stack)?;
9690 XmlErrorDeserializer::deserialize("Error", stack)
9691 }
9692}
9693impl fmt::Display for CreateCacheSecurityGroupError {
9694 #[allow(unused_variables)]
9695 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9696 match *self {
9697 CreateCacheSecurityGroupError::CacheSecurityGroupAlreadyExistsFault(ref cause) => {
9698 write!(f, "{}", cause)
9699 }
9700 CreateCacheSecurityGroupError::CacheSecurityGroupQuotaExceededFault(ref cause) => {
9701 write!(f, "{}", cause)
9702 }
9703 CreateCacheSecurityGroupError::InvalidParameterCombination(ref cause) => {
9704 write!(f, "{}", cause)
9705 }
9706 CreateCacheSecurityGroupError::InvalidParameterValue(ref cause) => {
9707 write!(f, "{}", cause)
9708 }
9709 }
9710 }
9711}
9712impl Error for CreateCacheSecurityGroupError {}
9713#[derive(Debug, PartialEq)]
9715pub enum CreateCacheSubnetGroupError {
9716 CacheSubnetGroupAlreadyExistsFault(String),
9718 CacheSubnetGroupQuotaExceededFault(String),
9720 CacheSubnetQuotaExceededFault(String),
9722 InvalidSubnet(String),
9724}
9725
9726impl CreateCacheSubnetGroupError {
9727 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateCacheSubnetGroupError> {
9728 {
9729 let reader = EventReader::new(res.body.as_ref());
9730 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9731 find_start_element(&mut stack);
9732 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9733 match &parsed_error.code[..] {
9734 "CacheSubnetGroupAlreadyExists" => {
9735 return RusotoError::Service(
9736 CreateCacheSubnetGroupError::CacheSubnetGroupAlreadyExistsFault(
9737 parsed_error.message,
9738 ),
9739 )
9740 }
9741 "CacheSubnetGroupQuotaExceeded" => {
9742 return RusotoError::Service(
9743 CreateCacheSubnetGroupError::CacheSubnetGroupQuotaExceededFault(
9744 parsed_error.message,
9745 ),
9746 )
9747 }
9748 "CacheSubnetQuotaExceededFault" => {
9749 return RusotoError::Service(
9750 CreateCacheSubnetGroupError::CacheSubnetQuotaExceededFault(
9751 parsed_error.message,
9752 ),
9753 )
9754 }
9755 "InvalidSubnet" => {
9756 return RusotoError::Service(CreateCacheSubnetGroupError::InvalidSubnet(
9757 parsed_error.message,
9758 ))
9759 }
9760 _ => {}
9761 }
9762 }
9763 }
9764 RusotoError::Unknown(res)
9765 }
9766
9767 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9768 where
9769 T: Peek + Next,
9770 {
9771 xml_util::start_element("ErrorResponse", stack)?;
9772 XmlErrorDeserializer::deserialize("Error", stack)
9773 }
9774}
9775impl fmt::Display for CreateCacheSubnetGroupError {
9776 #[allow(unused_variables)]
9777 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9778 match *self {
9779 CreateCacheSubnetGroupError::CacheSubnetGroupAlreadyExistsFault(ref cause) => {
9780 write!(f, "{}", cause)
9781 }
9782 CreateCacheSubnetGroupError::CacheSubnetGroupQuotaExceededFault(ref cause) => {
9783 write!(f, "{}", cause)
9784 }
9785 CreateCacheSubnetGroupError::CacheSubnetQuotaExceededFault(ref cause) => {
9786 write!(f, "{}", cause)
9787 }
9788 CreateCacheSubnetGroupError::InvalidSubnet(ref cause) => write!(f, "{}", cause),
9789 }
9790 }
9791}
9792impl Error for CreateCacheSubnetGroupError {}
9793#[derive(Debug, PartialEq)]
9795pub enum CreateGlobalReplicationGroupError {
9796 GlobalReplicationGroupAlreadyExistsFault(String),
9798 InvalidParameterValue(String),
9800 InvalidReplicationGroupStateFault(String),
9802 ReplicationGroupNotFoundFault(String),
9804 ServiceLinkedRoleNotFoundFault(String),
9806}
9807
9808impl CreateGlobalReplicationGroupError {
9809 pub fn from_response(
9810 res: BufferedHttpResponse,
9811 ) -> RusotoError<CreateGlobalReplicationGroupError> {
9812 {
9813 let reader = EventReader::new(res.body.as_ref());
9814 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9815 find_start_element(&mut stack);
9816 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9817 match &parsed_error.code[..] {
9818 "GlobalReplicationGroupAlreadyExistsFault" => return RusotoError::Service(
9819 CreateGlobalReplicationGroupError::GlobalReplicationGroupAlreadyExistsFault(
9820 parsed_error.message,
9821 ),
9822 ),
9823 "InvalidParameterValue" => {
9824 return RusotoError::Service(
9825 CreateGlobalReplicationGroupError::InvalidParameterValue(
9826 parsed_error.message,
9827 ),
9828 )
9829 }
9830 "InvalidReplicationGroupState" => {
9831 return RusotoError::Service(
9832 CreateGlobalReplicationGroupError::InvalidReplicationGroupStateFault(
9833 parsed_error.message,
9834 ),
9835 )
9836 }
9837 "ReplicationGroupNotFoundFault" => {
9838 return RusotoError::Service(
9839 CreateGlobalReplicationGroupError::ReplicationGroupNotFoundFault(
9840 parsed_error.message,
9841 ),
9842 )
9843 }
9844 "ServiceLinkedRoleNotFoundFault" => {
9845 return RusotoError::Service(
9846 CreateGlobalReplicationGroupError::ServiceLinkedRoleNotFoundFault(
9847 parsed_error.message,
9848 ),
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 CreateGlobalReplicationGroupError {
9867 #[allow(unused_variables)]
9868 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9869 match *self {
9870 CreateGlobalReplicationGroupError::GlobalReplicationGroupAlreadyExistsFault(
9871 ref cause,
9872 ) => write!(f, "{}", cause),
9873 CreateGlobalReplicationGroupError::InvalidParameterValue(ref cause) => {
9874 write!(f, "{}", cause)
9875 }
9876 CreateGlobalReplicationGroupError::InvalidReplicationGroupStateFault(ref cause) => {
9877 write!(f, "{}", cause)
9878 }
9879 CreateGlobalReplicationGroupError::ReplicationGroupNotFoundFault(ref cause) => {
9880 write!(f, "{}", cause)
9881 }
9882 CreateGlobalReplicationGroupError::ServiceLinkedRoleNotFoundFault(ref cause) => {
9883 write!(f, "{}", cause)
9884 }
9885 }
9886 }
9887}
9888impl Error for CreateGlobalReplicationGroupError {}
9889#[derive(Debug, PartialEq)]
9891pub enum CreateReplicationGroupError {
9892 CacheClusterNotFoundFault(String),
9894 CacheParameterGroupNotFoundFault(String),
9896 CacheSecurityGroupNotFoundFault(String),
9898 CacheSubnetGroupNotFoundFault(String),
9900 ClusterQuotaForCustomerExceededFault(String),
9902 GlobalReplicationGroupNotFoundFault(String),
9904 InsufficientCacheClusterCapacityFault(String),
9906 InvalidCacheClusterStateFault(String),
9908 InvalidGlobalReplicationGroupStateFault(String),
9910 InvalidParameterCombination(String),
9912 InvalidParameterValue(String),
9914 InvalidVPCNetworkStateFault(String),
9916 NodeGroupsPerReplicationGroupQuotaExceededFault(String),
9918 NodeQuotaForClusterExceededFault(String),
9920 NodeQuotaForCustomerExceededFault(String),
9922 ReplicationGroupAlreadyExistsFault(String),
9924 TagQuotaPerResourceExceeded(String),
9926}
9927
9928impl CreateReplicationGroupError {
9929 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateReplicationGroupError> {
9930 {
9931 let reader = EventReader::new(res.body.as_ref());
9932 let mut stack = XmlResponse::new(reader.into_iter().peekable());
9933 find_start_element(&mut stack);
9934 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
9935 match &parsed_error.code[..] {
9936 "CacheClusterNotFound" => return RusotoError::Service(CreateReplicationGroupError::CacheClusterNotFoundFault(parsed_error.message)),"CacheParameterGroupNotFound" => return RusotoError::Service(CreateReplicationGroupError::CacheParameterGroupNotFoundFault(parsed_error.message)),"CacheSecurityGroupNotFound" => return RusotoError::Service(CreateReplicationGroupError::CacheSecurityGroupNotFoundFault(parsed_error.message)),"CacheSubnetGroupNotFoundFault" => return RusotoError::Service(CreateReplicationGroupError::CacheSubnetGroupNotFoundFault(parsed_error.message)),"ClusterQuotaForCustomerExceeded" => return RusotoError::Service(CreateReplicationGroupError::ClusterQuotaForCustomerExceededFault(parsed_error.message)),"GlobalReplicationGroupNotFoundFault" => return RusotoError::Service(CreateReplicationGroupError::GlobalReplicationGroupNotFoundFault(parsed_error.message)),"InsufficientCacheClusterCapacity" => return RusotoError::Service(CreateReplicationGroupError::InsufficientCacheClusterCapacityFault(parsed_error.message)),"InvalidCacheClusterState" => return RusotoError::Service(CreateReplicationGroupError::InvalidCacheClusterStateFault(parsed_error.message)),"InvalidGlobalReplicationGroupState" => return RusotoError::Service(CreateReplicationGroupError::InvalidGlobalReplicationGroupStateFault(parsed_error.message)),"InvalidParameterCombination" => return RusotoError::Service(CreateReplicationGroupError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(CreateReplicationGroupError::InvalidParameterValue(parsed_error.message)),"InvalidVPCNetworkStateFault" => return RusotoError::Service(CreateReplicationGroupError::InvalidVPCNetworkStateFault(parsed_error.message)),"NodeGroupsPerReplicationGroupQuotaExceeded" => return RusotoError::Service(CreateReplicationGroupError::NodeGroupsPerReplicationGroupQuotaExceededFault(parsed_error.message)),"NodeQuotaForClusterExceeded" => return RusotoError::Service(CreateReplicationGroupError::NodeQuotaForClusterExceededFault(parsed_error.message)),"NodeQuotaForCustomerExceeded" => return RusotoError::Service(CreateReplicationGroupError::NodeQuotaForCustomerExceededFault(parsed_error.message)),"ReplicationGroupAlreadyExists" => return RusotoError::Service(CreateReplicationGroupError::ReplicationGroupAlreadyExistsFault(parsed_error.message)),"TagQuotaPerResourceExceeded" => return RusotoError::Service(CreateReplicationGroupError::TagQuotaPerResourceExceeded(parsed_error.message)),_ => {}
9937 }
9938 }
9939 }
9940 RusotoError::Unknown(res)
9941 }
9942
9943 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
9944 where
9945 T: Peek + Next,
9946 {
9947 xml_util::start_element("ErrorResponse", stack)?;
9948 XmlErrorDeserializer::deserialize("Error", stack)
9949 }
9950}
9951impl fmt::Display for CreateReplicationGroupError {
9952 #[allow(unused_variables)]
9953 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
9954 match *self {
9955 CreateReplicationGroupError::CacheClusterNotFoundFault(ref cause) => {
9956 write!(f, "{}", cause)
9957 }
9958 CreateReplicationGroupError::CacheParameterGroupNotFoundFault(ref cause) => {
9959 write!(f, "{}", cause)
9960 }
9961 CreateReplicationGroupError::CacheSecurityGroupNotFoundFault(ref cause) => {
9962 write!(f, "{}", cause)
9963 }
9964 CreateReplicationGroupError::CacheSubnetGroupNotFoundFault(ref cause) => {
9965 write!(f, "{}", cause)
9966 }
9967 CreateReplicationGroupError::ClusterQuotaForCustomerExceededFault(ref cause) => {
9968 write!(f, "{}", cause)
9969 }
9970 CreateReplicationGroupError::GlobalReplicationGroupNotFoundFault(ref cause) => {
9971 write!(f, "{}", cause)
9972 }
9973 CreateReplicationGroupError::InsufficientCacheClusterCapacityFault(ref cause) => {
9974 write!(f, "{}", cause)
9975 }
9976 CreateReplicationGroupError::InvalidCacheClusterStateFault(ref cause) => {
9977 write!(f, "{}", cause)
9978 }
9979 CreateReplicationGroupError::InvalidGlobalReplicationGroupStateFault(ref cause) => {
9980 write!(f, "{}", cause)
9981 }
9982 CreateReplicationGroupError::InvalidParameterCombination(ref cause) => {
9983 write!(f, "{}", cause)
9984 }
9985 CreateReplicationGroupError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
9986 CreateReplicationGroupError::InvalidVPCNetworkStateFault(ref cause) => {
9987 write!(f, "{}", cause)
9988 }
9989 CreateReplicationGroupError::NodeGroupsPerReplicationGroupQuotaExceededFault(
9990 ref cause,
9991 ) => write!(f, "{}", cause),
9992 CreateReplicationGroupError::NodeQuotaForClusterExceededFault(ref cause) => {
9993 write!(f, "{}", cause)
9994 }
9995 CreateReplicationGroupError::NodeQuotaForCustomerExceededFault(ref cause) => {
9996 write!(f, "{}", cause)
9997 }
9998 CreateReplicationGroupError::ReplicationGroupAlreadyExistsFault(ref cause) => {
9999 write!(f, "{}", cause)
10000 }
10001 CreateReplicationGroupError::TagQuotaPerResourceExceeded(ref cause) => {
10002 write!(f, "{}", cause)
10003 }
10004 }
10005 }
10006}
10007impl Error for CreateReplicationGroupError {}
10008#[derive(Debug, PartialEq)]
10010pub enum CreateSnapshotError {
10011 CacheClusterNotFoundFault(String),
10013 InvalidCacheClusterStateFault(String),
10015 InvalidParameterCombination(String),
10017 InvalidParameterValue(String),
10019 InvalidReplicationGroupStateFault(String),
10021 ReplicationGroupNotFoundFault(String),
10023 SnapshotAlreadyExistsFault(String),
10025 SnapshotFeatureNotSupportedFault(String),
10027 SnapshotQuotaExceededFault(String),
10029}
10030
10031impl CreateSnapshotError {
10032 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateSnapshotError> {
10033 {
10034 let reader = EventReader::new(res.body.as_ref());
10035 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10036 find_start_element(&mut stack);
10037 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10038 match &parsed_error.code[..] {
10039 "CacheClusterNotFound" => {
10040 return RusotoError::Service(
10041 CreateSnapshotError::CacheClusterNotFoundFault(parsed_error.message),
10042 )
10043 }
10044 "InvalidCacheClusterState" => {
10045 return RusotoError::Service(
10046 CreateSnapshotError::InvalidCacheClusterStateFault(
10047 parsed_error.message,
10048 ),
10049 )
10050 }
10051 "InvalidParameterCombination" => {
10052 return RusotoError::Service(
10053 CreateSnapshotError::InvalidParameterCombination(parsed_error.message),
10054 )
10055 }
10056 "InvalidParameterValue" => {
10057 return RusotoError::Service(CreateSnapshotError::InvalidParameterValue(
10058 parsed_error.message,
10059 ))
10060 }
10061 "InvalidReplicationGroupState" => {
10062 return RusotoError::Service(
10063 CreateSnapshotError::InvalidReplicationGroupStateFault(
10064 parsed_error.message,
10065 ),
10066 )
10067 }
10068 "ReplicationGroupNotFoundFault" => {
10069 return RusotoError::Service(
10070 CreateSnapshotError::ReplicationGroupNotFoundFault(
10071 parsed_error.message,
10072 ),
10073 )
10074 }
10075 "SnapshotAlreadyExistsFault" => {
10076 return RusotoError::Service(
10077 CreateSnapshotError::SnapshotAlreadyExistsFault(parsed_error.message),
10078 )
10079 }
10080 "SnapshotFeatureNotSupportedFault" => {
10081 return RusotoError::Service(
10082 CreateSnapshotError::SnapshotFeatureNotSupportedFault(
10083 parsed_error.message,
10084 ),
10085 )
10086 }
10087 "SnapshotQuotaExceededFault" => {
10088 return RusotoError::Service(
10089 CreateSnapshotError::SnapshotQuotaExceededFault(parsed_error.message),
10090 )
10091 }
10092 _ => {}
10093 }
10094 }
10095 }
10096 RusotoError::Unknown(res)
10097 }
10098
10099 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10100 where
10101 T: Peek + Next,
10102 {
10103 xml_util::start_element("ErrorResponse", stack)?;
10104 XmlErrorDeserializer::deserialize("Error", stack)
10105 }
10106}
10107impl fmt::Display for CreateSnapshotError {
10108 #[allow(unused_variables)]
10109 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10110 match *self {
10111 CreateSnapshotError::CacheClusterNotFoundFault(ref cause) => write!(f, "{}", cause),
10112 CreateSnapshotError::InvalidCacheClusterStateFault(ref cause) => write!(f, "{}", cause),
10113 CreateSnapshotError::InvalidParameterCombination(ref cause) => write!(f, "{}", cause),
10114 CreateSnapshotError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
10115 CreateSnapshotError::InvalidReplicationGroupStateFault(ref cause) => {
10116 write!(f, "{}", cause)
10117 }
10118 CreateSnapshotError::ReplicationGroupNotFoundFault(ref cause) => write!(f, "{}", cause),
10119 CreateSnapshotError::SnapshotAlreadyExistsFault(ref cause) => write!(f, "{}", cause),
10120 CreateSnapshotError::SnapshotFeatureNotSupportedFault(ref cause) => {
10121 write!(f, "{}", cause)
10122 }
10123 CreateSnapshotError::SnapshotQuotaExceededFault(ref cause) => write!(f, "{}", cause),
10124 }
10125 }
10126}
10127impl Error for CreateSnapshotError {}
10128#[derive(Debug, PartialEq)]
10130pub enum DecreaseNodeGroupsInGlobalReplicationGroupError {
10131 GlobalReplicationGroupNotFoundFault(String),
10133 InvalidGlobalReplicationGroupStateFault(String),
10135 InvalidParameterCombination(String),
10137 InvalidParameterValue(String),
10139}
10140
10141impl DecreaseNodeGroupsInGlobalReplicationGroupError {
10142 pub fn from_response(
10143 res: BufferedHttpResponse,
10144 ) -> RusotoError<DecreaseNodeGroupsInGlobalReplicationGroupError> {
10145 {
10146 let reader = EventReader::new(res.body.as_ref());
10147 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10148 find_start_element(&mut stack);
10149 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10150 match &parsed_error.code[..] {
10151 "GlobalReplicationGroupNotFoundFault" => return RusotoError::Service(DecreaseNodeGroupsInGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(parsed_error.message)),"InvalidGlobalReplicationGroupState" => return RusotoError::Service(DecreaseNodeGroupsInGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(parsed_error.message)),"InvalidParameterCombination" => return RusotoError::Service(DecreaseNodeGroupsInGlobalReplicationGroupError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(DecreaseNodeGroupsInGlobalReplicationGroupError::InvalidParameterValue(parsed_error.message)),_ => {}
10152 }
10153 }
10154 }
10155 RusotoError::Unknown(res)
10156 }
10157
10158 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10159 where
10160 T: Peek + Next,
10161 {
10162 xml_util::start_element("ErrorResponse", stack)?;
10163 XmlErrorDeserializer::deserialize("Error", stack)
10164 }
10165}
10166impl fmt::Display for DecreaseNodeGroupsInGlobalReplicationGroupError {
10167 #[allow(unused_variables)]
10168 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10169 match *self {
10170 DecreaseNodeGroupsInGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(ref cause) => write!(f, "{}", cause),
10171DecreaseNodeGroupsInGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(ref cause) => write!(f, "{}", cause),
10172DecreaseNodeGroupsInGlobalReplicationGroupError::InvalidParameterCombination(ref cause) => write!(f, "{}", cause),
10173DecreaseNodeGroupsInGlobalReplicationGroupError::InvalidParameterValue(ref cause) => write!(f, "{}", cause)
10174 }
10175 }
10176}
10177impl Error for DecreaseNodeGroupsInGlobalReplicationGroupError {}
10178#[derive(Debug, PartialEq)]
10180pub enum DecreaseReplicaCountError {
10181 ClusterQuotaForCustomerExceededFault(String),
10183 InsufficientCacheClusterCapacityFault(String),
10185 InvalidCacheClusterStateFault(String),
10187 InvalidParameterCombination(String),
10189 InvalidParameterValue(String),
10191 InvalidReplicationGroupStateFault(String),
10193 InvalidVPCNetworkStateFault(String),
10195 NoOperationFault(String),
10197 NodeGroupsPerReplicationGroupQuotaExceededFault(String),
10199 NodeQuotaForCustomerExceededFault(String),
10201 ReplicationGroupNotFoundFault(String),
10203 ServiceLinkedRoleNotFoundFault(String),
10205}
10206
10207impl DecreaseReplicaCountError {
10208 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DecreaseReplicaCountError> {
10209 {
10210 let reader = EventReader::new(res.body.as_ref());
10211 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10212 find_start_element(&mut stack);
10213 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10214 match &parsed_error.code[..] {
10215 "ClusterQuotaForCustomerExceeded" => {
10216 return RusotoError::Service(
10217 DecreaseReplicaCountError::ClusterQuotaForCustomerExceededFault(
10218 parsed_error.message,
10219 ),
10220 )
10221 }
10222 "InsufficientCacheClusterCapacity" => {
10223 return RusotoError::Service(
10224 DecreaseReplicaCountError::InsufficientCacheClusterCapacityFault(
10225 parsed_error.message,
10226 ),
10227 )
10228 }
10229 "InvalidCacheClusterState" => {
10230 return RusotoError::Service(
10231 DecreaseReplicaCountError::InvalidCacheClusterStateFault(
10232 parsed_error.message,
10233 ),
10234 )
10235 }
10236 "InvalidParameterCombination" => {
10237 return RusotoError::Service(
10238 DecreaseReplicaCountError::InvalidParameterCombination(
10239 parsed_error.message,
10240 ),
10241 )
10242 }
10243 "InvalidParameterValue" => {
10244 return RusotoError::Service(
10245 DecreaseReplicaCountError::InvalidParameterValue(parsed_error.message),
10246 )
10247 }
10248 "InvalidReplicationGroupState" => {
10249 return RusotoError::Service(
10250 DecreaseReplicaCountError::InvalidReplicationGroupStateFault(
10251 parsed_error.message,
10252 ),
10253 )
10254 }
10255 "InvalidVPCNetworkStateFault" => {
10256 return RusotoError::Service(
10257 DecreaseReplicaCountError::InvalidVPCNetworkStateFault(
10258 parsed_error.message,
10259 ),
10260 )
10261 }
10262 "NoOperationFault" => {
10263 return RusotoError::Service(DecreaseReplicaCountError::NoOperationFault(
10264 parsed_error.message,
10265 ))
10266 }
10267 "NodeGroupsPerReplicationGroupQuotaExceeded" => return RusotoError::Service(
10268 DecreaseReplicaCountError::NodeGroupsPerReplicationGroupQuotaExceededFault(
10269 parsed_error.message,
10270 ),
10271 ),
10272 "NodeQuotaForCustomerExceeded" => {
10273 return RusotoError::Service(
10274 DecreaseReplicaCountError::NodeQuotaForCustomerExceededFault(
10275 parsed_error.message,
10276 ),
10277 )
10278 }
10279 "ReplicationGroupNotFoundFault" => {
10280 return RusotoError::Service(
10281 DecreaseReplicaCountError::ReplicationGroupNotFoundFault(
10282 parsed_error.message,
10283 ),
10284 )
10285 }
10286 "ServiceLinkedRoleNotFoundFault" => {
10287 return RusotoError::Service(
10288 DecreaseReplicaCountError::ServiceLinkedRoleNotFoundFault(
10289 parsed_error.message,
10290 ),
10291 )
10292 }
10293 _ => {}
10294 }
10295 }
10296 }
10297 RusotoError::Unknown(res)
10298 }
10299
10300 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10301 where
10302 T: Peek + Next,
10303 {
10304 xml_util::start_element("ErrorResponse", stack)?;
10305 XmlErrorDeserializer::deserialize("Error", stack)
10306 }
10307}
10308impl fmt::Display for DecreaseReplicaCountError {
10309 #[allow(unused_variables)]
10310 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10311 match *self {
10312 DecreaseReplicaCountError::ClusterQuotaForCustomerExceededFault(ref cause) => {
10313 write!(f, "{}", cause)
10314 }
10315 DecreaseReplicaCountError::InsufficientCacheClusterCapacityFault(ref cause) => {
10316 write!(f, "{}", cause)
10317 }
10318 DecreaseReplicaCountError::InvalidCacheClusterStateFault(ref cause) => {
10319 write!(f, "{}", cause)
10320 }
10321 DecreaseReplicaCountError::InvalidParameterCombination(ref cause) => {
10322 write!(f, "{}", cause)
10323 }
10324 DecreaseReplicaCountError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
10325 DecreaseReplicaCountError::InvalidReplicationGroupStateFault(ref cause) => {
10326 write!(f, "{}", cause)
10327 }
10328 DecreaseReplicaCountError::InvalidVPCNetworkStateFault(ref cause) => {
10329 write!(f, "{}", cause)
10330 }
10331 DecreaseReplicaCountError::NoOperationFault(ref cause) => write!(f, "{}", cause),
10332 DecreaseReplicaCountError::NodeGroupsPerReplicationGroupQuotaExceededFault(
10333 ref cause,
10334 ) => write!(f, "{}", cause),
10335 DecreaseReplicaCountError::NodeQuotaForCustomerExceededFault(ref cause) => {
10336 write!(f, "{}", cause)
10337 }
10338 DecreaseReplicaCountError::ReplicationGroupNotFoundFault(ref cause) => {
10339 write!(f, "{}", cause)
10340 }
10341 DecreaseReplicaCountError::ServiceLinkedRoleNotFoundFault(ref cause) => {
10342 write!(f, "{}", cause)
10343 }
10344 }
10345 }
10346}
10347impl Error for DecreaseReplicaCountError {}
10348#[derive(Debug, PartialEq)]
10350pub enum DeleteCacheClusterError {
10351 CacheClusterNotFoundFault(String),
10353 InvalidCacheClusterStateFault(String),
10355 InvalidParameterCombination(String),
10357 InvalidParameterValue(String),
10359 SnapshotAlreadyExistsFault(String),
10361 SnapshotFeatureNotSupportedFault(String),
10363 SnapshotQuotaExceededFault(String),
10365}
10366
10367impl DeleteCacheClusterError {
10368 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteCacheClusterError> {
10369 {
10370 let reader = EventReader::new(res.body.as_ref());
10371 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10372 find_start_element(&mut stack);
10373 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10374 match &parsed_error.code[..] {
10375 "CacheClusterNotFound" => {
10376 return RusotoError::Service(
10377 DeleteCacheClusterError::CacheClusterNotFoundFault(
10378 parsed_error.message,
10379 ),
10380 )
10381 }
10382 "InvalidCacheClusterState" => {
10383 return RusotoError::Service(
10384 DeleteCacheClusterError::InvalidCacheClusterStateFault(
10385 parsed_error.message,
10386 ),
10387 )
10388 }
10389 "InvalidParameterCombination" => {
10390 return RusotoError::Service(
10391 DeleteCacheClusterError::InvalidParameterCombination(
10392 parsed_error.message,
10393 ),
10394 )
10395 }
10396 "InvalidParameterValue" => {
10397 return RusotoError::Service(
10398 DeleteCacheClusterError::InvalidParameterValue(parsed_error.message),
10399 )
10400 }
10401 "SnapshotAlreadyExistsFault" => {
10402 return RusotoError::Service(
10403 DeleteCacheClusterError::SnapshotAlreadyExistsFault(
10404 parsed_error.message,
10405 ),
10406 )
10407 }
10408 "SnapshotFeatureNotSupportedFault" => {
10409 return RusotoError::Service(
10410 DeleteCacheClusterError::SnapshotFeatureNotSupportedFault(
10411 parsed_error.message,
10412 ),
10413 )
10414 }
10415 "SnapshotQuotaExceededFault" => {
10416 return RusotoError::Service(
10417 DeleteCacheClusterError::SnapshotQuotaExceededFault(
10418 parsed_error.message,
10419 ),
10420 )
10421 }
10422 _ => {}
10423 }
10424 }
10425 }
10426 RusotoError::Unknown(res)
10427 }
10428
10429 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10430 where
10431 T: Peek + Next,
10432 {
10433 xml_util::start_element("ErrorResponse", stack)?;
10434 XmlErrorDeserializer::deserialize("Error", stack)
10435 }
10436}
10437impl fmt::Display for DeleteCacheClusterError {
10438 #[allow(unused_variables)]
10439 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10440 match *self {
10441 DeleteCacheClusterError::CacheClusterNotFoundFault(ref cause) => write!(f, "{}", cause),
10442 DeleteCacheClusterError::InvalidCacheClusterStateFault(ref cause) => {
10443 write!(f, "{}", cause)
10444 }
10445 DeleteCacheClusterError::InvalidParameterCombination(ref cause) => {
10446 write!(f, "{}", cause)
10447 }
10448 DeleteCacheClusterError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
10449 DeleteCacheClusterError::SnapshotAlreadyExistsFault(ref cause) => {
10450 write!(f, "{}", cause)
10451 }
10452 DeleteCacheClusterError::SnapshotFeatureNotSupportedFault(ref cause) => {
10453 write!(f, "{}", cause)
10454 }
10455 DeleteCacheClusterError::SnapshotQuotaExceededFault(ref cause) => {
10456 write!(f, "{}", cause)
10457 }
10458 }
10459 }
10460}
10461impl Error for DeleteCacheClusterError {}
10462#[derive(Debug, PartialEq)]
10464pub enum DeleteCacheParameterGroupError {
10465 CacheParameterGroupNotFoundFault(String),
10467 InvalidCacheParameterGroupStateFault(String),
10469 InvalidParameterCombination(String),
10471 InvalidParameterValue(String),
10473}
10474
10475impl DeleteCacheParameterGroupError {
10476 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteCacheParameterGroupError> {
10477 {
10478 let reader = EventReader::new(res.body.as_ref());
10479 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10480 find_start_element(&mut stack);
10481 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10482 match &parsed_error.code[..] {
10483 "CacheParameterGroupNotFound" => {
10484 return RusotoError::Service(
10485 DeleteCacheParameterGroupError::CacheParameterGroupNotFoundFault(
10486 parsed_error.message,
10487 ),
10488 )
10489 }
10490 "InvalidCacheParameterGroupState" => {
10491 return RusotoError::Service(
10492 DeleteCacheParameterGroupError::InvalidCacheParameterGroupStateFault(
10493 parsed_error.message,
10494 ),
10495 )
10496 }
10497 "InvalidParameterCombination" => {
10498 return RusotoError::Service(
10499 DeleteCacheParameterGroupError::InvalidParameterCombination(
10500 parsed_error.message,
10501 ),
10502 )
10503 }
10504 "InvalidParameterValue" => {
10505 return RusotoError::Service(
10506 DeleteCacheParameterGroupError::InvalidParameterValue(
10507 parsed_error.message,
10508 ),
10509 )
10510 }
10511 _ => {}
10512 }
10513 }
10514 }
10515 RusotoError::Unknown(res)
10516 }
10517
10518 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10519 where
10520 T: Peek + Next,
10521 {
10522 xml_util::start_element("ErrorResponse", stack)?;
10523 XmlErrorDeserializer::deserialize("Error", stack)
10524 }
10525}
10526impl fmt::Display for DeleteCacheParameterGroupError {
10527 #[allow(unused_variables)]
10528 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10529 match *self {
10530 DeleteCacheParameterGroupError::CacheParameterGroupNotFoundFault(ref cause) => {
10531 write!(f, "{}", cause)
10532 }
10533 DeleteCacheParameterGroupError::InvalidCacheParameterGroupStateFault(ref cause) => {
10534 write!(f, "{}", cause)
10535 }
10536 DeleteCacheParameterGroupError::InvalidParameterCombination(ref cause) => {
10537 write!(f, "{}", cause)
10538 }
10539 DeleteCacheParameterGroupError::InvalidParameterValue(ref cause) => {
10540 write!(f, "{}", cause)
10541 }
10542 }
10543 }
10544}
10545impl Error for DeleteCacheParameterGroupError {}
10546#[derive(Debug, PartialEq)]
10548pub enum DeleteCacheSecurityGroupError {
10549 CacheSecurityGroupNotFoundFault(String),
10551 InvalidCacheSecurityGroupStateFault(String),
10553 InvalidParameterCombination(String),
10555 InvalidParameterValue(String),
10557}
10558
10559impl DeleteCacheSecurityGroupError {
10560 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteCacheSecurityGroupError> {
10561 {
10562 let reader = EventReader::new(res.body.as_ref());
10563 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10564 find_start_element(&mut stack);
10565 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10566 match &parsed_error.code[..] {
10567 "CacheSecurityGroupNotFound" => {
10568 return RusotoError::Service(
10569 DeleteCacheSecurityGroupError::CacheSecurityGroupNotFoundFault(
10570 parsed_error.message,
10571 ),
10572 )
10573 }
10574 "InvalidCacheSecurityGroupState" => {
10575 return RusotoError::Service(
10576 DeleteCacheSecurityGroupError::InvalidCacheSecurityGroupStateFault(
10577 parsed_error.message,
10578 ),
10579 )
10580 }
10581 "InvalidParameterCombination" => {
10582 return RusotoError::Service(
10583 DeleteCacheSecurityGroupError::InvalidParameterCombination(
10584 parsed_error.message,
10585 ),
10586 )
10587 }
10588 "InvalidParameterValue" => {
10589 return RusotoError::Service(
10590 DeleteCacheSecurityGroupError::InvalidParameterValue(
10591 parsed_error.message,
10592 ),
10593 )
10594 }
10595 _ => {}
10596 }
10597 }
10598 }
10599 RusotoError::Unknown(res)
10600 }
10601
10602 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10603 where
10604 T: Peek + Next,
10605 {
10606 xml_util::start_element("ErrorResponse", stack)?;
10607 XmlErrorDeserializer::deserialize("Error", stack)
10608 }
10609}
10610impl fmt::Display for DeleteCacheSecurityGroupError {
10611 #[allow(unused_variables)]
10612 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10613 match *self {
10614 DeleteCacheSecurityGroupError::CacheSecurityGroupNotFoundFault(ref cause) => {
10615 write!(f, "{}", cause)
10616 }
10617 DeleteCacheSecurityGroupError::InvalidCacheSecurityGroupStateFault(ref cause) => {
10618 write!(f, "{}", cause)
10619 }
10620 DeleteCacheSecurityGroupError::InvalidParameterCombination(ref cause) => {
10621 write!(f, "{}", cause)
10622 }
10623 DeleteCacheSecurityGroupError::InvalidParameterValue(ref cause) => {
10624 write!(f, "{}", cause)
10625 }
10626 }
10627 }
10628}
10629impl Error for DeleteCacheSecurityGroupError {}
10630#[derive(Debug, PartialEq)]
10632pub enum DeleteCacheSubnetGroupError {
10633 CacheSubnetGroupInUse(String),
10635 CacheSubnetGroupNotFoundFault(String),
10637}
10638
10639impl DeleteCacheSubnetGroupError {
10640 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteCacheSubnetGroupError> {
10641 {
10642 let reader = EventReader::new(res.body.as_ref());
10643 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10644 find_start_element(&mut stack);
10645 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10646 match &parsed_error.code[..] {
10647 "CacheSubnetGroupInUse" => {
10648 return RusotoError::Service(
10649 DeleteCacheSubnetGroupError::CacheSubnetGroupInUse(
10650 parsed_error.message,
10651 ),
10652 )
10653 }
10654 "CacheSubnetGroupNotFoundFault" => {
10655 return RusotoError::Service(
10656 DeleteCacheSubnetGroupError::CacheSubnetGroupNotFoundFault(
10657 parsed_error.message,
10658 ),
10659 )
10660 }
10661 _ => {}
10662 }
10663 }
10664 }
10665 RusotoError::Unknown(res)
10666 }
10667
10668 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10669 where
10670 T: Peek + Next,
10671 {
10672 xml_util::start_element("ErrorResponse", stack)?;
10673 XmlErrorDeserializer::deserialize("Error", stack)
10674 }
10675}
10676impl fmt::Display for DeleteCacheSubnetGroupError {
10677 #[allow(unused_variables)]
10678 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10679 match *self {
10680 DeleteCacheSubnetGroupError::CacheSubnetGroupInUse(ref cause) => write!(f, "{}", cause),
10681 DeleteCacheSubnetGroupError::CacheSubnetGroupNotFoundFault(ref cause) => {
10682 write!(f, "{}", cause)
10683 }
10684 }
10685 }
10686}
10687impl Error for DeleteCacheSubnetGroupError {}
10688#[derive(Debug, PartialEq)]
10690pub enum DeleteGlobalReplicationGroupError {
10691 GlobalReplicationGroupNotFoundFault(String),
10693 InvalidGlobalReplicationGroupStateFault(String),
10695 InvalidParameterValue(String),
10697}
10698
10699impl DeleteGlobalReplicationGroupError {
10700 pub fn from_response(
10701 res: BufferedHttpResponse,
10702 ) -> RusotoError<DeleteGlobalReplicationGroupError> {
10703 {
10704 let reader = EventReader::new(res.body.as_ref());
10705 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10706 find_start_element(&mut stack);
10707 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10708 match &parsed_error.code[..] {
10709 "GlobalReplicationGroupNotFoundFault" => {
10710 return RusotoError::Service(
10711 DeleteGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(
10712 parsed_error.message,
10713 ),
10714 )
10715 }
10716 "InvalidGlobalReplicationGroupState" => return RusotoError::Service(
10717 DeleteGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(
10718 parsed_error.message,
10719 ),
10720 ),
10721 "InvalidParameterValue" => {
10722 return RusotoError::Service(
10723 DeleteGlobalReplicationGroupError::InvalidParameterValue(
10724 parsed_error.message,
10725 ),
10726 )
10727 }
10728 _ => {}
10729 }
10730 }
10731 }
10732 RusotoError::Unknown(res)
10733 }
10734
10735 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10736 where
10737 T: Peek + Next,
10738 {
10739 xml_util::start_element("ErrorResponse", stack)?;
10740 XmlErrorDeserializer::deserialize("Error", stack)
10741 }
10742}
10743impl fmt::Display for DeleteGlobalReplicationGroupError {
10744 #[allow(unused_variables)]
10745 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10746 match *self {
10747 DeleteGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(ref cause) => {
10748 write!(f, "{}", cause)
10749 }
10750 DeleteGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(
10751 ref cause,
10752 ) => write!(f, "{}", cause),
10753 DeleteGlobalReplicationGroupError::InvalidParameterValue(ref cause) => {
10754 write!(f, "{}", cause)
10755 }
10756 }
10757 }
10758}
10759impl Error for DeleteGlobalReplicationGroupError {}
10760#[derive(Debug, PartialEq)]
10762pub enum DeleteReplicationGroupError {
10763 InvalidParameterCombination(String),
10765 InvalidParameterValue(String),
10767 InvalidReplicationGroupStateFault(String),
10769 ReplicationGroupNotFoundFault(String),
10771 SnapshotAlreadyExistsFault(String),
10773 SnapshotFeatureNotSupportedFault(String),
10775 SnapshotQuotaExceededFault(String),
10777}
10778
10779impl DeleteReplicationGroupError {
10780 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteReplicationGroupError> {
10781 {
10782 let reader = EventReader::new(res.body.as_ref());
10783 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10784 find_start_element(&mut stack);
10785 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10786 match &parsed_error.code[..] {
10787 "InvalidParameterCombination" => {
10788 return RusotoError::Service(
10789 DeleteReplicationGroupError::InvalidParameterCombination(
10790 parsed_error.message,
10791 ),
10792 )
10793 }
10794 "InvalidParameterValue" => {
10795 return RusotoError::Service(
10796 DeleteReplicationGroupError::InvalidParameterValue(
10797 parsed_error.message,
10798 ),
10799 )
10800 }
10801 "InvalidReplicationGroupState" => {
10802 return RusotoError::Service(
10803 DeleteReplicationGroupError::InvalidReplicationGroupStateFault(
10804 parsed_error.message,
10805 ),
10806 )
10807 }
10808 "ReplicationGroupNotFoundFault" => {
10809 return RusotoError::Service(
10810 DeleteReplicationGroupError::ReplicationGroupNotFoundFault(
10811 parsed_error.message,
10812 ),
10813 )
10814 }
10815 "SnapshotAlreadyExistsFault" => {
10816 return RusotoError::Service(
10817 DeleteReplicationGroupError::SnapshotAlreadyExistsFault(
10818 parsed_error.message,
10819 ),
10820 )
10821 }
10822 "SnapshotFeatureNotSupportedFault" => {
10823 return RusotoError::Service(
10824 DeleteReplicationGroupError::SnapshotFeatureNotSupportedFault(
10825 parsed_error.message,
10826 ),
10827 )
10828 }
10829 "SnapshotQuotaExceededFault" => {
10830 return RusotoError::Service(
10831 DeleteReplicationGroupError::SnapshotQuotaExceededFault(
10832 parsed_error.message,
10833 ),
10834 )
10835 }
10836 _ => {}
10837 }
10838 }
10839 }
10840 RusotoError::Unknown(res)
10841 }
10842
10843 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10844 where
10845 T: Peek + Next,
10846 {
10847 xml_util::start_element("ErrorResponse", stack)?;
10848 XmlErrorDeserializer::deserialize("Error", stack)
10849 }
10850}
10851impl fmt::Display for DeleteReplicationGroupError {
10852 #[allow(unused_variables)]
10853 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10854 match *self {
10855 DeleteReplicationGroupError::InvalidParameterCombination(ref cause) => {
10856 write!(f, "{}", cause)
10857 }
10858 DeleteReplicationGroupError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
10859 DeleteReplicationGroupError::InvalidReplicationGroupStateFault(ref cause) => {
10860 write!(f, "{}", cause)
10861 }
10862 DeleteReplicationGroupError::ReplicationGroupNotFoundFault(ref cause) => {
10863 write!(f, "{}", cause)
10864 }
10865 DeleteReplicationGroupError::SnapshotAlreadyExistsFault(ref cause) => {
10866 write!(f, "{}", cause)
10867 }
10868 DeleteReplicationGroupError::SnapshotFeatureNotSupportedFault(ref cause) => {
10869 write!(f, "{}", cause)
10870 }
10871 DeleteReplicationGroupError::SnapshotQuotaExceededFault(ref cause) => {
10872 write!(f, "{}", cause)
10873 }
10874 }
10875 }
10876}
10877impl Error for DeleteReplicationGroupError {}
10878#[derive(Debug, PartialEq)]
10880pub enum DeleteSnapshotError {
10881 InvalidParameterCombination(String),
10883 InvalidParameterValue(String),
10885 InvalidSnapshotStateFault(String),
10887 SnapshotNotFoundFault(String),
10889}
10890
10891impl DeleteSnapshotError {
10892 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteSnapshotError> {
10893 {
10894 let reader = EventReader::new(res.body.as_ref());
10895 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10896 find_start_element(&mut stack);
10897 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10898 match &parsed_error.code[..] {
10899 "InvalidParameterCombination" => {
10900 return RusotoError::Service(
10901 DeleteSnapshotError::InvalidParameterCombination(parsed_error.message),
10902 )
10903 }
10904 "InvalidParameterValue" => {
10905 return RusotoError::Service(DeleteSnapshotError::InvalidParameterValue(
10906 parsed_error.message,
10907 ))
10908 }
10909 "InvalidSnapshotState" => {
10910 return RusotoError::Service(
10911 DeleteSnapshotError::InvalidSnapshotStateFault(parsed_error.message),
10912 )
10913 }
10914 "SnapshotNotFoundFault" => {
10915 return RusotoError::Service(DeleteSnapshotError::SnapshotNotFoundFault(
10916 parsed_error.message,
10917 ))
10918 }
10919 _ => {}
10920 }
10921 }
10922 }
10923 RusotoError::Unknown(res)
10924 }
10925
10926 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10927 where
10928 T: Peek + Next,
10929 {
10930 xml_util::start_element("ErrorResponse", stack)?;
10931 XmlErrorDeserializer::deserialize("Error", stack)
10932 }
10933}
10934impl fmt::Display for DeleteSnapshotError {
10935 #[allow(unused_variables)]
10936 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
10937 match *self {
10938 DeleteSnapshotError::InvalidParameterCombination(ref cause) => write!(f, "{}", cause),
10939 DeleteSnapshotError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
10940 DeleteSnapshotError::InvalidSnapshotStateFault(ref cause) => write!(f, "{}", cause),
10941 DeleteSnapshotError::SnapshotNotFoundFault(ref cause) => write!(f, "{}", cause),
10942 }
10943 }
10944}
10945impl Error for DeleteSnapshotError {}
10946#[derive(Debug, PartialEq)]
10948pub enum DescribeCacheClustersError {
10949 CacheClusterNotFoundFault(String),
10951 InvalidParameterCombination(String),
10953 InvalidParameterValue(String),
10955}
10956
10957impl DescribeCacheClustersError {
10958 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeCacheClustersError> {
10959 {
10960 let reader = EventReader::new(res.body.as_ref());
10961 let mut stack = XmlResponse::new(reader.into_iter().peekable());
10962 find_start_element(&mut stack);
10963 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
10964 match &parsed_error.code[..] {
10965 "CacheClusterNotFound" => {
10966 return RusotoError::Service(
10967 DescribeCacheClustersError::CacheClusterNotFoundFault(
10968 parsed_error.message,
10969 ),
10970 )
10971 }
10972 "InvalidParameterCombination" => {
10973 return RusotoError::Service(
10974 DescribeCacheClustersError::InvalidParameterCombination(
10975 parsed_error.message,
10976 ),
10977 )
10978 }
10979 "InvalidParameterValue" => {
10980 return RusotoError::Service(
10981 DescribeCacheClustersError::InvalidParameterValue(parsed_error.message),
10982 )
10983 }
10984 _ => {}
10985 }
10986 }
10987 }
10988 RusotoError::Unknown(res)
10989 }
10990
10991 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
10992 where
10993 T: Peek + Next,
10994 {
10995 xml_util::start_element("ErrorResponse", stack)?;
10996 XmlErrorDeserializer::deserialize("Error", stack)
10997 }
10998}
10999impl fmt::Display for DescribeCacheClustersError {
11000 #[allow(unused_variables)]
11001 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11002 match *self {
11003 DescribeCacheClustersError::CacheClusterNotFoundFault(ref cause) => {
11004 write!(f, "{}", cause)
11005 }
11006 DescribeCacheClustersError::InvalidParameterCombination(ref cause) => {
11007 write!(f, "{}", cause)
11008 }
11009 DescribeCacheClustersError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
11010 }
11011 }
11012}
11013impl Error for DescribeCacheClustersError {}
11014#[derive(Debug, PartialEq)]
11016pub enum DescribeCacheEngineVersionsError {}
11017
11018impl DescribeCacheEngineVersionsError {
11019 pub fn from_response(
11020 res: BufferedHttpResponse,
11021 ) -> RusotoError<DescribeCacheEngineVersionsError> {
11022 {
11023 let reader = EventReader::new(res.body.as_ref());
11024 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11025 find_start_element(&mut stack);
11026 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11027 match &parsed_error.code[..] {
11028 _ => {}
11029 }
11030 }
11031 }
11032 RusotoError::Unknown(res)
11033 }
11034
11035 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11036 where
11037 T: Peek + Next,
11038 {
11039 xml_util::start_element("ErrorResponse", stack)?;
11040 XmlErrorDeserializer::deserialize("Error", stack)
11041 }
11042}
11043impl fmt::Display for DescribeCacheEngineVersionsError {
11044 #[allow(unused_variables)]
11045 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11046 match *self {}
11047 }
11048}
11049impl Error for DescribeCacheEngineVersionsError {}
11050#[derive(Debug, PartialEq)]
11052pub enum DescribeCacheParameterGroupsError {
11053 CacheParameterGroupNotFoundFault(String),
11055 InvalidParameterCombination(String),
11057 InvalidParameterValue(String),
11059}
11060
11061impl DescribeCacheParameterGroupsError {
11062 pub fn from_response(
11063 res: BufferedHttpResponse,
11064 ) -> RusotoError<DescribeCacheParameterGroupsError> {
11065 {
11066 let reader = EventReader::new(res.body.as_ref());
11067 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11068 find_start_element(&mut stack);
11069 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11070 match &parsed_error.code[..] {
11071 "CacheParameterGroupNotFound" => {
11072 return RusotoError::Service(
11073 DescribeCacheParameterGroupsError::CacheParameterGroupNotFoundFault(
11074 parsed_error.message,
11075 ),
11076 )
11077 }
11078 "InvalidParameterCombination" => {
11079 return RusotoError::Service(
11080 DescribeCacheParameterGroupsError::InvalidParameterCombination(
11081 parsed_error.message,
11082 ),
11083 )
11084 }
11085 "InvalidParameterValue" => {
11086 return RusotoError::Service(
11087 DescribeCacheParameterGroupsError::InvalidParameterValue(
11088 parsed_error.message,
11089 ),
11090 )
11091 }
11092 _ => {}
11093 }
11094 }
11095 }
11096 RusotoError::Unknown(res)
11097 }
11098
11099 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11100 where
11101 T: Peek + Next,
11102 {
11103 xml_util::start_element("ErrorResponse", stack)?;
11104 XmlErrorDeserializer::deserialize("Error", stack)
11105 }
11106}
11107impl fmt::Display for DescribeCacheParameterGroupsError {
11108 #[allow(unused_variables)]
11109 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11110 match *self {
11111 DescribeCacheParameterGroupsError::CacheParameterGroupNotFoundFault(ref cause) => {
11112 write!(f, "{}", cause)
11113 }
11114 DescribeCacheParameterGroupsError::InvalidParameterCombination(ref cause) => {
11115 write!(f, "{}", cause)
11116 }
11117 DescribeCacheParameterGroupsError::InvalidParameterValue(ref cause) => {
11118 write!(f, "{}", cause)
11119 }
11120 }
11121 }
11122}
11123impl Error for DescribeCacheParameterGroupsError {}
11124#[derive(Debug, PartialEq)]
11126pub enum DescribeCacheParametersError {
11127 CacheParameterGroupNotFoundFault(String),
11129 InvalidParameterCombination(String),
11131 InvalidParameterValue(String),
11133}
11134
11135impl DescribeCacheParametersError {
11136 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeCacheParametersError> {
11137 {
11138 let reader = EventReader::new(res.body.as_ref());
11139 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11140 find_start_element(&mut stack);
11141 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11142 match &parsed_error.code[..] {
11143 "CacheParameterGroupNotFound" => {
11144 return RusotoError::Service(
11145 DescribeCacheParametersError::CacheParameterGroupNotFoundFault(
11146 parsed_error.message,
11147 ),
11148 )
11149 }
11150 "InvalidParameterCombination" => {
11151 return RusotoError::Service(
11152 DescribeCacheParametersError::InvalidParameterCombination(
11153 parsed_error.message,
11154 ),
11155 )
11156 }
11157 "InvalidParameterValue" => {
11158 return RusotoError::Service(
11159 DescribeCacheParametersError::InvalidParameterValue(
11160 parsed_error.message,
11161 ),
11162 )
11163 }
11164 _ => {}
11165 }
11166 }
11167 }
11168 RusotoError::Unknown(res)
11169 }
11170
11171 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11172 where
11173 T: Peek + Next,
11174 {
11175 xml_util::start_element("ErrorResponse", stack)?;
11176 XmlErrorDeserializer::deserialize("Error", stack)
11177 }
11178}
11179impl fmt::Display for DescribeCacheParametersError {
11180 #[allow(unused_variables)]
11181 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11182 match *self {
11183 DescribeCacheParametersError::CacheParameterGroupNotFoundFault(ref cause) => {
11184 write!(f, "{}", cause)
11185 }
11186 DescribeCacheParametersError::InvalidParameterCombination(ref cause) => {
11187 write!(f, "{}", cause)
11188 }
11189 DescribeCacheParametersError::InvalidParameterValue(ref cause) => {
11190 write!(f, "{}", cause)
11191 }
11192 }
11193 }
11194}
11195impl Error for DescribeCacheParametersError {}
11196#[derive(Debug, PartialEq)]
11198pub enum DescribeCacheSecurityGroupsError {
11199 CacheSecurityGroupNotFoundFault(String),
11201 InvalidParameterCombination(String),
11203 InvalidParameterValue(String),
11205}
11206
11207impl DescribeCacheSecurityGroupsError {
11208 pub fn from_response(
11209 res: BufferedHttpResponse,
11210 ) -> RusotoError<DescribeCacheSecurityGroupsError> {
11211 {
11212 let reader = EventReader::new(res.body.as_ref());
11213 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11214 find_start_element(&mut stack);
11215 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11216 match &parsed_error.code[..] {
11217 "CacheSecurityGroupNotFound" => {
11218 return RusotoError::Service(
11219 DescribeCacheSecurityGroupsError::CacheSecurityGroupNotFoundFault(
11220 parsed_error.message,
11221 ),
11222 )
11223 }
11224 "InvalidParameterCombination" => {
11225 return RusotoError::Service(
11226 DescribeCacheSecurityGroupsError::InvalidParameterCombination(
11227 parsed_error.message,
11228 ),
11229 )
11230 }
11231 "InvalidParameterValue" => {
11232 return RusotoError::Service(
11233 DescribeCacheSecurityGroupsError::InvalidParameterValue(
11234 parsed_error.message,
11235 ),
11236 )
11237 }
11238 _ => {}
11239 }
11240 }
11241 }
11242 RusotoError::Unknown(res)
11243 }
11244
11245 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11246 where
11247 T: Peek + Next,
11248 {
11249 xml_util::start_element("ErrorResponse", stack)?;
11250 XmlErrorDeserializer::deserialize("Error", stack)
11251 }
11252}
11253impl fmt::Display for DescribeCacheSecurityGroupsError {
11254 #[allow(unused_variables)]
11255 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11256 match *self {
11257 DescribeCacheSecurityGroupsError::CacheSecurityGroupNotFoundFault(ref cause) => {
11258 write!(f, "{}", cause)
11259 }
11260 DescribeCacheSecurityGroupsError::InvalidParameterCombination(ref cause) => {
11261 write!(f, "{}", cause)
11262 }
11263 DescribeCacheSecurityGroupsError::InvalidParameterValue(ref cause) => {
11264 write!(f, "{}", cause)
11265 }
11266 }
11267 }
11268}
11269impl Error for DescribeCacheSecurityGroupsError {}
11270#[derive(Debug, PartialEq)]
11272pub enum DescribeCacheSubnetGroupsError {
11273 CacheSubnetGroupNotFoundFault(String),
11275}
11276
11277impl DescribeCacheSubnetGroupsError {
11278 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeCacheSubnetGroupsError> {
11279 {
11280 let reader = EventReader::new(res.body.as_ref());
11281 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11282 find_start_element(&mut stack);
11283 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11284 match &parsed_error.code[..] {
11285 "CacheSubnetGroupNotFoundFault" => {
11286 return RusotoError::Service(
11287 DescribeCacheSubnetGroupsError::CacheSubnetGroupNotFoundFault(
11288 parsed_error.message,
11289 ),
11290 )
11291 }
11292 _ => {}
11293 }
11294 }
11295 }
11296 RusotoError::Unknown(res)
11297 }
11298
11299 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11300 where
11301 T: Peek + Next,
11302 {
11303 xml_util::start_element("ErrorResponse", stack)?;
11304 XmlErrorDeserializer::deserialize("Error", stack)
11305 }
11306}
11307impl fmt::Display for DescribeCacheSubnetGroupsError {
11308 #[allow(unused_variables)]
11309 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11310 match *self {
11311 DescribeCacheSubnetGroupsError::CacheSubnetGroupNotFoundFault(ref cause) => {
11312 write!(f, "{}", cause)
11313 }
11314 }
11315 }
11316}
11317impl Error for DescribeCacheSubnetGroupsError {}
11318#[derive(Debug, PartialEq)]
11320pub enum DescribeEngineDefaultParametersError {
11321 InvalidParameterCombination(String),
11323 InvalidParameterValue(String),
11325}
11326
11327impl DescribeEngineDefaultParametersError {
11328 pub fn from_response(
11329 res: BufferedHttpResponse,
11330 ) -> RusotoError<DescribeEngineDefaultParametersError> {
11331 {
11332 let reader = EventReader::new(res.body.as_ref());
11333 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11334 find_start_element(&mut stack);
11335 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11336 match &parsed_error.code[..] {
11337 "InvalidParameterCombination" => {
11338 return RusotoError::Service(
11339 DescribeEngineDefaultParametersError::InvalidParameterCombination(
11340 parsed_error.message,
11341 ),
11342 )
11343 }
11344 "InvalidParameterValue" => {
11345 return RusotoError::Service(
11346 DescribeEngineDefaultParametersError::InvalidParameterValue(
11347 parsed_error.message,
11348 ),
11349 )
11350 }
11351 _ => {}
11352 }
11353 }
11354 }
11355 RusotoError::Unknown(res)
11356 }
11357
11358 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11359 where
11360 T: Peek + Next,
11361 {
11362 xml_util::start_element("ErrorResponse", stack)?;
11363 XmlErrorDeserializer::deserialize("Error", stack)
11364 }
11365}
11366impl fmt::Display for DescribeEngineDefaultParametersError {
11367 #[allow(unused_variables)]
11368 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11369 match *self {
11370 DescribeEngineDefaultParametersError::InvalidParameterCombination(ref cause) => {
11371 write!(f, "{}", cause)
11372 }
11373 DescribeEngineDefaultParametersError::InvalidParameterValue(ref cause) => {
11374 write!(f, "{}", cause)
11375 }
11376 }
11377 }
11378}
11379impl Error for DescribeEngineDefaultParametersError {}
11380#[derive(Debug, PartialEq)]
11382pub enum DescribeEventsError {
11383 InvalidParameterCombination(String),
11385 InvalidParameterValue(String),
11387}
11388
11389impl DescribeEventsError {
11390 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeEventsError> {
11391 {
11392 let reader = EventReader::new(res.body.as_ref());
11393 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11394 find_start_element(&mut stack);
11395 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11396 match &parsed_error.code[..] {
11397 "InvalidParameterCombination" => {
11398 return RusotoError::Service(
11399 DescribeEventsError::InvalidParameterCombination(parsed_error.message),
11400 )
11401 }
11402 "InvalidParameterValue" => {
11403 return RusotoError::Service(DescribeEventsError::InvalidParameterValue(
11404 parsed_error.message,
11405 ))
11406 }
11407 _ => {}
11408 }
11409 }
11410 }
11411 RusotoError::Unknown(res)
11412 }
11413
11414 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11415 where
11416 T: Peek + Next,
11417 {
11418 xml_util::start_element("ErrorResponse", stack)?;
11419 XmlErrorDeserializer::deserialize("Error", stack)
11420 }
11421}
11422impl fmt::Display for DescribeEventsError {
11423 #[allow(unused_variables)]
11424 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11425 match *self {
11426 DescribeEventsError::InvalidParameterCombination(ref cause) => write!(f, "{}", cause),
11427 DescribeEventsError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
11428 }
11429 }
11430}
11431impl Error for DescribeEventsError {}
11432#[derive(Debug, PartialEq)]
11434pub enum DescribeGlobalReplicationGroupsError {
11435 GlobalReplicationGroupNotFoundFault(String),
11437 InvalidParameterCombination(String),
11439 InvalidParameterValue(String),
11441}
11442
11443impl DescribeGlobalReplicationGroupsError {
11444 pub fn from_response(
11445 res: BufferedHttpResponse,
11446 ) -> RusotoError<DescribeGlobalReplicationGroupsError> {
11447 {
11448 let reader = EventReader::new(res.body.as_ref());
11449 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11450 find_start_element(&mut stack);
11451 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11452 match &parsed_error.code[..] {
11453 "GlobalReplicationGroupNotFoundFault" => return RusotoError::Service(
11454 DescribeGlobalReplicationGroupsError::GlobalReplicationGroupNotFoundFault(
11455 parsed_error.message,
11456 ),
11457 ),
11458 "InvalidParameterCombination" => {
11459 return RusotoError::Service(
11460 DescribeGlobalReplicationGroupsError::InvalidParameterCombination(
11461 parsed_error.message,
11462 ),
11463 )
11464 }
11465 "InvalidParameterValue" => {
11466 return RusotoError::Service(
11467 DescribeGlobalReplicationGroupsError::InvalidParameterValue(
11468 parsed_error.message,
11469 ),
11470 )
11471 }
11472 _ => {}
11473 }
11474 }
11475 }
11476 RusotoError::Unknown(res)
11477 }
11478
11479 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11480 where
11481 T: Peek + Next,
11482 {
11483 xml_util::start_element("ErrorResponse", stack)?;
11484 XmlErrorDeserializer::deserialize("Error", stack)
11485 }
11486}
11487impl fmt::Display for DescribeGlobalReplicationGroupsError {
11488 #[allow(unused_variables)]
11489 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11490 match *self {
11491 DescribeGlobalReplicationGroupsError::GlobalReplicationGroupNotFoundFault(
11492 ref cause,
11493 ) => write!(f, "{}", cause),
11494 DescribeGlobalReplicationGroupsError::InvalidParameterCombination(ref cause) => {
11495 write!(f, "{}", cause)
11496 }
11497 DescribeGlobalReplicationGroupsError::InvalidParameterValue(ref cause) => {
11498 write!(f, "{}", cause)
11499 }
11500 }
11501 }
11502}
11503impl Error for DescribeGlobalReplicationGroupsError {}
11504#[derive(Debug, PartialEq)]
11506pub enum DescribeReplicationGroupsError {
11507 InvalidParameterCombination(String),
11509 InvalidParameterValue(String),
11511 ReplicationGroupNotFoundFault(String),
11513}
11514
11515impl DescribeReplicationGroupsError {
11516 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeReplicationGroupsError> {
11517 {
11518 let reader = EventReader::new(res.body.as_ref());
11519 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11520 find_start_element(&mut stack);
11521 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11522 match &parsed_error.code[..] {
11523 "InvalidParameterCombination" => {
11524 return RusotoError::Service(
11525 DescribeReplicationGroupsError::InvalidParameterCombination(
11526 parsed_error.message,
11527 ),
11528 )
11529 }
11530 "InvalidParameterValue" => {
11531 return RusotoError::Service(
11532 DescribeReplicationGroupsError::InvalidParameterValue(
11533 parsed_error.message,
11534 ),
11535 )
11536 }
11537 "ReplicationGroupNotFoundFault" => {
11538 return RusotoError::Service(
11539 DescribeReplicationGroupsError::ReplicationGroupNotFoundFault(
11540 parsed_error.message,
11541 ),
11542 )
11543 }
11544 _ => {}
11545 }
11546 }
11547 }
11548 RusotoError::Unknown(res)
11549 }
11550
11551 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11552 where
11553 T: Peek + Next,
11554 {
11555 xml_util::start_element("ErrorResponse", stack)?;
11556 XmlErrorDeserializer::deserialize("Error", stack)
11557 }
11558}
11559impl fmt::Display for DescribeReplicationGroupsError {
11560 #[allow(unused_variables)]
11561 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11562 match *self {
11563 DescribeReplicationGroupsError::InvalidParameterCombination(ref cause) => {
11564 write!(f, "{}", cause)
11565 }
11566 DescribeReplicationGroupsError::InvalidParameterValue(ref cause) => {
11567 write!(f, "{}", cause)
11568 }
11569 DescribeReplicationGroupsError::ReplicationGroupNotFoundFault(ref cause) => {
11570 write!(f, "{}", cause)
11571 }
11572 }
11573 }
11574}
11575impl Error for DescribeReplicationGroupsError {}
11576#[derive(Debug, PartialEq)]
11578pub enum DescribeReservedCacheNodesError {
11579 InvalidParameterCombination(String),
11581 InvalidParameterValue(String),
11583 ReservedCacheNodeNotFoundFault(String),
11585}
11586
11587impl DescribeReservedCacheNodesError {
11588 pub fn from_response(
11589 res: BufferedHttpResponse,
11590 ) -> RusotoError<DescribeReservedCacheNodesError> {
11591 {
11592 let reader = EventReader::new(res.body.as_ref());
11593 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11594 find_start_element(&mut stack);
11595 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11596 match &parsed_error.code[..] {
11597 "InvalidParameterCombination" => {
11598 return RusotoError::Service(
11599 DescribeReservedCacheNodesError::InvalidParameterCombination(
11600 parsed_error.message,
11601 ),
11602 )
11603 }
11604 "InvalidParameterValue" => {
11605 return RusotoError::Service(
11606 DescribeReservedCacheNodesError::InvalidParameterValue(
11607 parsed_error.message,
11608 ),
11609 )
11610 }
11611 "ReservedCacheNodeNotFound" => {
11612 return RusotoError::Service(
11613 DescribeReservedCacheNodesError::ReservedCacheNodeNotFoundFault(
11614 parsed_error.message,
11615 ),
11616 )
11617 }
11618 _ => {}
11619 }
11620 }
11621 }
11622 RusotoError::Unknown(res)
11623 }
11624
11625 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11626 where
11627 T: Peek + Next,
11628 {
11629 xml_util::start_element("ErrorResponse", stack)?;
11630 XmlErrorDeserializer::deserialize("Error", stack)
11631 }
11632}
11633impl fmt::Display for DescribeReservedCacheNodesError {
11634 #[allow(unused_variables)]
11635 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11636 match *self {
11637 DescribeReservedCacheNodesError::InvalidParameterCombination(ref cause) => {
11638 write!(f, "{}", cause)
11639 }
11640 DescribeReservedCacheNodesError::InvalidParameterValue(ref cause) => {
11641 write!(f, "{}", cause)
11642 }
11643 DescribeReservedCacheNodesError::ReservedCacheNodeNotFoundFault(ref cause) => {
11644 write!(f, "{}", cause)
11645 }
11646 }
11647 }
11648}
11649impl Error for DescribeReservedCacheNodesError {}
11650#[derive(Debug, PartialEq)]
11652pub enum DescribeReservedCacheNodesOfferingsError {
11653 InvalidParameterCombination(String),
11655 InvalidParameterValue(String),
11657 ReservedCacheNodesOfferingNotFoundFault(String),
11659}
11660
11661impl DescribeReservedCacheNodesOfferingsError {
11662 pub fn from_response(
11663 res: BufferedHttpResponse,
11664 ) -> RusotoError<DescribeReservedCacheNodesOfferingsError> {
11665 {
11666 let reader = EventReader::new(res.body.as_ref());
11667 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11668 find_start_element(&mut stack);
11669 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11670 match &parsed_error.code[..] {
11671 "InvalidParameterCombination" => return RusotoError::Service(DescribeReservedCacheNodesOfferingsError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(DescribeReservedCacheNodesOfferingsError::InvalidParameterValue(parsed_error.message)),"ReservedCacheNodesOfferingNotFound" => return RusotoError::Service(DescribeReservedCacheNodesOfferingsError::ReservedCacheNodesOfferingNotFoundFault(parsed_error.message)),_ => {}
11672 }
11673 }
11674 }
11675 RusotoError::Unknown(res)
11676 }
11677
11678 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11679 where
11680 T: Peek + Next,
11681 {
11682 xml_util::start_element("ErrorResponse", stack)?;
11683 XmlErrorDeserializer::deserialize("Error", stack)
11684 }
11685}
11686impl fmt::Display for DescribeReservedCacheNodesOfferingsError {
11687 #[allow(unused_variables)]
11688 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11689 match *self {
11690 DescribeReservedCacheNodesOfferingsError::InvalidParameterCombination(ref cause) => {
11691 write!(f, "{}", cause)
11692 }
11693 DescribeReservedCacheNodesOfferingsError::InvalidParameterValue(ref cause) => {
11694 write!(f, "{}", cause)
11695 }
11696 DescribeReservedCacheNodesOfferingsError::ReservedCacheNodesOfferingNotFoundFault(
11697 ref cause,
11698 ) => write!(f, "{}", cause),
11699 }
11700 }
11701}
11702impl Error for DescribeReservedCacheNodesOfferingsError {}
11703#[derive(Debug, PartialEq)]
11705pub enum DescribeServiceUpdatesError {
11706 InvalidParameterCombination(String),
11708 InvalidParameterValue(String),
11710 ServiceUpdateNotFoundFault(String),
11712}
11713
11714impl DescribeServiceUpdatesError {
11715 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeServiceUpdatesError> {
11716 {
11717 let reader = EventReader::new(res.body.as_ref());
11718 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11719 find_start_element(&mut stack);
11720 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11721 match &parsed_error.code[..] {
11722 "InvalidParameterCombination" => {
11723 return RusotoError::Service(
11724 DescribeServiceUpdatesError::InvalidParameterCombination(
11725 parsed_error.message,
11726 ),
11727 )
11728 }
11729 "InvalidParameterValue" => {
11730 return RusotoError::Service(
11731 DescribeServiceUpdatesError::InvalidParameterValue(
11732 parsed_error.message,
11733 ),
11734 )
11735 }
11736 "ServiceUpdateNotFoundFault" => {
11737 return RusotoError::Service(
11738 DescribeServiceUpdatesError::ServiceUpdateNotFoundFault(
11739 parsed_error.message,
11740 ),
11741 )
11742 }
11743 _ => {}
11744 }
11745 }
11746 }
11747 RusotoError::Unknown(res)
11748 }
11749
11750 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11751 where
11752 T: Peek + Next,
11753 {
11754 xml_util::start_element("ErrorResponse", stack)?;
11755 XmlErrorDeserializer::deserialize("Error", stack)
11756 }
11757}
11758impl fmt::Display for DescribeServiceUpdatesError {
11759 #[allow(unused_variables)]
11760 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11761 match *self {
11762 DescribeServiceUpdatesError::InvalidParameterCombination(ref cause) => {
11763 write!(f, "{}", cause)
11764 }
11765 DescribeServiceUpdatesError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
11766 DescribeServiceUpdatesError::ServiceUpdateNotFoundFault(ref cause) => {
11767 write!(f, "{}", cause)
11768 }
11769 }
11770 }
11771}
11772impl Error for DescribeServiceUpdatesError {}
11773#[derive(Debug, PartialEq)]
11775pub enum DescribeSnapshotsError {
11776 CacheClusterNotFoundFault(String),
11778 InvalidParameterCombination(String),
11780 InvalidParameterValue(String),
11782 SnapshotNotFoundFault(String),
11784}
11785
11786impl DescribeSnapshotsError {
11787 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeSnapshotsError> {
11788 {
11789 let reader = EventReader::new(res.body.as_ref());
11790 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11791 find_start_element(&mut stack);
11792 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11793 match &parsed_error.code[..] {
11794 "CacheClusterNotFound" => {
11795 return RusotoError::Service(
11796 DescribeSnapshotsError::CacheClusterNotFoundFault(parsed_error.message),
11797 )
11798 }
11799 "InvalidParameterCombination" => {
11800 return RusotoError::Service(
11801 DescribeSnapshotsError::InvalidParameterCombination(
11802 parsed_error.message,
11803 ),
11804 )
11805 }
11806 "InvalidParameterValue" => {
11807 return RusotoError::Service(DescribeSnapshotsError::InvalidParameterValue(
11808 parsed_error.message,
11809 ))
11810 }
11811 "SnapshotNotFoundFault" => {
11812 return RusotoError::Service(DescribeSnapshotsError::SnapshotNotFoundFault(
11813 parsed_error.message,
11814 ))
11815 }
11816 _ => {}
11817 }
11818 }
11819 }
11820 RusotoError::Unknown(res)
11821 }
11822
11823 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11824 where
11825 T: Peek + Next,
11826 {
11827 xml_util::start_element("ErrorResponse", stack)?;
11828 XmlErrorDeserializer::deserialize("Error", stack)
11829 }
11830}
11831impl fmt::Display for DescribeSnapshotsError {
11832 #[allow(unused_variables)]
11833 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11834 match *self {
11835 DescribeSnapshotsError::CacheClusterNotFoundFault(ref cause) => write!(f, "{}", cause),
11836 DescribeSnapshotsError::InvalidParameterCombination(ref cause) => {
11837 write!(f, "{}", cause)
11838 }
11839 DescribeSnapshotsError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
11840 DescribeSnapshotsError::SnapshotNotFoundFault(ref cause) => write!(f, "{}", cause),
11841 }
11842 }
11843}
11844impl Error for DescribeSnapshotsError {}
11845#[derive(Debug, PartialEq)]
11847pub enum DescribeUpdateActionsError {
11848 InvalidParameterCombination(String),
11850 InvalidParameterValue(String),
11852}
11853
11854impl DescribeUpdateActionsError {
11855 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeUpdateActionsError> {
11856 {
11857 let reader = EventReader::new(res.body.as_ref());
11858 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11859 find_start_element(&mut stack);
11860 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11861 match &parsed_error.code[..] {
11862 "InvalidParameterCombination" => {
11863 return RusotoError::Service(
11864 DescribeUpdateActionsError::InvalidParameterCombination(
11865 parsed_error.message,
11866 ),
11867 )
11868 }
11869 "InvalidParameterValue" => {
11870 return RusotoError::Service(
11871 DescribeUpdateActionsError::InvalidParameterValue(parsed_error.message),
11872 )
11873 }
11874 _ => {}
11875 }
11876 }
11877 }
11878 RusotoError::Unknown(res)
11879 }
11880
11881 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11882 where
11883 T: Peek + Next,
11884 {
11885 xml_util::start_element("ErrorResponse", stack)?;
11886 XmlErrorDeserializer::deserialize("Error", stack)
11887 }
11888}
11889impl fmt::Display for DescribeUpdateActionsError {
11890 #[allow(unused_variables)]
11891 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11892 match *self {
11893 DescribeUpdateActionsError::InvalidParameterCombination(ref cause) => {
11894 write!(f, "{}", cause)
11895 }
11896 DescribeUpdateActionsError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
11897 }
11898 }
11899}
11900impl Error for DescribeUpdateActionsError {}
11901#[derive(Debug, PartialEq)]
11903pub enum DisassociateGlobalReplicationGroupError {
11904 GlobalReplicationGroupNotFoundFault(String),
11906 InvalidGlobalReplicationGroupStateFault(String),
11908 InvalidParameterCombination(String),
11910 InvalidParameterValue(String),
11912}
11913
11914impl DisassociateGlobalReplicationGroupError {
11915 pub fn from_response(
11916 res: BufferedHttpResponse,
11917 ) -> RusotoError<DisassociateGlobalReplicationGroupError> {
11918 {
11919 let reader = EventReader::new(res.body.as_ref());
11920 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11921 find_start_element(&mut stack);
11922 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11923 match &parsed_error.code[..] {
11924 "GlobalReplicationGroupNotFoundFault" => return RusotoError::Service(DisassociateGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(parsed_error.message)),"InvalidGlobalReplicationGroupState" => return RusotoError::Service(DisassociateGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(parsed_error.message)),"InvalidParameterCombination" => return RusotoError::Service(DisassociateGlobalReplicationGroupError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(DisassociateGlobalReplicationGroupError::InvalidParameterValue(parsed_error.message)),_ => {}
11925 }
11926 }
11927 }
11928 RusotoError::Unknown(res)
11929 }
11930
11931 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11932 where
11933 T: Peek + Next,
11934 {
11935 xml_util::start_element("ErrorResponse", stack)?;
11936 XmlErrorDeserializer::deserialize("Error", stack)
11937 }
11938}
11939impl fmt::Display for DisassociateGlobalReplicationGroupError {
11940 #[allow(unused_variables)]
11941 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11942 match *self {
11943 DisassociateGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(
11944 ref cause,
11945 ) => write!(f, "{}", cause),
11946 DisassociateGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(
11947 ref cause,
11948 ) => write!(f, "{}", cause),
11949 DisassociateGlobalReplicationGroupError::InvalidParameterCombination(ref cause) => {
11950 write!(f, "{}", cause)
11951 }
11952 DisassociateGlobalReplicationGroupError::InvalidParameterValue(ref cause) => {
11953 write!(f, "{}", cause)
11954 }
11955 }
11956 }
11957}
11958impl Error for DisassociateGlobalReplicationGroupError {}
11959#[derive(Debug, PartialEq)]
11961pub enum FailoverGlobalReplicationGroupError {
11962 GlobalReplicationGroupNotFoundFault(String),
11964 InvalidGlobalReplicationGroupStateFault(String),
11966 InvalidParameterCombination(String),
11968 InvalidParameterValue(String),
11970}
11971
11972impl FailoverGlobalReplicationGroupError {
11973 pub fn from_response(
11974 res: BufferedHttpResponse,
11975 ) -> RusotoError<FailoverGlobalReplicationGroupError> {
11976 {
11977 let reader = EventReader::new(res.body.as_ref());
11978 let mut stack = XmlResponse::new(reader.into_iter().peekable());
11979 find_start_element(&mut stack);
11980 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
11981 match &parsed_error.code[..] {
11982 "GlobalReplicationGroupNotFoundFault" => return RusotoError::Service(FailoverGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(parsed_error.message)),"InvalidGlobalReplicationGroupState" => return RusotoError::Service(FailoverGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(parsed_error.message)),"InvalidParameterCombination" => return RusotoError::Service(FailoverGlobalReplicationGroupError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(FailoverGlobalReplicationGroupError::InvalidParameterValue(parsed_error.message)),_ => {}
11983 }
11984 }
11985 }
11986 RusotoError::Unknown(res)
11987 }
11988
11989 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
11990 where
11991 T: Peek + Next,
11992 {
11993 xml_util::start_element("ErrorResponse", stack)?;
11994 XmlErrorDeserializer::deserialize("Error", stack)
11995 }
11996}
11997impl fmt::Display for FailoverGlobalReplicationGroupError {
11998 #[allow(unused_variables)]
11999 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12000 match *self {
12001 FailoverGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(ref cause) => {
12002 write!(f, "{}", cause)
12003 }
12004 FailoverGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(
12005 ref cause,
12006 ) => write!(f, "{}", cause),
12007 FailoverGlobalReplicationGroupError::InvalidParameterCombination(ref cause) => {
12008 write!(f, "{}", cause)
12009 }
12010 FailoverGlobalReplicationGroupError::InvalidParameterValue(ref cause) => {
12011 write!(f, "{}", cause)
12012 }
12013 }
12014 }
12015}
12016impl Error for FailoverGlobalReplicationGroupError {}
12017#[derive(Debug, PartialEq)]
12019pub enum IncreaseNodeGroupsInGlobalReplicationGroupError {
12020 GlobalReplicationGroupNotFoundFault(String),
12022 InvalidGlobalReplicationGroupStateFault(String),
12024 InvalidParameterValue(String),
12026}
12027
12028impl IncreaseNodeGroupsInGlobalReplicationGroupError {
12029 pub fn from_response(
12030 res: BufferedHttpResponse,
12031 ) -> RusotoError<IncreaseNodeGroupsInGlobalReplicationGroupError> {
12032 {
12033 let reader = EventReader::new(res.body.as_ref());
12034 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12035 find_start_element(&mut stack);
12036 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12037 match &parsed_error.code[..] {
12038 "GlobalReplicationGroupNotFoundFault" => return RusotoError::Service(IncreaseNodeGroupsInGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(parsed_error.message)),"InvalidGlobalReplicationGroupState" => return RusotoError::Service(IncreaseNodeGroupsInGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(IncreaseNodeGroupsInGlobalReplicationGroupError::InvalidParameterValue(parsed_error.message)),_ => {}
12039 }
12040 }
12041 }
12042 RusotoError::Unknown(res)
12043 }
12044
12045 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12046 where
12047 T: Peek + Next,
12048 {
12049 xml_util::start_element("ErrorResponse", stack)?;
12050 XmlErrorDeserializer::deserialize("Error", stack)
12051 }
12052}
12053impl fmt::Display for IncreaseNodeGroupsInGlobalReplicationGroupError {
12054 #[allow(unused_variables)]
12055 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12056 match *self {
12057 IncreaseNodeGroupsInGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(ref cause) => write!(f, "{}", cause),
12058IncreaseNodeGroupsInGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(ref cause) => write!(f, "{}", cause),
12059IncreaseNodeGroupsInGlobalReplicationGroupError::InvalidParameterValue(ref cause) => write!(f, "{}", cause)
12060 }
12061 }
12062}
12063impl Error for IncreaseNodeGroupsInGlobalReplicationGroupError {}
12064#[derive(Debug, PartialEq)]
12066pub enum IncreaseReplicaCountError {
12067 ClusterQuotaForCustomerExceededFault(String),
12069 InsufficientCacheClusterCapacityFault(String),
12071 InvalidCacheClusterStateFault(String),
12073 InvalidKMSKeyFault(String),
12075 InvalidParameterCombination(String),
12077 InvalidParameterValue(String),
12079 InvalidReplicationGroupStateFault(String),
12081 InvalidVPCNetworkStateFault(String),
12083 NoOperationFault(String),
12085 NodeGroupsPerReplicationGroupQuotaExceededFault(String),
12087 NodeQuotaForCustomerExceededFault(String),
12089 ReplicationGroupNotFoundFault(String),
12091}
12092
12093impl IncreaseReplicaCountError {
12094 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<IncreaseReplicaCountError> {
12095 {
12096 let reader = EventReader::new(res.body.as_ref());
12097 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12098 find_start_element(&mut stack);
12099 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12100 match &parsed_error.code[..] {
12101 "ClusterQuotaForCustomerExceeded" => {
12102 return RusotoError::Service(
12103 IncreaseReplicaCountError::ClusterQuotaForCustomerExceededFault(
12104 parsed_error.message,
12105 ),
12106 )
12107 }
12108 "InsufficientCacheClusterCapacity" => {
12109 return RusotoError::Service(
12110 IncreaseReplicaCountError::InsufficientCacheClusterCapacityFault(
12111 parsed_error.message,
12112 ),
12113 )
12114 }
12115 "InvalidCacheClusterState" => {
12116 return RusotoError::Service(
12117 IncreaseReplicaCountError::InvalidCacheClusterStateFault(
12118 parsed_error.message,
12119 ),
12120 )
12121 }
12122 "InvalidKMSKeyFault" => {
12123 return RusotoError::Service(IncreaseReplicaCountError::InvalidKMSKeyFault(
12124 parsed_error.message,
12125 ))
12126 }
12127 "InvalidParameterCombination" => {
12128 return RusotoError::Service(
12129 IncreaseReplicaCountError::InvalidParameterCombination(
12130 parsed_error.message,
12131 ),
12132 )
12133 }
12134 "InvalidParameterValue" => {
12135 return RusotoError::Service(
12136 IncreaseReplicaCountError::InvalidParameterValue(parsed_error.message),
12137 )
12138 }
12139 "InvalidReplicationGroupState" => {
12140 return RusotoError::Service(
12141 IncreaseReplicaCountError::InvalidReplicationGroupStateFault(
12142 parsed_error.message,
12143 ),
12144 )
12145 }
12146 "InvalidVPCNetworkStateFault" => {
12147 return RusotoError::Service(
12148 IncreaseReplicaCountError::InvalidVPCNetworkStateFault(
12149 parsed_error.message,
12150 ),
12151 )
12152 }
12153 "NoOperationFault" => {
12154 return RusotoError::Service(IncreaseReplicaCountError::NoOperationFault(
12155 parsed_error.message,
12156 ))
12157 }
12158 "NodeGroupsPerReplicationGroupQuotaExceeded" => return RusotoError::Service(
12159 IncreaseReplicaCountError::NodeGroupsPerReplicationGroupQuotaExceededFault(
12160 parsed_error.message,
12161 ),
12162 ),
12163 "NodeQuotaForCustomerExceeded" => {
12164 return RusotoError::Service(
12165 IncreaseReplicaCountError::NodeQuotaForCustomerExceededFault(
12166 parsed_error.message,
12167 ),
12168 )
12169 }
12170 "ReplicationGroupNotFoundFault" => {
12171 return RusotoError::Service(
12172 IncreaseReplicaCountError::ReplicationGroupNotFoundFault(
12173 parsed_error.message,
12174 ),
12175 )
12176 }
12177 _ => {}
12178 }
12179 }
12180 }
12181 RusotoError::Unknown(res)
12182 }
12183
12184 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12185 where
12186 T: Peek + Next,
12187 {
12188 xml_util::start_element("ErrorResponse", stack)?;
12189 XmlErrorDeserializer::deserialize("Error", stack)
12190 }
12191}
12192impl fmt::Display for IncreaseReplicaCountError {
12193 #[allow(unused_variables)]
12194 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12195 match *self {
12196 IncreaseReplicaCountError::ClusterQuotaForCustomerExceededFault(ref cause) => {
12197 write!(f, "{}", cause)
12198 }
12199 IncreaseReplicaCountError::InsufficientCacheClusterCapacityFault(ref cause) => {
12200 write!(f, "{}", cause)
12201 }
12202 IncreaseReplicaCountError::InvalidCacheClusterStateFault(ref cause) => {
12203 write!(f, "{}", cause)
12204 }
12205 IncreaseReplicaCountError::InvalidKMSKeyFault(ref cause) => write!(f, "{}", cause),
12206 IncreaseReplicaCountError::InvalidParameterCombination(ref cause) => {
12207 write!(f, "{}", cause)
12208 }
12209 IncreaseReplicaCountError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
12210 IncreaseReplicaCountError::InvalidReplicationGroupStateFault(ref cause) => {
12211 write!(f, "{}", cause)
12212 }
12213 IncreaseReplicaCountError::InvalidVPCNetworkStateFault(ref cause) => {
12214 write!(f, "{}", cause)
12215 }
12216 IncreaseReplicaCountError::NoOperationFault(ref cause) => write!(f, "{}", cause),
12217 IncreaseReplicaCountError::NodeGroupsPerReplicationGroupQuotaExceededFault(
12218 ref cause,
12219 ) => write!(f, "{}", cause),
12220 IncreaseReplicaCountError::NodeQuotaForCustomerExceededFault(ref cause) => {
12221 write!(f, "{}", cause)
12222 }
12223 IncreaseReplicaCountError::ReplicationGroupNotFoundFault(ref cause) => {
12224 write!(f, "{}", cause)
12225 }
12226 }
12227 }
12228}
12229impl Error for IncreaseReplicaCountError {}
12230#[derive(Debug, PartialEq)]
12232pub enum ListAllowedNodeTypeModificationsError {
12233 CacheClusterNotFoundFault(String),
12235 InvalidParameterCombination(String),
12237 InvalidParameterValue(String),
12239 ReplicationGroupNotFoundFault(String),
12241}
12242
12243impl ListAllowedNodeTypeModificationsError {
12244 pub fn from_response(
12245 res: BufferedHttpResponse,
12246 ) -> RusotoError<ListAllowedNodeTypeModificationsError> {
12247 {
12248 let reader = EventReader::new(res.body.as_ref());
12249 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12250 find_start_element(&mut stack);
12251 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12252 match &parsed_error.code[..] {
12253 "CacheClusterNotFound" => {
12254 return RusotoError::Service(
12255 ListAllowedNodeTypeModificationsError::CacheClusterNotFoundFault(
12256 parsed_error.message,
12257 ),
12258 )
12259 }
12260 "InvalidParameterCombination" => {
12261 return RusotoError::Service(
12262 ListAllowedNodeTypeModificationsError::InvalidParameterCombination(
12263 parsed_error.message,
12264 ),
12265 )
12266 }
12267 "InvalidParameterValue" => {
12268 return RusotoError::Service(
12269 ListAllowedNodeTypeModificationsError::InvalidParameterValue(
12270 parsed_error.message,
12271 ),
12272 )
12273 }
12274 "ReplicationGroupNotFoundFault" => {
12275 return RusotoError::Service(
12276 ListAllowedNodeTypeModificationsError::ReplicationGroupNotFoundFault(
12277 parsed_error.message,
12278 ),
12279 )
12280 }
12281 _ => {}
12282 }
12283 }
12284 }
12285 RusotoError::Unknown(res)
12286 }
12287
12288 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12289 where
12290 T: Peek + Next,
12291 {
12292 xml_util::start_element("ErrorResponse", stack)?;
12293 XmlErrorDeserializer::deserialize("Error", stack)
12294 }
12295}
12296impl fmt::Display for ListAllowedNodeTypeModificationsError {
12297 #[allow(unused_variables)]
12298 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12299 match *self {
12300 ListAllowedNodeTypeModificationsError::CacheClusterNotFoundFault(ref cause) => {
12301 write!(f, "{}", cause)
12302 }
12303 ListAllowedNodeTypeModificationsError::InvalidParameterCombination(ref cause) => {
12304 write!(f, "{}", cause)
12305 }
12306 ListAllowedNodeTypeModificationsError::InvalidParameterValue(ref cause) => {
12307 write!(f, "{}", cause)
12308 }
12309 ListAllowedNodeTypeModificationsError::ReplicationGroupNotFoundFault(ref cause) => {
12310 write!(f, "{}", cause)
12311 }
12312 }
12313 }
12314}
12315impl Error for ListAllowedNodeTypeModificationsError {}
12316#[derive(Debug, PartialEq)]
12318pub enum ListTagsForResourceError {
12319 CacheClusterNotFoundFault(String),
12321 InvalidARNFault(String),
12323 SnapshotNotFoundFault(String),
12325}
12326
12327impl ListTagsForResourceError {
12328 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListTagsForResourceError> {
12329 {
12330 let reader = EventReader::new(res.body.as_ref());
12331 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12332 find_start_element(&mut stack);
12333 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12334 match &parsed_error.code[..] {
12335 "CacheClusterNotFound" => {
12336 return RusotoError::Service(
12337 ListTagsForResourceError::CacheClusterNotFoundFault(
12338 parsed_error.message,
12339 ),
12340 )
12341 }
12342 "InvalidARN" => {
12343 return RusotoError::Service(ListTagsForResourceError::InvalidARNFault(
12344 parsed_error.message,
12345 ))
12346 }
12347 "SnapshotNotFoundFault" => {
12348 return RusotoError::Service(
12349 ListTagsForResourceError::SnapshotNotFoundFault(parsed_error.message),
12350 )
12351 }
12352 _ => {}
12353 }
12354 }
12355 }
12356 RusotoError::Unknown(res)
12357 }
12358
12359 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12360 where
12361 T: Peek + Next,
12362 {
12363 xml_util::start_element("ErrorResponse", stack)?;
12364 XmlErrorDeserializer::deserialize("Error", stack)
12365 }
12366}
12367impl fmt::Display for ListTagsForResourceError {
12368 #[allow(unused_variables)]
12369 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12370 match *self {
12371 ListTagsForResourceError::CacheClusterNotFoundFault(ref cause) => {
12372 write!(f, "{}", cause)
12373 }
12374 ListTagsForResourceError::InvalidARNFault(ref cause) => write!(f, "{}", cause),
12375 ListTagsForResourceError::SnapshotNotFoundFault(ref cause) => write!(f, "{}", cause),
12376 }
12377 }
12378}
12379impl Error for ListTagsForResourceError {}
12380#[derive(Debug, PartialEq)]
12382pub enum ModifyCacheClusterError {
12383 CacheClusterNotFoundFault(String),
12385 CacheParameterGroupNotFoundFault(String),
12387 CacheSecurityGroupNotFoundFault(String),
12389 InsufficientCacheClusterCapacityFault(String),
12391 InvalidCacheClusterStateFault(String),
12393 InvalidCacheSecurityGroupStateFault(String),
12395 InvalidParameterCombination(String),
12397 InvalidParameterValue(String),
12399 InvalidVPCNetworkStateFault(String),
12401 NodeQuotaForClusterExceededFault(String),
12403 NodeQuotaForCustomerExceededFault(String),
12405}
12406
12407impl ModifyCacheClusterError {
12408 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ModifyCacheClusterError> {
12409 {
12410 let reader = EventReader::new(res.body.as_ref());
12411 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12412 find_start_element(&mut stack);
12413 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12414 match &parsed_error.code[..] {
12415 "CacheClusterNotFound" => {
12416 return RusotoError::Service(
12417 ModifyCacheClusterError::CacheClusterNotFoundFault(
12418 parsed_error.message,
12419 ),
12420 )
12421 }
12422 "CacheParameterGroupNotFound" => {
12423 return RusotoError::Service(
12424 ModifyCacheClusterError::CacheParameterGroupNotFoundFault(
12425 parsed_error.message,
12426 ),
12427 )
12428 }
12429 "CacheSecurityGroupNotFound" => {
12430 return RusotoError::Service(
12431 ModifyCacheClusterError::CacheSecurityGroupNotFoundFault(
12432 parsed_error.message,
12433 ),
12434 )
12435 }
12436 "InsufficientCacheClusterCapacity" => {
12437 return RusotoError::Service(
12438 ModifyCacheClusterError::InsufficientCacheClusterCapacityFault(
12439 parsed_error.message,
12440 ),
12441 )
12442 }
12443 "InvalidCacheClusterState" => {
12444 return RusotoError::Service(
12445 ModifyCacheClusterError::InvalidCacheClusterStateFault(
12446 parsed_error.message,
12447 ),
12448 )
12449 }
12450 "InvalidCacheSecurityGroupState" => {
12451 return RusotoError::Service(
12452 ModifyCacheClusterError::InvalidCacheSecurityGroupStateFault(
12453 parsed_error.message,
12454 ),
12455 )
12456 }
12457 "InvalidParameterCombination" => {
12458 return RusotoError::Service(
12459 ModifyCacheClusterError::InvalidParameterCombination(
12460 parsed_error.message,
12461 ),
12462 )
12463 }
12464 "InvalidParameterValue" => {
12465 return RusotoError::Service(
12466 ModifyCacheClusterError::InvalidParameterValue(parsed_error.message),
12467 )
12468 }
12469 "InvalidVPCNetworkStateFault" => {
12470 return RusotoError::Service(
12471 ModifyCacheClusterError::InvalidVPCNetworkStateFault(
12472 parsed_error.message,
12473 ),
12474 )
12475 }
12476 "NodeQuotaForClusterExceeded" => {
12477 return RusotoError::Service(
12478 ModifyCacheClusterError::NodeQuotaForClusterExceededFault(
12479 parsed_error.message,
12480 ),
12481 )
12482 }
12483 "NodeQuotaForCustomerExceeded" => {
12484 return RusotoError::Service(
12485 ModifyCacheClusterError::NodeQuotaForCustomerExceededFault(
12486 parsed_error.message,
12487 ),
12488 )
12489 }
12490 _ => {}
12491 }
12492 }
12493 }
12494 RusotoError::Unknown(res)
12495 }
12496
12497 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12498 where
12499 T: Peek + Next,
12500 {
12501 xml_util::start_element("ErrorResponse", stack)?;
12502 XmlErrorDeserializer::deserialize("Error", stack)
12503 }
12504}
12505impl fmt::Display for ModifyCacheClusterError {
12506 #[allow(unused_variables)]
12507 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12508 match *self {
12509 ModifyCacheClusterError::CacheClusterNotFoundFault(ref cause) => write!(f, "{}", cause),
12510 ModifyCacheClusterError::CacheParameterGroupNotFoundFault(ref cause) => {
12511 write!(f, "{}", cause)
12512 }
12513 ModifyCacheClusterError::CacheSecurityGroupNotFoundFault(ref cause) => {
12514 write!(f, "{}", cause)
12515 }
12516 ModifyCacheClusterError::InsufficientCacheClusterCapacityFault(ref cause) => {
12517 write!(f, "{}", cause)
12518 }
12519 ModifyCacheClusterError::InvalidCacheClusterStateFault(ref cause) => {
12520 write!(f, "{}", cause)
12521 }
12522 ModifyCacheClusterError::InvalidCacheSecurityGroupStateFault(ref cause) => {
12523 write!(f, "{}", cause)
12524 }
12525 ModifyCacheClusterError::InvalidParameterCombination(ref cause) => {
12526 write!(f, "{}", cause)
12527 }
12528 ModifyCacheClusterError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
12529 ModifyCacheClusterError::InvalidVPCNetworkStateFault(ref cause) => {
12530 write!(f, "{}", cause)
12531 }
12532 ModifyCacheClusterError::NodeQuotaForClusterExceededFault(ref cause) => {
12533 write!(f, "{}", cause)
12534 }
12535 ModifyCacheClusterError::NodeQuotaForCustomerExceededFault(ref cause) => {
12536 write!(f, "{}", cause)
12537 }
12538 }
12539 }
12540}
12541impl Error for ModifyCacheClusterError {}
12542#[derive(Debug, PartialEq)]
12544pub enum ModifyCacheParameterGroupError {
12545 CacheParameterGroupNotFoundFault(String),
12547 InvalidCacheParameterGroupStateFault(String),
12549 InvalidGlobalReplicationGroupStateFault(String),
12551 InvalidParameterCombination(String),
12553 InvalidParameterValue(String),
12555}
12556
12557impl ModifyCacheParameterGroupError {
12558 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ModifyCacheParameterGroupError> {
12559 {
12560 let reader = EventReader::new(res.body.as_ref());
12561 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12562 find_start_element(&mut stack);
12563 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12564 match &parsed_error.code[..] {
12565 "CacheParameterGroupNotFound" => {
12566 return RusotoError::Service(
12567 ModifyCacheParameterGroupError::CacheParameterGroupNotFoundFault(
12568 parsed_error.message,
12569 ),
12570 )
12571 }
12572 "InvalidCacheParameterGroupState" => {
12573 return RusotoError::Service(
12574 ModifyCacheParameterGroupError::InvalidCacheParameterGroupStateFault(
12575 parsed_error.message,
12576 ),
12577 )
12578 }
12579 "InvalidGlobalReplicationGroupState" => {
12580 return RusotoError::Service(
12581 ModifyCacheParameterGroupError::InvalidGlobalReplicationGroupStateFault(
12582 parsed_error.message,
12583 ),
12584 )
12585 }
12586 "InvalidParameterCombination" => {
12587 return RusotoError::Service(
12588 ModifyCacheParameterGroupError::InvalidParameterCombination(
12589 parsed_error.message,
12590 ),
12591 )
12592 }
12593 "InvalidParameterValue" => {
12594 return RusotoError::Service(
12595 ModifyCacheParameterGroupError::InvalidParameterValue(
12596 parsed_error.message,
12597 ),
12598 )
12599 }
12600 _ => {}
12601 }
12602 }
12603 }
12604 RusotoError::Unknown(res)
12605 }
12606
12607 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12608 where
12609 T: Peek + Next,
12610 {
12611 xml_util::start_element("ErrorResponse", stack)?;
12612 XmlErrorDeserializer::deserialize("Error", stack)
12613 }
12614}
12615impl fmt::Display for ModifyCacheParameterGroupError {
12616 #[allow(unused_variables)]
12617 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12618 match *self {
12619 ModifyCacheParameterGroupError::CacheParameterGroupNotFoundFault(ref cause) => {
12620 write!(f, "{}", cause)
12621 }
12622 ModifyCacheParameterGroupError::InvalidCacheParameterGroupStateFault(ref cause) => {
12623 write!(f, "{}", cause)
12624 }
12625 ModifyCacheParameterGroupError::InvalidGlobalReplicationGroupStateFault(ref cause) => {
12626 write!(f, "{}", cause)
12627 }
12628 ModifyCacheParameterGroupError::InvalidParameterCombination(ref cause) => {
12629 write!(f, "{}", cause)
12630 }
12631 ModifyCacheParameterGroupError::InvalidParameterValue(ref cause) => {
12632 write!(f, "{}", cause)
12633 }
12634 }
12635 }
12636}
12637impl Error for ModifyCacheParameterGroupError {}
12638#[derive(Debug, PartialEq)]
12640pub enum ModifyCacheSubnetGroupError {
12641 CacheSubnetGroupNotFoundFault(String),
12643 CacheSubnetQuotaExceededFault(String),
12645 InvalidSubnet(String),
12647 SubnetInUse(String),
12649}
12650
12651impl ModifyCacheSubnetGroupError {
12652 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ModifyCacheSubnetGroupError> {
12653 {
12654 let reader = EventReader::new(res.body.as_ref());
12655 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12656 find_start_element(&mut stack);
12657 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12658 match &parsed_error.code[..] {
12659 "CacheSubnetGroupNotFoundFault" => {
12660 return RusotoError::Service(
12661 ModifyCacheSubnetGroupError::CacheSubnetGroupNotFoundFault(
12662 parsed_error.message,
12663 ),
12664 )
12665 }
12666 "CacheSubnetQuotaExceededFault" => {
12667 return RusotoError::Service(
12668 ModifyCacheSubnetGroupError::CacheSubnetQuotaExceededFault(
12669 parsed_error.message,
12670 ),
12671 )
12672 }
12673 "InvalidSubnet" => {
12674 return RusotoError::Service(ModifyCacheSubnetGroupError::InvalidSubnet(
12675 parsed_error.message,
12676 ))
12677 }
12678 "SubnetInUse" => {
12679 return RusotoError::Service(ModifyCacheSubnetGroupError::SubnetInUse(
12680 parsed_error.message,
12681 ))
12682 }
12683 _ => {}
12684 }
12685 }
12686 }
12687 RusotoError::Unknown(res)
12688 }
12689
12690 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12691 where
12692 T: Peek + Next,
12693 {
12694 xml_util::start_element("ErrorResponse", stack)?;
12695 XmlErrorDeserializer::deserialize("Error", stack)
12696 }
12697}
12698impl fmt::Display for ModifyCacheSubnetGroupError {
12699 #[allow(unused_variables)]
12700 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12701 match *self {
12702 ModifyCacheSubnetGroupError::CacheSubnetGroupNotFoundFault(ref cause) => {
12703 write!(f, "{}", cause)
12704 }
12705 ModifyCacheSubnetGroupError::CacheSubnetQuotaExceededFault(ref cause) => {
12706 write!(f, "{}", cause)
12707 }
12708 ModifyCacheSubnetGroupError::InvalidSubnet(ref cause) => write!(f, "{}", cause),
12709 ModifyCacheSubnetGroupError::SubnetInUse(ref cause) => write!(f, "{}", cause),
12710 }
12711 }
12712}
12713impl Error for ModifyCacheSubnetGroupError {}
12714#[derive(Debug, PartialEq)]
12716pub enum ModifyGlobalReplicationGroupError {
12717 GlobalReplicationGroupNotFoundFault(String),
12719 InvalidGlobalReplicationGroupStateFault(String),
12721 InvalidParameterValue(String),
12723}
12724
12725impl ModifyGlobalReplicationGroupError {
12726 pub fn from_response(
12727 res: BufferedHttpResponse,
12728 ) -> RusotoError<ModifyGlobalReplicationGroupError> {
12729 {
12730 let reader = EventReader::new(res.body.as_ref());
12731 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12732 find_start_element(&mut stack);
12733 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12734 match &parsed_error.code[..] {
12735 "GlobalReplicationGroupNotFoundFault" => {
12736 return RusotoError::Service(
12737 ModifyGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(
12738 parsed_error.message,
12739 ),
12740 )
12741 }
12742 "InvalidGlobalReplicationGroupState" => return RusotoError::Service(
12743 ModifyGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(
12744 parsed_error.message,
12745 ),
12746 ),
12747 "InvalidParameterValue" => {
12748 return RusotoError::Service(
12749 ModifyGlobalReplicationGroupError::InvalidParameterValue(
12750 parsed_error.message,
12751 ),
12752 )
12753 }
12754 _ => {}
12755 }
12756 }
12757 }
12758 RusotoError::Unknown(res)
12759 }
12760
12761 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12762 where
12763 T: Peek + Next,
12764 {
12765 xml_util::start_element("ErrorResponse", stack)?;
12766 XmlErrorDeserializer::deserialize("Error", stack)
12767 }
12768}
12769impl fmt::Display for ModifyGlobalReplicationGroupError {
12770 #[allow(unused_variables)]
12771 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12772 match *self {
12773 ModifyGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(ref cause) => {
12774 write!(f, "{}", cause)
12775 }
12776 ModifyGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(
12777 ref cause,
12778 ) => write!(f, "{}", cause),
12779 ModifyGlobalReplicationGroupError::InvalidParameterValue(ref cause) => {
12780 write!(f, "{}", cause)
12781 }
12782 }
12783 }
12784}
12785impl Error for ModifyGlobalReplicationGroupError {}
12786#[derive(Debug, PartialEq)]
12788pub enum ModifyReplicationGroupError {
12789 CacheClusterNotFoundFault(String),
12791 CacheParameterGroupNotFoundFault(String),
12793 CacheSecurityGroupNotFoundFault(String),
12795 InsufficientCacheClusterCapacityFault(String),
12797 InvalidCacheClusterStateFault(String),
12799 InvalidCacheSecurityGroupStateFault(String),
12801 InvalidKMSKeyFault(String),
12803 InvalidParameterCombination(String),
12805 InvalidParameterValue(String),
12807 InvalidReplicationGroupStateFault(String),
12809 InvalidVPCNetworkStateFault(String),
12811 NodeQuotaForClusterExceededFault(String),
12813 NodeQuotaForCustomerExceededFault(String),
12815 ReplicationGroupNotFoundFault(String),
12817}
12818
12819impl ModifyReplicationGroupError {
12820 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ModifyReplicationGroupError> {
12821 {
12822 let reader = EventReader::new(res.body.as_ref());
12823 let mut stack = XmlResponse::new(reader.into_iter().peekable());
12824 find_start_element(&mut stack);
12825 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
12826 match &parsed_error.code[..] {
12827 "CacheClusterNotFound" => {
12828 return RusotoError::Service(
12829 ModifyReplicationGroupError::CacheClusterNotFoundFault(
12830 parsed_error.message,
12831 ),
12832 )
12833 }
12834 "CacheParameterGroupNotFound" => {
12835 return RusotoError::Service(
12836 ModifyReplicationGroupError::CacheParameterGroupNotFoundFault(
12837 parsed_error.message,
12838 ),
12839 )
12840 }
12841 "CacheSecurityGroupNotFound" => {
12842 return RusotoError::Service(
12843 ModifyReplicationGroupError::CacheSecurityGroupNotFoundFault(
12844 parsed_error.message,
12845 ),
12846 )
12847 }
12848 "InsufficientCacheClusterCapacity" => {
12849 return RusotoError::Service(
12850 ModifyReplicationGroupError::InsufficientCacheClusterCapacityFault(
12851 parsed_error.message,
12852 ),
12853 )
12854 }
12855 "InvalidCacheClusterState" => {
12856 return RusotoError::Service(
12857 ModifyReplicationGroupError::InvalidCacheClusterStateFault(
12858 parsed_error.message,
12859 ),
12860 )
12861 }
12862 "InvalidCacheSecurityGroupState" => {
12863 return RusotoError::Service(
12864 ModifyReplicationGroupError::InvalidCacheSecurityGroupStateFault(
12865 parsed_error.message,
12866 ),
12867 )
12868 }
12869 "InvalidKMSKeyFault" => {
12870 return RusotoError::Service(
12871 ModifyReplicationGroupError::InvalidKMSKeyFault(parsed_error.message),
12872 )
12873 }
12874 "InvalidParameterCombination" => {
12875 return RusotoError::Service(
12876 ModifyReplicationGroupError::InvalidParameterCombination(
12877 parsed_error.message,
12878 ),
12879 )
12880 }
12881 "InvalidParameterValue" => {
12882 return RusotoError::Service(
12883 ModifyReplicationGroupError::InvalidParameterValue(
12884 parsed_error.message,
12885 ),
12886 )
12887 }
12888 "InvalidReplicationGroupState" => {
12889 return RusotoError::Service(
12890 ModifyReplicationGroupError::InvalidReplicationGroupStateFault(
12891 parsed_error.message,
12892 ),
12893 )
12894 }
12895 "InvalidVPCNetworkStateFault" => {
12896 return RusotoError::Service(
12897 ModifyReplicationGroupError::InvalidVPCNetworkStateFault(
12898 parsed_error.message,
12899 ),
12900 )
12901 }
12902 "NodeQuotaForClusterExceeded" => {
12903 return RusotoError::Service(
12904 ModifyReplicationGroupError::NodeQuotaForClusterExceededFault(
12905 parsed_error.message,
12906 ),
12907 )
12908 }
12909 "NodeQuotaForCustomerExceeded" => {
12910 return RusotoError::Service(
12911 ModifyReplicationGroupError::NodeQuotaForCustomerExceededFault(
12912 parsed_error.message,
12913 ),
12914 )
12915 }
12916 "ReplicationGroupNotFoundFault" => {
12917 return RusotoError::Service(
12918 ModifyReplicationGroupError::ReplicationGroupNotFoundFault(
12919 parsed_error.message,
12920 ),
12921 )
12922 }
12923 _ => {}
12924 }
12925 }
12926 }
12927 RusotoError::Unknown(res)
12928 }
12929
12930 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
12931 where
12932 T: Peek + Next,
12933 {
12934 xml_util::start_element("ErrorResponse", stack)?;
12935 XmlErrorDeserializer::deserialize("Error", stack)
12936 }
12937}
12938impl fmt::Display for ModifyReplicationGroupError {
12939 #[allow(unused_variables)]
12940 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12941 match *self {
12942 ModifyReplicationGroupError::CacheClusterNotFoundFault(ref cause) => {
12943 write!(f, "{}", cause)
12944 }
12945 ModifyReplicationGroupError::CacheParameterGroupNotFoundFault(ref cause) => {
12946 write!(f, "{}", cause)
12947 }
12948 ModifyReplicationGroupError::CacheSecurityGroupNotFoundFault(ref cause) => {
12949 write!(f, "{}", cause)
12950 }
12951 ModifyReplicationGroupError::InsufficientCacheClusterCapacityFault(ref cause) => {
12952 write!(f, "{}", cause)
12953 }
12954 ModifyReplicationGroupError::InvalidCacheClusterStateFault(ref cause) => {
12955 write!(f, "{}", cause)
12956 }
12957 ModifyReplicationGroupError::InvalidCacheSecurityGroupStateFault(ref cause) => {
12958 write!(f, "{}", cause)
12959 }
12960 ModifyReplicationGroupError::InvalidKMSKeyFault(ref cause) => write!(f, "{}", cause),
12961 ModifyReplicationGroupError::InvalidParameterCombination(ref cause) => {
12962 write!(f, "{}", cause)
12963 }
12964 ModifyReplicationGroupError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
12965 ModifyReplicationGroupError::InvalidReplicationGroupStateFault(ref cause) => {
12966 write!(f, "{}", cause)
12967 }
12968 ModifyReplicationGroupError::InvalidVPCNetworkStateFault(ref cause) => {
12969 write!(f, "{}", cause)
12970 }
12971 ModifyReplicationGroupError::NodeQuotaForClusterExceededFault(ref cause) => {
12972 write!(f, "{}", cause)
12973 }
12974 ModifyReplicationGroupError::NodeQuotaForCustomerExceededFault(ref cause) => {
12975 write!(f, "{}", cause)
12976 }
12977 ModifyReplicationGroupError::ReplicationGroupNotFoundFault(ref cause) => {
12978 write!(f, "{}", cause)
12979 }
12980 }
12981 }
12982}
12983impl Error for ModifyReplicationGroupError {}
12984#[derive(Debug, PartialEq)]
12986pub enum ModifyReplicationGroupShardConfigurationError {
12987 InsufficientCacheClusterCapacityFault(String),
12989 InvalidCacheClusterStateFault(String),
12991 InvalidKMSKeyFault(String),
12993 InvalidParameterCombination(String),
12995 InvalidParameterValue(String),
12997 InvalidReplicationGroupStateFault(String),
12999 InvalidVPCNetworkStateFault(String),
13001 NodeGroupsPerReplicationGroupQuotaExceededFault(String),
13003 NodeQuotaForCustomerExceededFault(String),
13005 ReplicationGroupNotFoundFault(String),
13007}
13008
13009impl ModifyReplicationGroupShardConfigurationError {
13010 pub fn from_response(
13011 res: BufferedHttpResponse,
13012 ) -> RusotoError<ModifyReplicationGroupShardConfigurationError> {
13013 {
13014 let reader = EventReader::new(res.body.as_ref());
13015 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13016 find_start_element(&mut stack);
13017 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13018 match &parsed_error.code[..] {
13019 "InsufficientCacheClusterCapacity" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::InsufficientCacheClusterCapacityFault(parsed_error.message)),"InvalidCacheClusterState" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::InvalidCacheClusterStateFault(parsed_error.message)),"InvalidKMSKeyFault" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::InvalidKMSKeyFault(parsed_error.message)),"InvalidParameterCombination" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::InvalidParameterValue(parsed_error.message)),"InvalidReplicationGroupState" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::InvalidReplicationGroupStateFault(parsed_error.message)),"InvalidVPCNetworkStateFault" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::InvalidVPCNetworkStateFault(parsed_error.message)),"NodeGroupsPerReplicationGroupQuotaExceeded" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::NodeGroupsPerReplicationGroupQuotaExceededFault(parsed_error.message)),"NodeQuotaForCustomerExceeded" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::NodeQuotaForCustomerExceededFault(parsed_error.message)),"ReplicationGroupNotFoundFault" => return RusotoError::Service(ModifyReplicationGroupShardConfigurationError::ReplicationGroupNotFoundFault(parsed_error.message)),_ => {}
13020 }
13021 }
13022 }
13023 RusotoError::Unknown(res)
13024 }
13025
13026 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13027 where
13028 T: Peek + Next,
13029 {
13030 xml_util::start_element("ErrorResponse", stack)?;
13031 XmlErrorDeserializer::deserialize("Error", stack)
13032 }
13033}
13034impl fmt::Display for ModifyReplicationGroupShardConfigurationError {
13035 #[allow(unused_variables)]
13036 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13037 match *self {
13038 ModifyReplicationGroupShardConfigurationError::InsufficientCacheClusterCapacityFault(ref cause) => write!(f, "{}", cause),
13039ModifyReplicationGroupShardConfigurationError::InvalidCacheClusterStateFault(ref cause) => write!(f, "{}", cause),
13040ModifyReplicationGroupShardConfigurationError::InvalidKMSKeyFault(ref cause) => write!(f, "{}", cause),
13041ModifyReplicationGroupShardConfigurationError::InvalidParameterCombination(ref cause) => write!(f, "{}", cause),
13042ModifyReplicationGroupShardConfigurationError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
13043ModifyReplicationGroupShardConfigurationError::InvalidReplicationGroupStateFault(ref cause) => write!(f, "{}", cause),
13044ModifyReplicationGroupShardConfigurationError::InvalidVPCNetworkStateFault(ref cause) => write!(f, "{}", cause),
13045ModifyReplicationGroupShardConfigurationError::NodeGroupsPerReplicationGroupQuotaExceededFault(ref cause) => write!(f, "{}", cause),
13046ModifyReplicationGroupShardConfigurationError::NodeQuotaForCustomerExceededFault(ref cause) => write!(f, "{}", cause),
13047ModifyReplicationGroupShardConfigurationError::ReplicationGroupNotFoundFault(ref cause) => write!(f, "{}", cause)
13048 }
13049 }
13050}
13051impl Error for ModifyReplicationGroupShardConfigurationError {}
13052#[derive(Debug, PartialEq)]
13054pub enum PurchaseReservedCacheNodesOfferingError {
13055 InvalidParameterCombination(String),
13057 InvalidParameterValue(String),
13059 ReservedCacheNodeAlreadyExistsFault(String),
13061 ReservedCacheNodeQuotaExceededFault(String),
13063 ReservedCacheNodesOfferingNotFoundFault(String),
13065}
13066
13067impl PurchaseReservedCacheNodesOfferingError {
13068 pub fn from_response(
13069 res: BufferedHttpResponse,
13070 ) -> RusotoError<PurchaseReservedCacheNodesOfferingError> {
13071 {
13072 let reader = EventReader::new(res.body.as_ref());
13073 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13074 find_start_element(&mut stack);
13075 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13076 match &parsed_error.code[..] {
13077 "InvalidParameterCombination" => return RusotoError::Service(PurchaseReservedCacheNodesOfferingError::InvalidParameterCombination(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(PurchaseReservedCacheNodesOfferingError::InvalidParameterValue(parsed_error.message)),"ReservedCacheNodeAlreadyExists" => return RusotoError::Service(PurchaseReservedCacheNodesOfferingError::ReservedCacheNodeAlreadyExistsFault(parsed_error.message)),"ReservedCacheNodeQuotaExceeded" => return RusotoError::Service(PurchaseReservedCacheNodesOfferingError::ReservedCacheNodeQuotaExceededFault(parsed_error.message)),"ReservedCacheNodesOfferingNotFound" => return RusotoError::Service(PurchaseReservedCacheNodesOfferingError::ReservedCacheNodesOfferingNotFoundFault(parsed_error.message)),_ => {}
13078 }
13079 }
13080 }
13081 RusotoError::Unknown(res)
13082 }
13083
13084 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13085 where
13086 T: Peek + Next,
13087 {
13088 xml_util::start_element("ErrorResponse", stack)?;
13089 XmlErrorDeserializer::deserialize("Error", stack)
13090 }
13091}
13092impl fmt::Display for PurchaseReservedCacheNodesOfferingError {
13093 #[allow(unused_variables)]
13094 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13095 match *self {
13096 PurchaseReservedCacheNodesOfferingError::InvalidParameterCombination(ref cause) => {
13097 write!(f, "{}", cause)
13098 }
13099 PurchaseReservedCacheNodesOfferingError::InvalidParameterValue(ref cause) => {
13100 write!(f, "{}", cause)
13101 }
13102 PurchaseReservedCacheNodesOfferingError::ReservedCacheNodeAlreadyExistsFault(
13103 ref cause,
13104 ) => write!(f, "{}", cause),
13105 PurchaseReservedCacheNodesOfferingError::ReservedCacheNodeQuotaExceededFault(
13106 ref cause,
13107 ) => write!(f, "{}", cause),
13108 PurchaseReservedCacheNodesOfferingError::ReservedCacheNodesOfferingNotFoundFault(
13109 ref cause,
13110 ) => write!(f, "{}", cause),
13111 }
13112 }
13113}
13114impl Error for PurchaseReservedCacheNodesOfferingError {}
13115#[derive(Debug, PartialEq)]
13117pub enum RebalanceSlotsInGlobalReplicationGroupError {
13118 GlobalReplicationGroupNotFoundFault(String),
13120 InvalidGlobalReplicationGroupStateFault(String),
13122 InvalidParameterValue(String),
13124}
13125
13126impl RebalanceSlotsInGlobalReplicationGroupError {
13127 pub fn from_response(
13128 res: BufferedHttpResponse,
13129 ) -> RusotoError<RebalanceSlotsInGlobalReplicationGroupError> {
13130 {
13131 let reader = EventReader::new(res.body.as_ref());
13132 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13133 find_start_element(&mut stack);
13134 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13135 match &parsed_error.code[..] {
13136 "GlobalReplicationGroupNotFoundFault" => return RusotoError::Service(RebalanceSlotsInGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(parsed_error.message)),"InvalidGlobalReplicationGroupState" => return RusotoError::Service(RebalanceSlotsInGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(parsed_error.message)),"InvalidParameterValue" => return RusotoError::Service(RebalanceSlotsInGlobalReplicationGroupError::InvalidParameterValue(parsed_error.message)),_ => {}
13137 }
13138 }
13139 }
13140 RusotoError::Unknown(res)
13141 }
13142
13143 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13144 where
13145 T: Peek + Next,
13146 {
13147 xml_util::start_element("ErrorResponse", stack)?;
13148 XmlErrorDeserializer::deserialize("Error", stack)
13149 }
13150}
13151impl fmt::Display for RebalanceSlotsInGlobalReplicationGroupError {
13152 #[allow(unused_variables)]
13153 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13154 match *self {
13155 RebalanceSlotsInGlobalReplicationGroupError::GlobalReplicationGroupNotFoundFault(ref cause) => write!(f, "{}", cause),
13156RebalanceSlotsInGlobalReplicationGroupError::InvalidGlobalReplicationGroupStateFault(ref cause) => write!(f, "{}", cause),
13157RebalanceSlotsInGlobalReplicationGroupError::InvalidParameterValue(ref cause) => write!(f, "{}", cause)
13158 }
13159 }
13160}
13161impl Error for RebalanceSlotsInGlobalReplicationGroupError {}
13162#[derive(Debug, PartialEq)]
13164pub enum RebootCacheClusterError {
13165 CacheClusterNotFoundFault(String),
13167 InvalidCacheClusterStateFault(String),
13169}
13170
13171impl RebootCacheClusterError {
13172 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RebootCacheClusterError> {
13173 {
13174 let reader = EventReader::new(res.body.as_ref());
13175 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13176 find_start_element(&mut stack);
13177 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13178 match &parsed_error.code[..] {
13179 "CacheClusterNotFound" => {
13180 return RusotoError::Service(
13181 RebootCacheClusterError::CacheClusterNotFoundFault(
13182 parsed_error.message,
13183 ),
13184 )
13185 }
13186 "InvalidCacheClusterState" => {
13187 return RusotoError::Service(
13188 RebootCacheClusterError::InvalidCacheClusterStateFault(
13189 parsed_error.message,
13190 ),
13191 )
13192 }
13193 _ => {}
13194 }
13195 }
13196 }
13197 RusotoError::Unknown(res)
13198 }
13199
13200 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13201 where
13202 T: Peek + Next,
13203 {
13204 xml_util::start_element("ErrorResponse", stack)?;
13205 XmlErrorDeserializer::deserialize("Error", stack)
13206 }
13207}
13208impl fmt::Display for RebootCacheClusterError {
13209 #[allow(unused_variables)]
13210 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13211 match *self {
13212 RebootCacheClusterError::CacheClusterNotFoundFault(ref cause) => write!(f, "{}", cause),
13213 RebootCacheClusterError::InvalidCacheClusterStateFault(ref cause) => {
13214 write!(f, "{}", cause)
13215 }
13216 }
13217 }
13218}
13219impl Error for RebootCacheClusterError {}
13220#[derive(Debug, PartialEq)]
13222pub enum RemoveTagsFromResourceError {
13223 CacheClusterNotFoundFault(String),
13225 InvalidARNFault(String),
13227 SnapshotNotFoundFault(String),
13229 TagNotFoundFault(String),
13231}
13232
13233impl RemoveTagsFromResourceError {
13234 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RemoveTagsFromResourceError> {
13235 {
13236 let reader = EventReader::new(res.body.as_ref());
13237 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13238 find_start_element(&mut stack);
13239 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13240 match &parsed_error.code[..] {
13241 "CacheClusterNotFound" => {
13242 return RusotoError::Service(
13243 RemoveTagsFromResourceError::CacheClusterNotFoundFault(
13244 parsed_error.message,
13245 ),
13246 )
13247 }
13248 "InvalidARN" => {
13249 return RusotoError::Service(RemoveTagsFromResourceError::InvalidARNFault(
13250 parsed_error.message,
13251 ))
13252 }
13253 "SnapshotNotFoundFault" => {
13254 return RusotoError::Service(
13255 RemoveTagsFromResourceError::SnapshotNotFoundFault(
13256 parsed_error.message,
13257 ),
13258 )
13259 }
13260 "TagNotFound" => {
13261 return RusotoError::Service(RemoveTagsFromResourceError::TagNotFoundFault(
13262 parsed_error.message,
13263 ))
13264 }
13265 _ => {}
13266 }
13267 }
13268 }
13269 RusotoError::Unknown(res)
13270 }
13271
13272 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13273 where
13274 T: Peek + Next,
13275 {
13276 xml_util::start_element("ErrorResponse", stack)?;
13277 XmlErrorDeserializer::deserialize("Error", stack)
13278 }
13279}
13280impl fmt::Display for RemoveTagsFromResourceError {
13281 #[allow(unused_variables)]
13282 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13283 match *self {
13284 RemoveTagsFromResourceError::CacheClusterNotFoundFault(ref cause) => {
13285 write!(f, "{}", cause)
13286 }
13287 RemoveTagsFromResourceError::InvalidARNFault(ref cause) => write!(f, "{}", cause),
13288 RemoveTagsFromResourceError::SnapshotNotFoundFault(ref cause) => write!(f, "{}", cause),
13289 RemoveTagsFromResourceError::TagNotFoundFault(ref cause) => write!(f, "{}", cause),
13290 }
13291 }
13292}
13293impl Error for RemoveTagsFromResourceError {}
13294#[derive(Debug, PartialEq)]
13296pub enum ResetCacheParameterGroupError {
13297 CacheParameterGroupNotFoundFault(String),
13299 InvalidCacheParameterGroupStateFault(String),
13301 InvalidGlobalReplicationGroupStateFault(String),
13303 InvalidParameterCombination(String),
13305 InvalidParameterValue(String),
13307}
13308
13309impl ResetCacheParameterGroupError {
13310 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ResetCacheParameterGroupError> {
13311 {
13312 let reader = EventReader::new(res.body.as_ref());
13313 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13314 find_start_element(&mut stack);
13315 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13316 match &parsed_error.code[..] {
13317 "CacheParameterGroupNotFound" => {
13318 return RusotoError::Service(
13319 ResetCacheParameterGroupError::CacheParameterGroupNotFoundFault(
13320 parsed_error.message,
13321 ),
13322 )
13323 }
13324 "InvalidCacheParameterGroupState" => {
13325 return RusotoError::Service(
13326 ResetCacheParameterGroupError::InvalidCacheParameterGroupStateFault(
13327 parsed_error.message,
13328 ),
13329 )
13330 }
13331 "InvalidGlobalReplicationGroupState" => {
13332 return RusotoError::Service(
13333 ResetCacheParameterGroupError::InvalidGlobalReplicationGroupStateFault(
13334 parsed_error.message,
13335 ),
13336 )
13337 }
13338 "InvalidParameterCombination" => {
13339 return RusotoError::Service(
13340 ResetCacheParameterGroupError::InvalidParameterCombination(
13341 parsed_error.message,
13342 ),
13343 )
13344 }
13345 "InvalidParameterValue" => {
13346 return RusotoError::Service(
13347 ResetCacheParameterGroupError::InvalidParameterValue(
13348 parsed_error.message,
13349 ),
13350 )
13351 }
13352 _ => {}
13353 }
13354 }
13355 }
13356 RusotoError::Unknown(res)
13357 }
13358
13359 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13360 where
13361 T: Peek + Next,
13362 {
13363 xml_util::start_element("ErrorResponse", stack)?;
13364 XmlErrorDeserializer::deserialize("Error", stack)
13365 }
13366}
13367impl fmt::Display for ResetCacheParameterGroupError {
13368 #[allow(unused_variables)]
13369 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13370 match *self {
13371 ResetCacheParameterGroupError::CacheParameterGroupNotFoundFault(ref cause) => {
13372 write!(f, "{}", cause)
13373 }
13374 ResetCacheParameterGroupError::InvalidCacheParameterGroupStateFault(ref cause) => {
13375 write!(f, "{}", cause)
13376 }
13377 ResetCacheParameterGroupError::InvalidGlobalReplicationGroupStateFault(ref cause) => {
13378 write!(f, "{}", cause)
13379 }
13380 ResetCacheParameterGroupError::InvalidParameterCombination(ref cause) => {
13381 write!(f, "{}", cause)
13382 }
13383 ResetCacheParameterGroupError::InvalidParameterValue(ref cause) => {
13384 write!(f, "{}", cause)
13385 }
13386 }
13387 }
13388}
13389impl Error for ResetCacheParameterGroupError {}
13390#[derive(Debug, PartialEq)]
13392pub enum RevokeCacheSecurityGroupIngressError {
13393 AuthorizationNotFoundFault(String),
13395 CacheSecurityGroupNotFoundFault(String),
13397 InvalidCacheSecurityGroupStateFault(String),
13399 InvalidParameterCombination(String),
13401 InvalidParameterValue(String),
13403}
13404
13405impl RevokeCacheSecurityGroupIngressError {
13406 pub fn from_response(
13407 res: BufferedHttpResponse,
13408 ) -> RusotoError<RevokeCacheSecurityGroupIngressError> {
13409 {
13410 let reader = EventReader::new(res.body.as_ref());
13411 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13412 find_start_element(&mut stack);
13413 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13414 match &parsed_error.code[..] {
13415 "AuthorizationNotFound" => {
13416 return RusotoError::Service(
13417 RevokeCacheSecurityGroupIngressError::AuthorizationNotFoundFault(
13418 parsed_error.message,
13419 ),
13420 )
13421 }
13422 "CacheSecurityGroupNotFound" => {
13423 return RusotoError::Service(
13424 RevokeCacheSecurityGroupIngressError::CacheSecurityGroupNotFoundFault(
13425 parsed_error.message,
13426 ),
13427 )
13428 }
13429 "InvalidCacheSecurityGroupState" => return RusotoError::Service(
13430 RevokeCacheSecurityGroupIngressError::InvalidCacheSecurityGroupStateFault(
13431 parsed_error.message,
13432 ),
13433 ),
13434 "InvalidParameterCombination" => {
13435 return RusotoError::Service(
13436 RevokeCacheSecurityGroupIngressError::InvalidParameterCombination(
13437 parsed_error.message,
13438 ),
13439 )
13440 }
13441 "InvalidParameterValue" => {
13442 return RusotoError::Service(
13443 RevokeCacheSecurityGroupIngressError::InvalidParameterValue(
13444 parsed_error.message,
13445 ),
13446 )
13447 }
13448 _ => {}
13449 }
13450 }
13451 }
13452 RusotoError::Unknown(res)
13453 }
13454
13455 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13456 where
13457 T: Peek + Next,
13458 {
13459 xml_util::start_element("ErrorResponse", stack)?;
13460 XmlErrorDeserializer::deserialize("Error", stack)
13461 }
13462}
13463impl fmt::Display for RevokeCacheSecurityGroupIngressError {
13464 #[allow(unused_variables)]
13465 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13466 match *self {
13467 RevokeCacheSecurityGroupIngressError::AuthorizationNotFoundFault(ref cause) => {
13468 write!(f, "{}", cause)
13469 }
13470 RevokeCacheSecurityGroupIngressError::CacheSecurityGroupNotFoundFault(ref cause) => {
13471 write!(f, "{}", cause)
13472 }
13473 RevokeCacheSecurityGroupIngressError::InvalidCacheSecurityGroupStateFault(
13474 ref cause,
13475 ) => write!(f, "{}", cause),
13476 RevokeCacheSecurityGroupIngressError::InvalidParameterCombination(ref cause) => {
13477 write!(f, "{}", cause)
13478 }
13479 RevokeCacheSecurityGroupIngressError::InvalidParameterValue(ref cause) => {
13480 write!(f, "{}", cause)
13481 }
13482 }
13483 }
13484}
13485impl Error for RevokeCacheSecurityGroupIngressError {}
13486#[derive(Debug, PartialEq)]
13488pub enum StartMigrationError {
13489 InvalidParameterValue(String),
13491 InvalidReplicationGroupStateFault(String),
13493 ReplicationGroupAlreadyUnderMigrationFault(String),
13495 ReplicationGroupNotFoundFault(String),
13497}
13498
13499impl StartMigrationError {
13500 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartMigrationError> {
13501 {
13502 let reader = EventReader::new(res.body.as_ref());
13503 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13504 find_start_element(&mut stack);
13505 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13506 match &parsed_error.code[..] {
13507 "InvalidParameterValue" => {
13508 return RusotoError::Service(StartMigrationError::InvalidParameterValue(
13509 parsed_error.message,
13510 ))
13511 }
13512 "InvalidReplicationGroupState" => {
13513 return RusotoError::Service(
13514 StartMigrationError::InvalidReplicationGroupStateFault(
13515 parsed_error.message,
13516 ),
13517 )
13518 }
13519 "ReplicationGroupAlreadyUnderMigrationFault" => {
13520 return RusotoError::Service(
13521 StartMigrationError::ReplicationGroupAlreadyUnderMigrationFault(
13522 parsed_error.message,
13523 ),
13524 )
13525 }
13526 "ReplicationGroupNotFoundFault" => {
13527 return RusotoError::Service(
13528 StartMigrationError::ReplicationGroupNotFoundFault(
13529 parsed_error.message,
13530 ),
13531 )
13532 }
13533 _ => {}
13534 }
13535 }
13536 }
13537 RusotoError::Unknown(res)
13538 }
13539
13540 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13541 where
13542 T: Peek + Next,
13543 {
13544 xml_util::start_element("ErrorResponse", stack)?;
13545 XmlErrorDeserializer::deserialize("Error", stack)
13546 }
13547}
13548impl fmt::Display for StartMigrationError {
13549 #[allow(unused_variables)]
13550 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13551 match *self {
13552 StartMigrationError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
13553 StartMigrationError::InvalidReplicationGroupStateFault(ref cause) => {
13554 write!(f, "{}", cause)
13555 }
13556 StartMigrationError::ReplicationGroupAlreadyUnderMigrationFault(ref cause) => {
13557 write!(f, "{}", cause)
13558 }
13559 StartMigrationError::ReplicationGroupNotFoundFault(ref cause) => write!(f, "{}", cause),
13560 }
13561 }
13562}
13563impl Error for StartMigrationError {}
13564#[derive(Debug, PartialEq)]
13566pub enum TestFailoverError {
13567 APICallRateForCustomerExceededFault(String),
13569 InvalidCacheClusterStateFault(String),
13571 InvalidKMSKeyFault(String),
13573 InvalidParameterCombination(String),
13575 InvalidParameterValue(String),
13577 InvalidReplicationGroupStateFault(String),
13579 NodeGroupNotFoundFault(String),
13581 ReplicationGroupNotFoundFault(String),
13583 TestFailoverNotAvailableFault(String),
13585}
13586
13587impl TestFailoverError {
13588 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<TestFailoverError> {
13589 {
13590 let reader = EventReader::new(res.body.as_ref());
13591 let mut stack = XmlResponse::new(reader.into_iter().peekable());
13592 find_start_element(&mut stack);
13593 if let Ok(parsed_error) = Self::deserialize(&mut stack) {
13594 match &parsed_error.code[..] {
13595 "APICallRateForCustomerExceeded" => {
13596 return RusotoError::Service(
13597 TestFailoverError::APICallRateForCustomerExceededFault(
13598 parsed_error.message,
13599 ),
13600 )
13601 }
13602 "InvalidCacheClusterState" => {
13603 return RusotoError::Service(
13604 TestFailoverError::InvalidCacheClusterStateFault(parsed_error.message),
13605 )
13606 }
13607 "InvalidKMSKeyFault" => {
13608 return RusotoError::Service(TestFailoverError::InvalidKMSKeyFault(
13609 parsed_error.message,
13610 ))
13611 }
13612 "InvalidParameterCombination" => {
13613 return RusotoError::Service(
13614 TestFailoverError::InvalidParameterCombination(parsed_error.message),
13615 )
13616 }
13617 "InvalidParameterValue" => {
13618 return RusotoError::Service(TestFailoverError::InvalidParameterValue(
13619 parsed_error.message,
13620 ))
13621 }
13622 "InvalidReplicationGroupState" => {
13623 return RusotoError::Service(
13624 TestFailoverError::InvalidReplicationGroupStateFault(
13625 parsed_error.message,
13626 ),
13627 )
13628 }
13629 "NodeGroupNotFoundFault" => {
13630 return RusotoError::Service(TestFailoverError::NodeGroupNotFoundFault(
13631 parsed_error.message,
13632 ))
13633 }
13634 "ReplicationGroupNotFoundFault" => {
13635 return RusotoError::Service(
13636 TestFailoverError::ReplicationGroupNotFoundFault(parsed_error.message),
13637 )
13638 }
13639 "TestFailoverNotAvailableFault" => {
13640 return RusotoError::Service(
13641 TestFailoverError::TestFailoverNotAvailableFault(parsed_error.message),
13642 )
13643 }
13644 _ => {}
13645 }
13646 }
13647 }
13648 RusotoError::Unknown(res)
13649 }
13650
13651 fn deserialize<T>(stack: &mut T) -> Result<XmlError, XmlParseError>
13652 where
13653 T: Peek + Next,
13654 {
13655 xml_util::start_element("ErrorResponse", stack)?;
13656 XmlErrorDeserializer::deserialize("Error", stack)
13657 }
13658}
13659impl fmt::Display for TestFailoverError {
13660 #[allow(unused_variables)]
13661 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13662 match *self {
13663 TestFailoverError::APICallRateForCustomerExceededFault(ref cause) => {
13664 write!(f, "{}", cause)
13665 }
13666 TestFailoverError::InvalidCacheClusterStateFault(ref cause) => write!(f, "{}", cause),
13667 TestFailoverError::InvalidKMSKeyFault(ref cause) => write!(f, "{}", cause),
13668 TestFailoverError::InvalidParameterCombination(ref cause) => write!(f, "{}", cause),
13669 TestFailoverError::InvalidParameterValue(ref cause) => write!(f, "{}", cause),
13670 TestFailoverError::InvalidReplicationGroupStateFault(ref cause) => {
13671 write!(f, "{}", cause)
13672 }
13673 TestFailoverError::NodeGroupNotFoundFault(ref cause) => write!(f, "{}", cause),
13674 TestFailoverError::ReplicationGroupNotFoundFault(ref cause) => write!(f, "{}", cause),
13675 TestFailoverError::TestFailoverNotAvailableFault(ref cause) => write!(f, "{}", cause),
13676 }
13677 }
13678}
13679impl Error for TestFailoverError {}
13680#[async_trait]
13682pub trait ElastiCache {
13683 async fn add_tags_to_resource(
13685 &self,
13686 input: AddTagsToResourceMessage,
13687 ) -> Result<TagListMessage, RusotoError<AddTagsToResourceError>>;
13688
13689 async fn authorize_cache_security_group_ingress(
13691 &self,
13692 input: AuthorizeCacheSecurityGroupIngressMessage,
13693 ) -> Result<
13694 AuthorizeCacheSecurityGroupIngressResult,
13695 RusotoError<AuthorizeCacheSecurityGroupIngressError>,
13696 >;
13697
13698 async fn batch_apply_update_action(
13700 &self,
13701 input: BatchApplyUpdateActionMessage,
13702 ) -> Result<UpdateActionResultsMessage, RusotoError<BatchApplyUpdateActionError>>;
13703
13704 async fn batch_stop_update_action(
13706 &self,
13707 input: BatchStopUpdateActionMessage,
13708 ) -> Result<UpdateActionResultsMessage, RusotoError<BatchStopUpdateActionError>>;
13709
13710 async fn complete_migration(
13712 &self,
13713 input: CompleteMigrationMessage,
13714 ) -> Result<CompleteMigrationResponse, RusotoError<CompleteMigrationError>>;
13715
13716 async fn copy_snapshot(
13718 &self,
13719 input: CopySnapshotMessage,
13720 ) -> Result<CopySnapshotResult, RusotoError<CopySnapshotError>>;
13721
13722 async fn create_cache_cluster(
13724 &self,
13725 input: CreateCacheClusterMessage,
13726 ) -> Result<CreateCacheClusterResult, RusotoError<CreateCacheClusterError>>;
13727
13728 async fn create_cache_parameter_group(
13730 &self,
13731 input: CreateCacheParameterGroupMessage,
13732 ) -> Result<CreateCacheParameterGroupResult, RusotoError<CreateCacheParameterGroupError>>;
13733
13734 async fn create_cache_security_group(
13736 &self,
13737 input: CreateCacheSecurityGroupMessage,
13738 ) -> Result<CreateCacheSecurityGroupResult, RusotoError<CreateCacheSecurityGroupError>>;
13739
13740 async fn create_cache_subnet_group(
13742 &self,
13743 input: CreateCacheSubnetGroupMessage,
13744 ) -> Result<CreateCacheSubnetGroupResult, RusotoError<CreateCacheSubnetGroupError>>;
13745
13746 async fn create_global_replication_group(
13748 &self,
13749 input: CreateGlobalReplicationGroupMessage,
13750 ) -> Result<CreateGlobalReplicationGroupResult, RusotoError<CreateGlobalReplicationGroupError>>;
13751
13752 async fn create_replication_group(
13754 &self,
13755 input: CreateReplicationGroupMessage,
13756 ) -> Result<CreateReplicationGroupResult, RusotoError<CreateReplicationGroupError>>;
13757
13758 async fn create_snapshot(
13760 &self,
13761 input: CreateSnapshotMessage,
13762 ) -> Result<CreateSnapshotResult, RusotoError<CreateSnapshotError>>;
13763
13764 async fn decrease_node_groups_in_global_replication_group(
13766 &self,
13767 input: DecreaseNodeGroupsInGlobalReplicationGroupMessage,
13768 ) -> Result<
13769 DecreaseNodeGroupsInGlobalReplicationGroupResult,
13770 RusotoError<DecreaseNodeGroupsInGlobalReplicationGroupError>,
13771 >;
13772
13773 async fn decrease_replica_count(
13775 &self,
13776 input: DecreaseReplicaCountMessage,
13777 ) -> Result<DecreaseReplicaCountResult, RusotoError<DecreaseReplicaCountError>>;
13778
13779 async fn delete_cache_cluster(
13781 &self,
13782 input: DeleteCacheClusterMessage,
13783 ) -> Result<DeleteCacheClusterResult, RusotoError<DeleteCacheClusterError>>;
13784
13785 async fn delete_cache_parameter_group(
13787 &self,
13788 input: DeleteCacheParameterGroupMessage,
13789 ) -> Result<(), RusotoError<DeleteCacheParameterGroupError>>;
13790
13791 async fn delete_cache_security_group(
13793 &self,
13794 input: DeleteCacheSecurityGroupMessage,
13795 ) -> Result<(), RusotoError<DeleteCacheSecurityGroupError>>;
13796
13797 async fn delete_cache_subnet_group(
13799 &self,
13800 input: DeleteCacheSubnetGroupMessage,
13801 ) -> Result<(), RusotoError<DeleteCacheSubnetGroupError>>;
13802
13803 async fn delete_global_replication_group(
13805 &self,
13806 input: DeleteGlobalReplicationGroupMessage,
13807 ) -> Result<DeleteGlobalReplicationGroupResult, RusotoError<DeleteGlobalReplicationGroupError>>;
13808
13809 async fn delete_replication_group(
13811 &self,
13812 input: DeleteReplicationGroupMessage,
13813 ) -> Result<DeleteReplicationGroupResult, RusotoError<DeleteReplicationGroupError>>;
13814
13815 async fn delete_snapshot(
13817 &self,
13818 input: DeleteSnapshotMessage,
13819 ) -> Result<DeleteSnapshotResult, RusotoError<DeleteSnapshotError>>;
13820
13821 async fn describe_cache_clusters(
13823 &self,
13824 input: DescribeCacheClustersMessage,
13825 ) -> Result<CacheClusterMessage, RusotoError<DescribeCacheClustersError>>;
13826
13827 async fn describe_cache_engine_versions(
13829 &self,
13830 input: DescribeCacheEngineVersionsMessage,
13831 ) -> Result<CacheEngineVersionMessage, RusotoError<DescribeCacheEngineVersionsError>>;
13832
13833 async fn describe_cache_parameter_groups(
13835 &self,
13836 input: DescribeCacheParameterGroupsMessage,
13837 ) -> Result<CacheParameterGroupsMessage, RusotoError<DescribeCacheParameterGroupsError>>;
13838
13839 async fn describe_cache_parameters(
13841 &self,
13842 input: DescribeCacheParametersMessage,
13843 ) -> Result<CacheParameterGroupDetails, RusotoError<DescribeCacheParametersError>>;
13844
13845 async fn describe_cache_security_groups(
13847 &self,
13848 input: DescribeCacheSecurityGroupsMessage,
13849 ) -> Result<CacheSecurityGroupMessage, RusotoError<DescribeCacheSecurityGroupsError>>;
13850
13851 async fn describe_cache_subnet_groups(
13853 &self,
13854 input: DescribeCacheSubnetGroupsMessage,
13855 ) -> Result<CacheSubnetGroupMessage, RusotoError<DescribeCacheSubnetGroupsError>>;
13856
13857 async fn describe_engine_default_parameters(
13859 &self,
13860 input: DescribeEngineDefaultParametersMessage,
13861 ) -> Result<
13862 DescribeEngineDefaultParametersResult,
13863 RusotoError<DescribeEngineDefaultParametersError>,
13864 >;
13865
13866 async fn describe_events(
13868 &self,
13869 input: DescribeEventsMessage,
13870 ) -> Result<EventsMessage, RusotoError<DescribeEventsError>>;
13871
13872 async fn describe_global_replication_groups(
13874 &self,
13875 input: DescribeGlobalReplicationGroupsMessage,
13876 ) -> Result<
13877 DescribeGlobalReplicationGroupsResult,
13878 RusotoError<DescribeGlobalReplicationGroupsError>,
13879 >;
13880
13881 async fn describe_replication_groups(
13883 &self,
13884 input: DescribeReplicationGroupsMessage,
13885 ) -> Result<ReplicationGroupMessage, RusotoError<DescribeReplicationGroupsError>>;
13886
13887 async fn describe_reserved_cache_nodes(
13889 &self,
13890 input: DescribeReservedCacheNodesMessage,
13891 ) -> Result<ReservedCacheNodeMessage, RusotoError<DescribeReservedCacheNodesError>>;
13892
13893 async fn describe_reserved_cache_nodes_offerings(
13895 &self,
13896 input: DescribeReservedCacheNodesOfferingsMessage,
13897 ) -> Result<
13898 ReservedCacheNodesOfferingMessage,
13899 RusotoError<DescribeReservedCacheNodesOfferingsError>,
13900 >;
13901
13902 async fn describe_service_updates(
13904 &self,
13905 input: DescribeServiceUpdatesMessage,
13906 ) -> Result<ServiceUpdatesMessage, RusotoError<DescribeServiceUpdatesError>>;
13907
13908 async fn describe_snapshots(
13910 &self,
13911 input: DescribeSnapshotsMessage,
13912 ) -> Result<DescribeSnapshotsListMessage, RusotoError<DescribeSnapshotsError>>;
13913
13914 async fn describe_update_actions(
13916 &self,
13917 input: DescribeUpdateActionsMessage,
13918 ) -> Result<UpdateActionsMessage, RusotoError<DescribeUpdateActionsError>>;
13919
13920 async fn disassociate_global_replication_group(
13922 &self,
13923 input: DisassociateGlobalReplicationGroupMessage,
13924 ) -> Result<
13925 DisassociateGlobalReplicationGroupResult,
13926 RusotoError<DisassociateGlobalReplicationGroupError>,
13927 >;
13928
13929 async fn failover_global_replication_group(
13931 &self,
13932 input: FailoverGlobalReplicationGroupMessage,
13933 ) -> Result<
13934 FailoverGlobalReplicationGroupResult,
13935 RusotoError<FailoverGlobalReplicationGroupError>,
13936 >;
13937
13938 async fn increase_node_groups_in_global_replication_group(
13940 &self,
13941 input: IncreaseNodeGroupsInGlobalReplicationGroupMessage,
13942 ) -> Result<
13943 IncreaseNodeGroupsInGlobalReplicationGroupResult,
13944 RusotoError<IncreaseNodeGroupsInGlobalReplicationGroupError>,
13945 >;
13946
13947 async fn increase_replica_count(
13949 &self,
13950 input: IncreaseReplicaCountMessage,
13951 ) -> Result<IncreaseReplicaCountResult, RusotoError<IncreaseReplicaCountError>>;
13952
13953 async fn list_allowed_node_type_modifications(
13955 &self,
13956 input: ListAllowedNodeTypeModificationsMessage,
13957 ) -> Result<
13958 AllowedNodeTypeModificationsMessage,
13959 RusotoError<ListAllowedNodeTypeModificationsError>,
13960 >;
13961
13962 async fn list_tags_for_resource(
13964 &self,
13965 input: ListTagsForResourceMessage,
13966 ) -> Result<TagListMessage, RusotoError<ListTagsForResourceError>>;
13967
13968 async fn modify_cache_cluster(
13970 &self,
13971 input: ModifyCacheClusterMessage,
13972 ) -> Result<ModifyCacheClusterResult, RusotoError<ModifyCacheClusterError>>;
13973
13974 async fn modify_cache_parameter_group(
13976 &self,
13977 input: ModifyCacheParameterGroupMessage,
13978 ) -> Result<CacheParameterGroupNameMessage, RusotoError<ModifyCacheParameterGroupError>>;
13979
13980 async fn modify_cache_subnet_group(
13982 &self,
13983 input: ModifyCacheSubnetGroupMessage,
13984 ) -> Result<ModifyCacheSubnetGroupResult, RusotoError<ModifyCacheSubnetGroupError>>;
13985
13986 async fn modify_global_replication_group(
13988 &self,
13989 input: ModifyGlobalReplicationGroupMessage,
13990 ) -> Result<ModifyGlobalReplicationGroupResult, RusotoError<ModifyGlobalReplicationGroupError>>;
13991
13992 async fn modify_replication_group(
13994 &self,
13995 input: ModifyReplicationGroupMessage,
13996 ) -> Result<ModifyReplicationGroupResult, RusotoError<ModifyReplicationGroupError>>;
13997
13998 async fn modify_replication_group_shard_configuration(
14000 &self,
14001 input: ModifyReplicationGroupShardConfigurationMessage,
14002 ) -> Result<
14003 ModifyReplicationGroupShardConfigurationResult,
14004 RusotoError<ModifyReplicationGroupShardConfigurationError>,
14005 >;
14006
14007 async fn purchase_reserved_cache_nodes_offering(
14009 &self,
14010 input: PurchaseReservedCacheNodesOfferingMessage,
14011 ) -> Result<
14012 PurchaseReservedCacheNodesOfferingResult,
14013 RusotoError<PurchaseReservedCacheNodesOfferingError>,
14014 >;
14015
14016 async fn rebalance_slots_in_global_replication_group(
14018 &self,
14019 input: RebalanceSlotsInGlobalReplicationGroupMessage,
14020 ) -> Result<
14021 RebalanceSlotsInGlobalReplicationGroupResult,
14022 RusotoError<RebalanceSlotsInGlobalReplicationGroupError>,
14023 >;
14024
14025 async fn reboot_cache_cluster(
14027 &self,
14028 input: RebootCacheClusterMessage,
14029 ) -> Result<RebootCacheClusterResult, RusotoError<RebootCacheClusterError>>;
14030
14031 async fn remove_tags_from_resource(
14033 &self,
14034 input: RemoveTagsFromResourceMessage,
14035 ) -> Result<TagListMessage, RusotoError<RemoveTagsFromResourceError>>;
14036
14037 async fn reset_cache_parameter_group(
14039 &self,
14040 input: ResetCacheParameterGroupMessage,
14041 ) -> Result<CacheParameterGroupNameMessage, RusotoError<ResetCacheParameterGroupError>>;
14042
14043 async fn revoke_cache_security_group_ingress(
14045 &self,
14046 input: RevokeCacheSecurityGroupIngressMessage,
14047 ) -> Result<
14048 RevokeCacheSecurityGroupIngressResult,
14049 RusotoError<RevokeCacheSecurityGroupIngressError>,
14050 >;
14051
14052 async fn start_migration(
14054 &self,
14055 input: StartMigrationMessage,
14056 ) -> Result<StartMigrationResponse, RusotoError<StartMigrationError>>;
14057
14058 async fn test_failover(
14060 &self,
14061 input: TestFailoverMessage,
14062 ) -> Result<TestFailoverResult, RusotoError<TestFailoverError>>;
14063}
14064#[derive(Clone)]
14066pub struct ElastiCacheClient {
14067 client: Client,
14068 region: region::Region,
14069}
14070
14071impl ElastiCacheClient {
14072 pub fn new(region: region::Region) -> ElastiCacheClient {
14076 ElastiCacheClient {
14077 client: Client::shared(),
14078 region,
14079 }
14080 }
14081
14082 pub fn new_with<P, D>(
14083 request_dispatcher: D,
14084 credentials_provider: P,
14085 region: region::Region,
14086 ) -> ElastiCacheClient
14087 where
14088 P: ProvideAwsCredentials + Send + Sync + 'static,
14089 D: DispatchSignedRequest + Send + Sync + 'static,
14090 {
14091 ElastiCacheClient {
14092 client: Client::new_with(credentials_provider, request_dispatcher),
14093 region,
14094 }
14095 }
14096
14097 pub fn new_with_client(client: Client, region: region::Region) -> ElastiCacheClient {
14098 ElastiCacheClient { client, region }
14099 }
14100}
14101
14102#[async_trait]
14103impl ElastiCache for ElastiCacheClient {
14104 async fn add_tags_to_resource(
14106 &self,
14107 input: AddTagsToResourceMessage,
14108 ) -> Result<TagListMessage, RusotoError<AddTagsToResourceError>> {
14109 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14110 let params = self.new_params("AddTagsToResource");
14111 let mut params = params;
14112 AddTagsToResourceMessageSerializer::serialize(&mut params, "", &input);
14113 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14114 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14115
14116 let response = self
14117 .sign_and_dispatch(request, AddTagsToResourceError::from_response)
14118 .await?;
14119
14120 let mut response = response;
14121 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14122 xml_util::start_element(actual_tag_name, stack)?;
14123 let result = TagListMessageDeserializer::deserialize("AddTagsToResourceResult", stack)?;
14124 skip_tree(stack);
14125 xml_util::end_element(actual_tag_name, stack)?;
14126 Ok(result)
14127 })
14128 .await?;
14129
14130 drop(response); Ok(result)
14132 }
14133
14134 async fn authorize_cache_security_group_ingress(
14136 &self,
14137 input: AuthorizeCacheSecurityGroupIngressMessage,
14138 ) -> Result<
14139 AuthorizeCacheSecurityGroupIngressResult,
14140 RusotoError<AuthorizeCacheSecurityGroupIngressError>,
14141 > {
14142 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14143 let params = self.new_params("AuthorizeCacheSecurityGroupIngress");
14144 let mut params = params;
14145 AuthorizeCacheSecurityGroupIngressMessageSerializer::serialize(&mut params, "", &input);
14146 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14147 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14148
14149 let response = self
14150 .sign_and_dispatch(
14151 request,
14152 AuthorizeCacheSecurityGroupIngressError::from_response,
14153 )
14154 .await?;
14155
14156 let mut response = response;
14157 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14158 xml_util::start_element(actual_tag_name, stack)?;
14159 let result = AuthorizeCacheSecurityGroupIngressResultDeserializer::deserialize(
14160 "AuthorizeCacheSecurityGroupIngressResult",
14161 stack,
14162 )?;
14163 skip_tree(stack);
14164 xml_util::end_element(actual_tag_name, stack)?;
14165 Ok(result)
14166 })
14167 .await?;
14168
14169 drop(response); Ok(result)
14171 }
14172
14173 async fn batch_apply_update_action(
14175 &self,
14176 input: BatchApplyUpdateActionMessage,
14177 ) -> Result<UpdateActionResultsMessage, RusotoError<BatchApplyUpdateActionError>> {
14178 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14179 let params = self.new_params("BatchApplyUpdateAction");
14180 let mut params = params;
14181 BatchApplyUpdateActionMessageSerializer::serialize(&mut params, "", &input);
14182 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14183 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14184
14185 let response = self
14186 .sign_and_dispatch(request, BatchApplyUpdateActionError::from_response)
14187 .await?;
14188
14189 let mut response = response;
14190 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14191 xml_util::start_element(actual_tag_name, stack)?;
14192 let result = UpdateActionResultsMessageDeserializer::deserialize(
14193 "BatchApplyUpdateActionResult",
14194 stack,
14195 )?;
14196 skip_tree(stack);
14197 xml_util::end_element(actual_tag_name, stack)?;
14198 Ok(result)
14199 })
14200 .await?;
14201
14202 drop(response); Ok(result)
14204 }
14205
14206 async fn batch_stop_update_action(
14208 &self,
14209 input: BatchStopUpdateActionMessage,
14210 ) -> Result<UpdateActionResultsMessage, RusotoError<BatchStopUpdateActionError>> {
14211 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14212 let params = self.new_params("BatchStopUpdateAction");
14213 let mut params = params;
14214 BatchStopUpdateActionMessageSerializer::serialize(&mut params, "", &input);
14215 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14216 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14217
14218 let response = self
14219 .sign_and_dispatch(request, BatchStopUpdateActionError::from_response)
14220 .await?;
14221
14222 let mut response = response;
14223 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14224 xml_util::start_element(actual_tag_name, stack)?;
14225 let result = UpdateActionResultsMessageDeserializer::deserialize(
14226 "BatchStopUpdateActionResult",
14227 stack,
14228 )?;
14229 skip_tree(stack);
14230 xml_util::end_element(actual_tag_name, stack)?;
14231 Ok(result)
14232 })
14233 .await?;
14234
14235 drop(response); Ok(result)
14237 }
14238
14239 async fn complete_migration(
14241 &self,
14242 input: CompleteMigrationMessage,
14243 ) -> Result<CompleteMigrationResponse, RusotoError<CompleteMigrationError>> {
14244 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14245 let params = self.new_params("CompleteMigration");
14246 let mut params = params;
14247 CompleteMigrationMessageSerializer::serialize(&mut params, "", &input);
14248 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14249 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14250
14251 let response = self
14252 .sign_and_dispatch(request, CompleteMigrationError::from_response)
14253 .await?;
14254
14255 let mut response = response;
14256 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14257 xml_util::start_element(actual_tag_name, stack)?;
14258 let result = CompleteMigrationResponseDeserializer::deserialize(
14259 "CompleteMigrationResult",
14260 stack,
14261 )?;
14262 skip_tree(stack);
14263 xml_util::end_element(actual_tag_name, stack)?;
14264 Ok(result)
14265 })
14266 .await?;
14267
14268 drop(response); Ok(result)
14270 }
14271
14272 async fn copy_snapshot(
14274 &self,
14275 input: CopySnapshotMessage,
14276 ) -> Result<CopySnapshotResult, RusotoError<CopySnapshotError>> {
14277 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14278 let params = self.new_params("CopySnapshot");
14279 let mut params = params;
14280 CopySnapshotMessageSerializer::serialize(&mut params, "", &input);
14281 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14282 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14283
14284 let response = self
14285 .sign_and_dispatch(request, CopySnapshotError::from_response)
14286 .await?;
14287
14288 let mut response = response;
14289 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14290 xml_util::start_element(actual_tag_name, stack)?;
14291 let result = CopySnapshotResultDeserializer::deserialize("CopySnapshotResult", stack)?;
14292 skip_tree(stack);
14293 xml_util::end_element(actual_tag_name, stack)?;
14294 Ok(result)
14295 })
14296 .await?;
14297
14298 drop(response); Ok(result)
14300 }
14301
14302 async fn create_cache_cluster(
14304 &self,
14305 input: CreateCacheClusterMessage,
14306 ) -> Result<CreateCacheClusterResult, RusotoError<CreateCacheClusterError>> {
14307 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14308 let params = self.new_params("CreateCacheCluster");
14309 let mut params = params;
14310 CreateCacheClusterMessageSerializer::serialize(&mut params, "", &input);
14311 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14312 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14313
14314 let response = self
14315 .sign_and_dispatch(request, CreateCacheClusterError::from_response)
14316 .await?;
14317
14318 let mut response = response;
14319 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14320 xml_util::start_element(actual_tag_name, stack)?;
14321 let result = CreateCacheClusterResultDeserializer::deserialize(
14322 "CreateCacheClusterResult",
14323 stack,
14324 )?;
14325 skip_tree(stack);
14326 xml_util::end_element(actual_tag_name, stack)?;
14327 Ok(result)
14328 })
14329 .await?;
14330
14331 drop(response); Ok(result)
14333 }
14334
14335 async fn create_cache_parameter_group(
14337 &self,
14338 input: CreateCacheParameterGroupMessage,
14339 ) -> Result<CreateCacheParameterGroupResult, RusotoError<CreateCacheParameterGroupError>> {
14340 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14341 let params = self.new_params("CreateCacheParameterGroup");
14342 let mut params = params;
14343 CreateCacheParameterGroupMessageSerializer::serialize(&mut params, "", &input);
14344 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14345 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14346
14347 let response = self
14348 .sign_and_dispatch(request, CreateCacheParameterGroupError::from_response)
14349 .await?;
14350
14351 let mut response = response;
14352 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14353 xml_util::start_element(actual_tag_name, stack)?;
14354 let result = CreateCacheParameterGroupResultDeserializer::deserialize(
14355 "CreateCacheParameterGroupResult",
14356 stack,
14357 )?;
14358 skip_tree(stack);
14359 xml_util::end_element(actual_tag_name, stack)?;
14360 Ok(result)
14361 })
14362 .await?;
14363
14364 drop(response); Ok(result)
14366 }
14367
14368 async fn create_cache_security_group(
14370 &self,
14371 input: CreateCacheSecurityGroupMessage,
14372 ) -> Result<CreateCacheSecurityGroupResult, RusotoError<CreateCacheSecurityGroupError>> {
14373 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14374 let params = self.new_params("CreateCacheSecurityGroup");
14375 let mut params = params;
14376 CreateCacheSecurityGroupMessageSerializer::serialize(&mut params, "", &input);
14377 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14378 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14379
14380 let response = self
14381 .sign_and_dispatch(request, CreateCacheSecurityGroupError::from_response)
14382 .await?;
14383
14384 let mut response = response;
14385 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14386 xml_util::start_element(actual_tag_name, stack)?;
14387 let result = CreateCacheSecurityGroupResultDeserializer::deserialize(
14388 "CreateCacheSecurityGroupResult",
14389 stack,
14390 )?;
14391 skip_tree(stack);
14392 xml_util::end_element(actual_tag_name, stack)?;
14393 Ok(result)
14394 })
14395 .await?;
14396
14397 drop(response); Ok(result)
14399 }
14400
14401 async fn create_cache_subnet_group(
14403 &self,
14404 input: CreateCacheSubnetGroupMessage,
14405 ) -> Result<CreateCacheSubnetGroupResult, RusotoError<CreateCacheSubnetGroupError>> {
14406 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14407 let params = self.new_params("CreateCacheSubnetGroup");
14408 let mut params = params;
14409 CreateCacheSubnetGroupMessageSerializer::serialize(&mut params, "", &input);
14410 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14411 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14412
14413 let response = self
14414 .sign_and_dispatch(request, CreateCacheSubnetGroupError::from_response)
14415 .await?;
14416
14417 let mut response = response;
14418 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14419 xml_util::start_element(actual_tag_name, stack)?;
14420 let result = CreateCacheSubnetGroupResultDeserializer::deserialize(
14421 "CreateCacheSubnetGroupResult",
14422 stack,
14423 )?;
14424 skip_tree(stack);
14425 xml_util::end_element(actual_tag_name, stack)?;
14426 Ok(result)
14427 })
14428 .await?;
14429
14430 drop(response); Ok(result)
14432 }
14433
14434 async fn create_global_replication_group(
14436 &self,
14437 input: CreateGlobalReplicationGroupMessage,
14438 ) -> Result<CreateGlobalReplicationGroupResult, RusotoError<CreateGlobalReplicationGroupError>>
14439 {
14440 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14441 let params = self.new_params("CreateGlobalReplicationGroup");
14442 let mut params = params;
14443 CreateGlobalReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
14444 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14445 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14446
14447 let response = self
14448 .sign_and_dispatch(request, CreateGlobalReplicationGroupError::from_response)
14449 .await?;
14450
14451 let mut response = response;
14452 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14453 xml_util::start_element(actual_tag_name, stack)?;
14454 let result = CreateGlobalReplicationGroupResultDeserializer::deserialize(
14455 "CreateGlobalReplicationGroupResult",
14456 stack,
14457 )?;
14458 skip_tree(stack);
14459 xml_util::end_element(actual_tag_name, stack)?;
14460 Ok(result)
14461 })
14462 .await?;
14463
14464 drop(response); Ok(result)
14466 }
14467
14468 async fn create_replication_group(
14470 &self,
14471 input: CreateReplicationGroupMessage,
14472 ) -> Result<CreateReplicationGroupResult, RusotoError<CreateReplicationGroupError>> {
14473 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14474 let params = self.new_params("CreateReplicationGroup");
14475 let mut params = params;
14476 CreateReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
14477 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14478 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14479
14480 let response = self
14481 .sign_and_dispatch(request, CreateReplicationGroupError::from_response)
14482 .await?;
14483
14484 let mut response = response;
14485 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14486 xml_util::start_element(actual_tag_name, stack)?;
14487 let result = CreateReplicationGroupResultDeserializer::deserialize(
14488 "CreateReplicationGroupResult",
14489 stack,
14490 )?;
14491 skip_tree(stack);
14492 xml_util::end_element(actual_tag_name, stack)?;
14493 Ok(result)
14494 })
14495 .await?;
14496
14497 drop(response); Ok(result)
14499 }
14500
14501 async fn create_snapshot(
14503 &self,
14504 input: CreateSnapshotMessage,
14505 ) -> Result<CreateSnapshotResult, RusotoError<CreateSnapshotError>> {
14506 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14507 let params = self.new_params("CreateSnapshot");
14508 let mut params = params;
14509 CreateSnapshotMessageSerializer::serialize(&mut params, "", &input);
14510 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14511 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14512
14513 let response = self
14514 .sign_and_dispatch(request, CreateSnapshotError::from_response)
14515 .await?;
14516
14517 let mut response = response;
14518 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14519 xml_util::start_element(actual_tag_name, stack)?;
14520 let result =
14521 CreateSnapshotResultDeserializer::deserialize("CreateSnapshotResult", stack)?;
14522 skip_tree(stack);
14523 xml_util::end_element(actual_tag_name, stack)?;
14524 Ok(result)
14525 })
14526 .await?;
14527
14528 drop(response); Ok(result)
14530 }
14531
14532 async fn decrease_node_groups_in_global_replication_group(
14534 &self,
14535 input: DecreaseNodeGroupsInGlobalReplicationGroupMessage,
14536 ) -> Result<
14537 DecreaseNodeGroupsInGlobalReplicationGroupResult,
14538 RusotoError<DecreaseNodeGroupsInGlobalReplicationGroupError>,
14539 > {
14540 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14541 let params = self.new_params("DecreaseNodeGroupsInGlobalReplicationGroup");
14542 let mut params = params;
14543 DecreaseNodeGroupsInGlobalReplicationGroupMessageSerializer::serialize(
14544 &mut params,
14545 "",
14546 &input,
14547 );
14548 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14549 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14550
14551 let response = self
14552 .sign_and_dispatch(
14553 request,
14554 DecreaseNodeGroupsInGlobalReplicationGroupError::from_response,
14555 )
14556 .await?;
14557
14558 let mut response = response;
14559 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14560 xml_util::start_element(actual_tag_name, stack)?;
14561 let result = DecreaseNodeGroupsInGlobalReplicationGroupResultDeserializer::deserialize(
14562 "DecreaseNodeGroupsInGlobalReplicationGroupResult",
14563 stack,
14564 )?;
14565 skip_tree(stack);
14566 xml_util::end_element(actual_tag_name, stack)?;
14567 Ok(result)
14568 })
14569 .await?;
14570
14571 drop(response); Ok(result)
14573 }
14574
14575 async fn decrease_replica_count(
14577 &self,
14578 input: DecreaseReplicaCountMessage,
14579 ) -> Result<DecreaseReplicaCountResult, RusotoError<DecreaseReplicaCountError>> {
14580 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14581 let params = self.new_params("DecreaseReplicaCount");
14582 let mut params = params;
14583 DecreaseReplicaCountMessageSerializer::serialize(&mut params, "", &input);
14584 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14585 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14586
14587 let response = self
14588 .sign_and_dispatch(request, DecreaseReplicaCountError::from_response)
14589 .await?;
14590
14591 let mut response = response;
14592 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14593 xml_util::start_element(actual_tag_name, stack)?;
14594 let result = DecreaseReplicaCountResultDeserializer::deserialize(
14595 "DecreaseReplicaCountResult",
14596 stack,
14597 )?;
14598 skip_tree(stack);
14599 xml_util::end_element(actual_tag_name, stack)?;
14600 Ok(result)
14601 })
14602 .await?;
14603
14604 drop(response); Ok(result)
14606 }
14607
14608 async fn delete_cache_cluster(
14610 &self,
14611 input: DeleteCacheClusterMessage,
14612 ) -> Result<DeleteCacheClusterResult, RusotoError<DeleteCacheClusterError>> {
14613 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14614 let params = self.new_params("DeleteCacheCluster");
14615 let mut params = params;
14616 DeleteCacheClusterMessageSerializer::serialize(&mut params, "", &input);
14617 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14618 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14619
14620 let response = self
14621 .sign_and_dispatch(request, DeleteCacheClusterError::from_response)
14622 .await?;
14623
14624 let mut response = response;
14625 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14626 xml_util::start_element(actual_tag_name, stack)?;
14627 let result = DeleteCacheClusterResultDeserializer::deserialize(
14628 "DeleteCacheClusterResult",
14629 stack,
14630 )?;
14631 skip_tree(stack);
14632 xml_util::end_element(actual_tag_name, stack)?;
14633 Ok(result)
14634 })
14635 .await?;
14636
14637 drop(response); Ok(result)
14639 }
14640
14641 async fn delete_cache_parameter_group(
14643 &self,
14644 input: DeleteCacheParameterGroupMessage,
14645 ) -> Result<(), RusotoError<DeleteCacheParameterGroupError>> {
14646 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14647 let params = self.new_params("DeleteCacheParameterGroup");
14648 let mut params = params;
14649 DeleteCacheParameterGroupMessageSerializer::serialize(&mut params, "", &input);
14650 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14651 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14652
14653 let response = self
14654 .sign_and_dispatch(request, DeleteCacheParameterGroupError::from_response)
14655 .await?;
14656
14657 std::mem::drop(response);
14658 Ok(())
14659 }
14660
14661 async fn delete_cache_security_group(
14663 &self,
14664 input: DeleteCacheSecurityGroupMessage,
14665 ) -> Result<(), RusotoError<DeleteCacheSecurityGroupError>> {
14666 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14667 let params = self.new_params("DeleteCacheSecurityGroup");
14668 let mut params = params;
14669 DeleteCacheSecurityGroupMessageSerializer::serialize(&mut params, "", &input);
14670 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14671 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14672
14673 let response = self
14674 .sign_and_dispatch(request, DeleteCacheSecurityGroupError::from_response)
14675 .await?;
14676
14677 std::mem::drop(response);
14678 Ok(())
14679 }
14680
14681 async fn delete_cache_subnet_group(
14683 &self,
14684 input: DeleteCacheSubnetGroupMessage,
14685 ) -> Result<(), RusotoError<DeleteCacheSubnetGroupError>> {
14686 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14687 let params = self.new_params("DeleteCacheSubnetGroup");
14688 let mut params = params;
14689 DeleteCacheSubnetGroupMessageSerializer::serialize(&mut params, "", &input);
14690 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14691 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14692
14693 let response = self
14694 .sign_and_dispatch(request, DeleteCacheSubnetGroupError::from_response)
14695 .await?;
14696
14697 std::mem::drop(response);
14698 Ok(())
14699 }
14700
14701 async fn delete_global_replication_group(
14703 &self,
14704 input: DeleteGlobalReplicationGroupMessage,
14705 ) -> Result<DeleteGlobalReplicationGroupResult, RusotoError<DeleteGlobalReplicationGroupError>>
14706 {
14707 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14708 let params = self.new_params("DeleteGlobalReplicationGroup");
14709 let mut params = params;
14710 DeleteGlobalReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
14711 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14712 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14713
14714 let response = self
14715 .sign_and_dispatch(request, DeleteGlobalReplicationGroupError::from_response)
14716 .await?;
14717
14718 let mut response = response;
14719 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14720 xml_util::start_element(actual_tag_name, stack)?;
14721 let result = DeleteGlobalReplicationGroupResultDeserializer::deserialize(
14722 "DeleteGlobalReplicationGroupResult",
14723 stack,
14724 )?;
14725 skip_tree(stack);
14726 xml_util::end_element(actual_tag_name, stack)?;
14727 Ok(result)
14728 })
14729 .await?;
14730
14731 drop(response); Ok(result)
14733 }
14734
14735 async fn delete_replication_group(
14737 &self,
14738 input: DeleteReplicationGroupMessage,
14739 ) -> Result<DeleteReplicationGroupResult, RusotoError<DeleteReplicationGroupError>> {
14740 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14741 let params = self.new_params("DeleteReplicationGroup");
14742 let mut params = params;
14743 DeleteReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
14744 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14745 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14746
14747 let response = self
14748 .sign_and_dispatch(request, DeleteReplicationGroupError::from_response)
14749 .await?;
14750
14751 let mut response = response;
14752 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14753 xml_util::start_element(actual_tag_name, stack)?;
14754 let result = DeleteReplicationGroupResultDeserializer::deserialize(
14755 "DeleteReplicationGroupResult",
14756 stack,
14757 )?;
14758 skip_tree(stack);
14759 xml_util::end_element(actual_tag_name, stack)?;
14760 Ok(result)
14761 })
14762 .await?;
14763
14764 drop(response); Ok(result)
14766 }
14767
14768 async fn delete_snapshot(
14770 &self,
14771 input: DeleteSnapshotMessage,
14772 ) -> Result<DeleteSnapshotResult, RusotoError<DeleteSnapshotError>> {
14773 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14774 let params = self.new_params("DeleteSnapshot");
14775 let mut params = params;
14776 DeleteSnapshotMessageSerializer::serialize(&mut params, "", &input);
14777 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14778 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14779
14780 let response = self
14781 .sign_and_dispatch(request, DeleteSnapshotError::from_response)
14782 .await?;
14783
14784 let mut response = response;
14785 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14786 xml_util::start_element(actual_tag_name, stack)?;
14787 let result =
14788 DeleteSnapshotResultDeserializer::deserialize("DeleteSnapshotResult", stack)?;
14789 skip_tree(stack);
14790 xml_util::end_element(actual_tag_name, stack)?;
14791 Ok(result)
14792 })
14793 .await?;
14794
14795 drop(response); Ok(result)
14797 }
14798
14799 async fn describe_cache_clusters(
14801 &self,
14802 input: DescribeCacheClustersMessage,
14803 ) -> Result<CacheClusterMessage, RusotoError<DescribeCacheClustersError>> {
14804 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14805 let params = self.new_params("DescribeCacheClusters");
14806 let mut params = params;
14807 DescribeCacheClustersMessageSerializer::serialize(&mut params, "", &input);
14808 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14809 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14810
14811 let response = self
14812 .sign_and_dispatch(request, DescribeCacheClustersError::from_response)
14813 .await?;
14814
14815 let mut response = response;
14816 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14817 xml_util::start_element(actual_tag_name, stack)?;
14818 let result =
14819 CacheClusterMessageDeserializer::deserialize("DescribeCacheClustersResult", stack)?;
14820 skip_tree(stack);
14821 xml_util::end_element(actual_tag_name, stack)?;
14822 Ok(result)
14823 })
14824 .await?;
14825
14826 drop(response); Ok(result)
14828 }
14829
14830 async fn describe_cache_engine_versions(
14832 &self,
14833 input: DescribeCacheEngineVersionsMessage,
14834 ) -> Result<CacheEngineVersionMessage, RusotoError<DescribeCacheEngineVersionsError>> {
14835 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14836 let params = self.new_params("DescribeCacheEngineVersions");
14837 let mut params = params;
14838 DescribeCacheEngineVersionsMessageSerializer::serialize(&mut params, "", &input);
14839 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14840 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14841
14842 let response = self
14843 .sign_and_dispatch(request, DescribeCacheEngineVersionsError::from_response)
14844 .await?;
14845
14846 let mut response = response;
14847 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14848 xml_util::start_element(actual_tag_name, stack)?;
14849 let result = CacheEngineVersionMessageDeserializer::deserialize(
14850 "DescribeCacheEngineVersionsResult",
14851 stack,
14852 )?;
14853 skip_tree(stack);
14854 xml_util::end_element(actual_tag_name, stack)?;
14855 Ok(result)
14856 })
14857 .await?;
14858
14859 drop(response); Ok(result)
14861 }
14862
14863 async fn describe_cache_parameter_groups(
14865 &self,
14866 input: DescribeCacheParameterGroupsMessage,
14867 ) -> Result<CacheParameterGroupsMessage, RusotoError<DescribeCacheParameterGroupsError>> {
14868 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14869 let params = self.new_params("DescribeCacheParameterGroups");
14870 let mut params = params;
14871 DescribeCacheParameterGroupsMessageSerializer::serialize(&mut params, "", &input);
14872 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14873 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14874
14875 let response = self
14876 .sign_and_dispatch(request, DescribeCacheParameterGroupsError::from_response)
14877 .await?;
14878
14879 let mut response = response;
14880 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14881 xml_util::start_element(actual_tag_name, stack)?;
14882 let result = CacheParameterGroupsMessageDeserializer::deserialize(
14883 "DescribeCacheParameterGroupsResult",
14884 stack,
14885 )?;
14886 skip_tree(stack);
14887 xml_util::end_element(actual_tag_name, stack)?;
14888 Ok(result)
14889 })
14890 .await?;
14891
14892 drop(response); Ok(result)
14894 }
14895
14896 async fn describe_cache_parameters(
14898 &self,
14899 input: DescribeCacheParametersMessage,
14900 ) -> Result<CacheParameterGroupDetails, RusotoError<DescribeCacheParametersError>> {
14901 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14902 let params = self.new_params("DescribeCacheParameters");
14903 let mut params = params;
14904 DescribeCacheParametersMessageSerializer::serialize(&mut params, "", &input);
14905 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14906 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14907
14908 let response = self
14909 .sign_and_dispatch(request, DescribeCacheParametersError::from_response)
14910 .await?;
14911
14912 let mut response = response;
14913 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14914 xml_util::start_element(actual_tag_name, stack)?;
14915 let result = CacheParameterGroupDetailsDeserializer::deserialize(
14916 "DescribeCacheParametersResult",
14917 stack,
14918 )?;
14919 skip_tree(stack);
14920 xml_util::end_element(actual_tag_name, stack)?;
14921 Ok(result)
14922 })
14923 .await?;
14924
14925 drop(response); Ok(result)
14927 }
14928
14929 async fn describe_cache_security_groups(
14931 &self,
14932 input: DescribeCacheSecurityGroupsMessage,
14933 ) -> Result<CacheSecurityGroupMessage, RusotoError<DescribeCacheSecurityGroupsError>> {
14934 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14935 let params = self.new_params("DescribeCacheSecurityGroups");
14936 let mut params = params;
14937 DescribeCacheSecurityGroupsMessageSerializer::serialize(&mut params, "", &input);
14938 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14939 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14940
14941 let response = self
14942 .sign_and_dispatch(request, DescribeCacheSecurityGroupsError::from_response)
14943 .await?;
14944
14945 let mut response = response;
14946 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14947 xml_util::start_element(actual_tag_name, stack)?;
14948 let result = CacheSecurityGroupMessageDeserializer::deserialize(
14949 "DescribeCacheSecurityGroupsResult",
14950 stack,
14951 )?;
14952 skip_tree(stack);
14953 xml_util::end_element(actual_tag_name, stack)?;
14954 Ok(result)
14955 })
14956 .await?;
14957
14958 drop(response); Ok(result)
14960 }
14961
14962 async fn describe_cache_subnet_groups(
14964 &self,
14965 input: DescribeCacheSubnetGroupsMessage,
14966 ) -> Result<CacheSubnetGroupMessage, RusotoError<DescribeCacheSubnetGroupsError>> {
14967 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
14968 let params = self.new_params("DescribeCacheSubnetGroups");
14969 let mut params = params;
14970 DescribeCacheSubnetGroupsMessageSerializer::serialize(&mut params, "", &input);
14971 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
14972 request.set_content_type("application/x-www-form-urlencoded".to_owned());
14973
14974 let response = self
14975 .sign_and_dispatch(request, DescribeCacheSubnetGroupsError::from_response)
14976 .await?;
14977
14978 let mut response = response;
14979 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
14980 xml_util::start_element(actual_tag_name, stack)?;
14981 let result = CacheSubnetGroupMessageDeserializer::deserialize(
14982 "DescribeCacheSubnetGroupsResult",
14983 stack,
14984 )?;
14985 skip_tree(stack);
14986 xml_util::end_element(actual_tag_name, stack)?;
14987 Ok(result)
14988 })
14989 .await?;
14990
14991 drop(response); Ok(result)
14993 }
14994
14995 async fn describe_engine_default_parameters(
14997 &self,
14998 input: DescribeEngineDefaultParametersMessage,
14999 ) -> Result<
15000 DescribeEngineDefaultParametersResult,
15001 RusotoError<DescribeEngineDefaultParametersError>,
15002 > {
15003 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15004 let params = self.new_params("DescribeEngineDefaultParameters");
15005 let mut params = params;
15006 DescribeEngineDefaultParametersMessageSerializer::serialize(&mut params, "", &input);
15007 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15008 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15009
15010 let response = self
15011 .sign_and_dispatch(request, DescribeEngineDefaultParametersError::from_response)
15012 .await?;
15013
15014 let mut response = response;
15015 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15016 xml_util::start_element(actual_tag_name, stack)?;
15017 let result = DescribeEngineDefaultParametersResultDeserializer::deserialize(
15018 "DescribeEngineDefaultParametersResult",
15019 stack,
15020 )?;
15021 skip_tree(stack);
15022 xml_util::end_element(actual_tag_name, stack)?;
15023 Ok(result)
15024 })
15025 .await?;
15026
15027 drop(response); Ok(result)
15029 }
15030
15031 async fn describe_events(
15033 &self,
15034 input: DescribeEventsMessage,
15035 ) -> Result<EventsMessage, RusotoError<DescribeEventsError>> {
15036 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15037 let params = self.new_params("DescribeEvents");
15038 let mut params = params;
15039 DescribeEventsMessageSerializer::serialize(&mut params, "", &input);
15040 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15041 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15042
15043 let response = self
15044 .sign_and_dispatch(request, DescribeEventsError::from_response)
15045 .await?;
15046
15047 let mut response = response;
15048 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15049 xml_util::start_element(actual_tag_name, stack)?;
15050 let result = EventsMessageDeserializer::deserialize("DescribeEventsResult", stack)?;
15051 skip_tree(stack);
15052 xml_util::end_element(actual_tag_name, stack)?;
15053 Ok(result)
15054 })
15055 .await?;
15056
15057 drop(response); Ok(result)
15059 }
15060
15061 async fn describe_global_replication_groups(
15063 &self,
15064 input: DescribeGlobalReplicationGroupsMessage,
15065 ) -> Result<
15066 DescribeGlobalReplicationGroupsResult,
15067 RusotoError<DescribeGlobalReplicationGroupsError>,
15068 > {
15069 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15070 let params = self.new_params("DescribeGlobalReplicationGroups");
15071 let mut params = params;
15072 DescribeGlobalReplicationGroupsMessageSerializer::serialize(&mut params, "", &input);
15073 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15074 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15075
15076 let response = self
15077 .sign_and_dispatch(request, DescribeGlobalReplicationGroupsError::from_response)
15078 .await?;
15079
15080 let mut response = response;
15081 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15082 xml_util::start_element(actual_tag_name, stack)?;
15083 let result = DescribeGlobalReplicationGroupsResultDeserializer::deserialize(
15084 "DescribeGlobalReplicationGroupsResult",
15085 stack,
15086 )?;
15087 skip_tree(stack);
15088 xml_util::end_element(actual_tag_name, stack)?;
15089 Ok(result)
15090 })
15091 .await?;
15092
15093 drop(response); Ok(result)
15095 }
15096
15097 async fn describe_replication_groups(
15099 &self,
15100 input: DescribeReplicationGroupsMessage,
15101 ) -> Result<ReplicationGroupMessage, RusotoError<DescribeReplicationGroupsError>> {
15102 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15103 let params = self.new_params("DescribeReplicationGroups");
15104 let mut params = params;
15105 DescribeReplicationGroupsMessageSerializer::serialize(&mut params, "", &input);
15106 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15107 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15108
15109 let response = self
15110 .sign_and_dispatch(request, DescribeReplicationGroupsError::from_response)
15111 .await?;
15112
15113 let mut response = response;
15114 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15115 xml_util::start_element(actual_tag_name, stack)?;
15116 let result = ReplicationGroupMessageDeserializer::deserialize(
15117 "DescribeReplicationGroupsResult",
15118 stack,
15119 )?;
15120 skip_tree(stack);
15121 xml_util::end_element(actual_tag_name, stack)?;
15122 Ok(result)
15123 })
15124 .await?;
15125
15126 drop(response); Ok(result)
15128 }
15129
15130 async fn describe_reserved_cache_nodes(
15132 &self,
15133 input: DescribeReservedCacheNodesMessage,
15134 ) -> Result<ReservedCacheNodeMessage, RusotoError<DescribeReservedCacheNodesError>> {
15135 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15136 let params = self.new_params("DescribeReservedCacheNodes");
15137 let mut params = params;
15138 DescribeReservedCacheNodesMessageSerializer::serialize(&mut params, "", &input);
15139 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15140 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15141
15142 let response = self
15143 .sign_and_dispatch(request, DescribeReservedCacheNodesError::from_response)
15144 .await?;
15145
15146 let mut response = response;
15147 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15148 xml_util::start_element(actual_tag_name, stack)?;
15149 let result = ReservedCacheNodeMessageDeserializer::deserialize(
15150 "DescribeReservedCacheNodesResult",
15151 stack,
15152 )?;
15153 skip_tree(stack);
15154 xml_util::end_element(actual_tag_name, stack)?;
15155 Ok(result)
15156 })
15157 .await?;
15158
15159 drop(response); Ok(result)
15161 }
15162
15163 async fn describe_reserved_cache_nodes_offerings(
15165 &self,
15166 input: DescribeReservedCacheNodesOfferingsMessage,
15167 ) -> Result<
15168 ReservedCacheNodesOfferingMessage,
15169 RusotoError<DescribeReservedCacheNodesOfferingsError>,
15170 > {
15171 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15172 let params = self.new_params("DescribeReservedCacheNodesOfferings");
15173 let mut params = params;
15174 DescribeReservedCacheNodesOfferingsMessageSerializer::serialize(&mut params, "", &input);
15175 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15176 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15177
15178 let response = self
15179 .sign_and_dispatch(
15180 request,
15181 DescribeReservedCacheNodesOfferingsError::from_response,
15182 )
15183 .await?;
15184
15185 let mut response = response;
15186 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15187 xml_util::start_element(actual_tag_name, stack)?;
15188 let result = ReservedCacheNodesOfferingMessageDeserializer::deserialize(
15189 "DescribeReservedCacheNodesOfferingsResult",
15190 stack,
15191 )?;
15192 skip_tree(stack);
15193 xml_util::end_element(actual_tag_name, stack)?;
15194 Ok(result)
15195 })
15196 .await?;
15197
15198 drop(response); Ok(result)
15200 }
15201
15202 async fn describe_service_updates(
15204 &self,
15205 input: DescribeServiceUpdatesMessage,
15206 ) -> Result<ServiceUpdatesMessage, RusotoError<DescribeServiceUpdatesError>> {
15207 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15208 let params = self.new_params("DescribeServiceUpdates");
15209 let mut params = params;
15210 DescribeServiceUpdatesMessageSerializer::serialize(&mut params, "", &input);
15211 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15212 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15213
15214 let response = self
15215 .sign_and_dispatch(request, DescribeServiceUpdatesError::from_response)
15216 .await?;
15217
15218 let mut response = response;
15219 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15220 xml_util::start_element(actual_tag_name, stack)?;
15221 let result = ServiceUpdatesMessageDeserializer::deserialize(
15222 "DescribeServiceUpdatesResult",
15223 stack,
15224 )?;
15225 skip_tree(stack);
15226 xml_util::end_element(actual_tag_name, stack)?;
15227 Ok(result)
15228 })
15229 .await?;
15230
15231 drop(response); Ok(result)
15233 }
15234
15235 async fn describe_snapshots(
15237 &self,
15238 input: DescribeSnapshotsMessage,
15239 ) -> Result<DescribeSnapshotsListMessage, RusotoError<DescribeSnapshotsError>> {
15240 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15241 let params = self.new_params("DescribeSnapshots");
15242 let mut params = params;
15243 DescribeSnapshotsMessageSerializer::serialize(&mut params, "", &input);
15244 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15245 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15246
15247 let response = self
15248 .sign_and_dispatch(request, DescribeSnapshotsError::from_response)
15249 .await?;
15250
15251 let mut response = response;
15252 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15253 xml_util::start_element(actual_tag_name, stack)?;
15254 let result = DescribeSnapshotsListMessageDeserializer::deserialize(
15255 "DescribeSnapshotsResult",
15256 stack,
15257 )?;
15258 skip_tree(stack);
15259 xml_util::end_element(actual_tag_name, stack)?;
15260 Ok(result)
15261 })
15262 .await?;
15263
15264 drop(response); Ok(result)
15266 }
15267
15268 async fn describe_update_actions(
15270 &self,
15271 input: DescribeUpdateActionsMessage,
15272 ) -> Result<UpdateActionsMessage, RusotoError<DescribeUpdateActionsError>> {
15273 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15274 let params = self.new_params("DescribeUpdateActions");
15275 let mut params = params;
15276 DescribeUpdateActionsMessageSerializer::serialize(&mut params, "", &input);
15277 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15278 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15279
15280 let response = self
15281 .sign_and_dispatch(request, DescribeUpdateActionsError::from_response)
15282 .await?;
15283
15284 let mut response = response;
15285 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15286 xml_util::start_element(actual_tag_name, stack)?;
15287 let result = UpdateActionsMessageDeserializer::deserialize(
15288 "DescribeUpdateActionsResult",
15289 stack,
15290 )?;
15291 skip_tree(stack);
15292 xml_util::end_element(actual_tag_name, stack)?;
15293 Ok(result)
15294 })
15295 .await?;
15296
15297 drop(response); Ok(result)
15299 }
15300
15301 async fn disassociate_global_replication_group(
15303 &self,
15304 input: DisassociateGlobalReplicationGroupMessage,
15305 ) -> Result<
15306 DisassociateGlobalReplicationGroupResult,
15307 RusotoError<DisassociateGlobalReplicationGroupError>,
15308 > {
15309 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15310 let params = self.new_params("DisassociateGlobalReplicationGroup");
15311 let mut params = params;
15312 DisassociateGlobalReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
15313 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15314 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15315
15316 let response = self
15317 .sign_and_dispatch(
15318 request,
15319 DisassociateGlobalReplicationGroupError::from_response,
15320 )
15321 .await?;
15322
15323 let mut response = response;
15324 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15325 xml_util::start_element(actual_tag_name, stack)?;
15326 let result = DisassociateGlobalReplicationGroupResultDeserializer::deserialize(
15327 "DisassociateGlobalReplicationGroupResult",
15328 stack,
15329 )?;
15330 skip_tree(stack);
15331 xml_util::end_element(actual_tag_name, stack)?;
15332 Ok(result)
15333 })
15334 .await?;
15335
15336 drop(response); Ok(result)
15338 }
15339
15340 async fn failover_global_replication_group(
15342 &self,
15343 input: FailoverGlobalReplicationGroupMessage,
15344 ) -> Result<
15345 FailoverGlobalReplicationGroupResult,
15346 RusotoError<FailoverGlobalReplicationGroupError>,
15347 > {
15348 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15349 let params = self.new_params("FailoverGlobalReplicationGroup");
15350 let mut params = params;
15351 FailoverGlobalReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
15352 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15353 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15354
15355 let response = self
15356 .sign_and_dispatch(request, FailoverGlobalReplicationGroupError::from_response)
15357 .await?;
15358
15359 let mut response = response;
15360 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15361 xml_util::start_element(actual_tag_name, stack)?;
15362 let result = FailoverGlobalReplicationGroupResultDeserializer::deserialize(
15363 "FailoverGlobalReplicationGroupResult",
15364 stack,
15365 )?;
15366 skip_tree(stack);
15367 xml_util::end_element(actual_tag_name, stack)?;
15368 Ok(result)
15369 })
15370 .await?;
15371
15372 drop(response); Ok(result)
15374 }
15375
15376 async fn increase_node_groups_in_global_replication_group(
15378 &self,
15379 input: IncreaseNodeGroupsInGlobalReplicationGroupMessage,
15380 ) -> Result<
15381 IncreaseNodeGroupsInGlobalReplicationGroupResult,
15382 RusotoError<IncreaseNodeGroupsInGlobalReplicationGroupError>,
15383 > {
15384 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15385 let params = self.new_params("IncreaseNodeGroupsInGlobalReplicationGroup");
15386 let mut params = params;
15387 IncreaseNodeGroupsInGlobalReplicationGroupMessageSerializer::serialize(
15388 &mut params,
15389 "",
15390 &input,
15391 );
15392 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15393 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15394
15395 let response = self
15396 .sign_and_dispatch(
15397 request,
15398 IncreaseNodeGroupsInGlobalReplicationGroupError::from_response,
15399 )
15400 .await?;
15401
15402 let mut response = response;
15403 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15404 xml_util::start_element(actual_tag_name, stack)?;
15405 let result = IncreaseNodeGroupsInGlobalReplicationGroupResultDeserializer::deserialize(
15406 "IncreaseNodeGroupsInGlobalReplicationGroupResult",
15407 stack,
15408 )?;
15409 skip_tree(stack);
15410 xml_util::end_element(actual_tag_name, stack)?;
15411 Ok(result)
15412 })
15413 .await?;
15414
15415 drop(response); Ok(result)
15417 }
15418
15419 async fn increase_replica_count(
15421 &self,
15422 input: IncreaseReplicaCountMessage,
15423 ) -> Result<IncreaseReplicaCountResult, RusotoError<IncreaseReplicaCountError>> {
15424 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15425 let params = self.new_params("IncreaseReplicaCount");
15426 let mut params = params;
15427 IncreaseReplicaCountMessageSerializer::serialize(&mut params, "", &input);
15428 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15429 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15430
15431 let response = self
15432 .sign_and_dispatch(request, IncreaseReplicaCountError::from_response)
15433 .await?;
15434
15435 let mut response = response;
15436 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15437 xml_util::start_element(actual_tag_name, stack)?;
15438 let result = IncreaseReplicaCountResultDeserializer::deserialize(
15439 "IncreaseReplicaCountResult",
15440 stack,
15441 )?;
15442 skip_tree(stack);
15443 xml_util::end_element(actual_tag_name, stack)?;
15444 Ok(result)
15445 })
15446 .await?;
15447
15448 drop(response); Ok(result)
15450 }
15451
15452 async fn list_allowed_node_type_modifications(
15454 &self,
15455 input: ListAllowedNodeTypeModificationsMessage,
15456 ) -> Result<
15457 AllowedNodeTypeModificationsMessage,
15458 RusotoError<ListAllowedNodeTypeModificationsError>,
15459 > {
15460 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15461 let params = self.new_params("ListAllowedNodeTypeModifications");
15462 let mut params = params;
15463 ListAllowedNodeTypeModificationsMessageSerializer::serialize(&mut params, "", &input);
15464 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15465 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15466
15467 let response = self
15468 .sign_and_dispatch(
15469 request,
15470 ListAllowedNodeTypeModificationsError::from_response,
15471 )
15472 .await?;
15473
15474 let mut response = response;
15475 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15476 xml_util::start_element(actual_tag_name, stack)?;
15477 let result = AllowedNodeTypeModificationsMessageDeserializer::deserialize(
15478 "ListAllowedNodeTypeModificationsResult",
15479 stack,
15480 )?;
15481 skip_tree(stack);
15482 xml_util::end_element(actual_tag_name, stack)?;
15483 Ok(result)
15484 })
15485 .await?;
15486
15487 drop(response); Ok(result)
15489 }
15490
15491 async fn list_tags_for_resource(
15493 &self,
15494 input: ListTagsForResourceMessage,
15495 ) -> Result<TagListMessage, RusotoError<ListTagsForResourceError>> {
15496 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15497 let params = self.new_params("ListTagsForResource");
15498 let mut params = params;
15499 ListTagsForResourceMessageSerializer::serialize(&mut params, "", &input);
15500 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15501 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15502
15503 let response = self
15504 .sign_and_dispatch(request, ListTagsForResourceError::from_response)
15505 .await?;
15506
15507 let mut response = response;
15508 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15509 xml_util::start_element(actual_tag_name, stack)?;
15510 let result =
15511 TagListMessageDeserializer::deserialize("ListTagsForResourceResult", stack)?;
15512 skip_tree(stack);
15513 xml_util::end_element(actual_tag_name, stack)?;
15514 Ok(result)
15515 })
15516 .await?;
15517
15518 drop(response); Ok(result)
15520 }
15521
15522 async fn modify_cache_cluster(
15524 &self,
15525 input: ModifyCacheClusterMessage,
15526 ) -> Result<ModifyCacheClusterResult, RusotoError<ModifyCacheClusterError>> {
15527 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15528 let params = self.new_params("ModifyCacheCluster");
15529 let mut params = params;
15530 ModifyCacheClusterMessageSerializer::serialize(&mut params, "", &input);
15531 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15532 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15533
15534 let response = self
15535 .sign_and_dispatch(request, ModifyCacheClusterError::from_response)
15536 .await?;
15537
15538 let mut response = response;
15539 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15540 xml_util::start_element(actual_tag_name, stack)?;
15541 let result = ModifyCacheClusterResultDeserializer::deserialize(
15542 "ModifyCacheClusterResult",
15543 stack,
15544 )?;
15545 skip_tree(stack);
15546 xml_util::end_element(actual_tag_name, stack)?;
15547 Ok(result)
15548 })
15549 .await?;
15550
15551 drop(response); Ok(result)
15553 }
15554
15555 async fn modify_cache_parameter_group(
15557 &self,
15558 input: ModifyCacheParameterGroupMessage,
15559 ) -> Result<CacheParameterGroupNameMessage, RusotoError<ModifyCacheParameterGroupError>> {
15560 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15561 let params = self.new_params("ModifyCacheParameterGroup");
15562 let mut params = params;
15563 ModifyCacheParameterGroupMessageSerializer::serialize(&mut params, "", &input);
15564 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15565 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15566
15567 let response = self
15568 .sign_and_dispatch(request, ModifyCacheParameterGroupError::from_response)
15569 .await?;
15570
15571 let mut response = response;
15572 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15573 xml_util::start_element(actual_tag_name, stack)?;
15574 let result = CacheParameterGroupNameMessageDeserializer::deserialize(
15575 "ModifyCacheParameterGroupResult",
15576 stack,
15577 )?;
15578 skip_tree(stack);
15579 xml_util::end_element(actual_tag_name, stack)?;
15580 Ok(result)
15581 })
15582 .await?;
15583
15584 drop(response); Ok(result)
15586 }
15587
15588 async fn modify_cache_subnet_group(
15590 &self,
15591 input: ModifyCacheSubnetGroupMessage,
15592 ) -> Result<ModifyCacheSubnetGroupResult, RusotoError<ModifyCacheSubnetGroupError>> {
15593 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15594 let params = self.new_params("ModifyCacheSubnetGroup");
15595 let mut params = params;
15596 ModifyCacheSubnetGroupMessageSerializer::serialize(&mut params, "", &input);
15597 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15598 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15599
15600 let response = self
15601 .sign_and_dispatch(request, ModifyCacheSubnetGroupError::from_response)
15602 .await?;
15603
15604 let mut response = response;
15605 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15606 xml_util::start_element(actual_tag_name, stack)?;
15607 let result = ModifyCacheSubnetGroupResultDeserializer::deserialize(
15608 "ModifyCacheSubnetGroupResult",
15609 stack,
15610 )?;
15611 skip_tree(stack);
15612 xml_util::end_element(actual_tag_name, stack)?;
15613 Ok(result)
15614 })
15615 .await?;
15616
15617 drop(response); Ok(result)
15619 }
15620
15621 async fn modify_global_replication_group(
15623 &self,
15624 input: ModifyGlobalReplicationGroupMessage,
15625 ) -> Result<ModifyGlobalReplicationGroupResult, RusotoError<ModifyGlobalReplicationGroupError>>
15626 {
15627 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15628 let params = self.new_params("ModifyGlobalReplicationGroup");
15629 let mut params = params;
15630 ModifyGlobalReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
15631 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15632 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15633
15634 let response = self
15635 .sign_and_dispatch(request, ModifyGlobalReplicationGroupError::from_response)
15636 .await?;
15637
15638 let mut response = response;
15639 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15640 xml_util::start_element(actual_tag_name, stack)?;
15641 let result = ModifyGlobalReplicationGroupResultDeserializer::deserialize(
15642 "ModifyGlobalReplicationGroupResult",
15643 stack,
15644 )?;
15645 skip_tree(stack);
15646 xml_util::end_element(actual_tag_name, stack)?;
15647 Ok(result)
15648 })
15649 .await?;
15650
15651 drop(response); Ok(result)
15653 }
15654
15655 async fn modify_replication_group(
15657 &self,
15658 input: ModifyReplicationGroupMessage,
15659 ) -> Result<ModifyReplicationGroupResult, RusotoError<ModifyReplicationGroupError>> {
15660 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15661 let params = self.new_params("ModifyReplicationGroup");
15662 let mut params = params;
15663 ModifyReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
15664 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15665 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15666
15667 let response = self
15668 .sign_and_dispatch(request, ModifyReplicationGroupError::from_response)
15669 .await?;
15670
15671 let mut response = response;
15672 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15673 xml_util::start_element(actual_tag_name, stack)?;
15674 let result = ModifyReplicationGroupResultDeserializer::deserialize(
15675 "ModifyReplicationGroupResult",
15676 stack,
15677 )?;
15678 skip_tree(stack);
15679 xml_util::end_element(actual_tag_name, stack)?;
15680 Ok(result)
15681 })
15682 .await?;
15683
15684 drop(response); Ok(result)
15686 }
15687
15688 async fn modify_replication_group_shard_configuration(
15690 &self,
15691 input: ModifyReplicationGroupShardConfigurationMessage,
15692 ) -> Result<
15693 ModifyReplicationGroupShardConfigurationResult,
15694 RusotoError<ModifyReplicationGroupShardConfigurationError>,
15695 > {
15696 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15697 let params = self.new_params("ModifyReplicationGroupShardConfiguration");
15698 let mut params = params;
15699 ModifyReplicationGroupShardConfigurationMessageSerializer::serialize(
15700 &mut params,
15701 "",
15702 &input,
15703 );
15704 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15705 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15706
15707 let response = self
15708 .sign_and_dispatch(
15709 request,
15710 ModifyReplicationGroupShardConfigurationError::from_response,
15711 )
15712 .await?;
15713
15714 let mut response = response;
15715 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15716 xml_util::start_element(actual_tag_name, stack)?;
15717 let result = ModifyReplicationGroupShardConfigurationResultDeserializer::deserialize(
15718 "ModifyReplicationGroupShardConfigurationResult",
15719 stack,
15720 )?;
15721 skip_tree(stack);
15722 xml_util::end_element(actual_tag_name, stack)?;
15723 Ok(result)
15724 })
15725 .await?;
15726
15727 drop(response); Ok(result)
15729 }
15730
15731 async fn purchase_reserved_cache_nodes_offering(
15733 &self,
15734 input: PurchaseReservedCacheNodesOfferingMessage,
15735 ) -> Result<
15736 PurchaseReservedCacheNodesOfferingResult,
15737 RusotoError<PurchaseReservedCacheNodesOfferingError>,
15738 > {
15739 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15740 let params = self.new_params("PurchaseReservedCacheNodesOffering");
15741 let mut params = params;
15742 PurchaseReservedCacheNodesOfferingMessageSerializer::serialize(&mut params, "", &input);
15743 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15744 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15745
15746 let response = self
15747 .sign_and_dispatch(
15748 request,
15749 PurchaseReservedCacheNodesOfferingError::from_response,
15750 )
15751 .await?;
15752
15753 let mut response = response;
15754 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15755 xml_util::start_element(actual_tag_name, stack)?;
15756 let result = PurchaseReservedCacheNodesOfferingResultDeserializer::deserialize(
15757 "PurchaseReservedCacheNodesOfferingResult",
15758 stack,
15759 )?;
15760 skip_tree(stack);
15761 xml_util::end_element(actual_tag_name, stack)?;
15762 Ok(result)
15763 })
15764 .await?;
15765
15766 drop(response); Ok(result)
15768 }
15769
15770 async fn rebalance_slots_in_global_replication_group(
15772 &self,
15773 input: RebalanceSlotsInGlobalReplicationGroupMessage,
15774 ) -> Result<
15775 RebalanceSlotsInGlobalReplicationGroupResult,
15776 RusotoError<RebalanceSlotsInGlobalReplicationGroupError>,
15777 > {
15778 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15779 let params = self.new_params("RebalanceSlotsInGlobalReplicationGroup");
15780 let mut params = params;
15781 RebalanceSlotsInGlobalReplicationGroupMessageSerializer::serialize(&mut params, "", &input);
15782 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15783 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15784
15785 let response = self
15786 .sign_and_dispatch(
15787 request,
15788 RebalanceSlotsInGlobalReplicationGroupError::from_response,
15789 )
15790 .await?;
15791
15792 let mut response = response;
15793 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15794 xml_util::start_element(actual_tag_name, stack)?;
15795 let result = RebalanceSlotsInGlobalReplicationGroupResultDeserializer::deserialize(
15796 "RebalanceSlotsInGlobalReplicationGroupResult",
15797 stack,
15798 )?;
15799 skip_tree(stack);
15800 xml_util::end_element(actual_tag_name, stack)?;
15801 Ok(result)
15802 })
15803 .await?;
15804
15805 drop(response); Ok(result)
15807 }
15808
15809 async fn reboot_cache_cluster(
15811 &self,
15812 input: RebootCacheClusterMessage,
15813 ) -> Result<RebootCacheClusterResult, RusotoError<RebootCacheClusterError>> {
15814 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15815 let params = self.new_params("RebootCacheCluster");
15816 let mut params = params;
15817 RebootCacheClusterMessageSerializer::serialize(&mut params, "", &input);
15818 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15819 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15820
15821 let response = self
15822 .sign_and_dispatch(request, RebootCacheClusterError::from_response)
15823 .await?;
15824
15825 let mut response = response;
15826 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15827 xml_util::start_element(actual_tag_name, stack)?;
15828 let result = RebootCacheClusterResultDeserializer::deserialize(
15829 "RebootCacheClusterResult",
15830 stack,
15831 )?;
15832 skip_tree(stack);
15833 xml_util::end_element(actual_tag_name, stack)?;
15834 Ok(result)
15835 })
15836 .await?;
15837
15838 drop(response); Ok(result)
15840 }
15841
15842 async fn remove_tags_from_resource(
15844 &self,
15845 input: RemoveTagsFromResourceMessage,
15846 ) -> Result<TagListMessage, RusotoError<RemoveTagsFromResourceError>> {
15847 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15848 let params = self.new_params("RemoveTagsFromResource");
15849 let mut params = params;
15850 RemoveTagsFromResourceMessageSerializer::serialize(&mut params, "", &input);
15851 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15852 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15853
15854 let response = self
15855 .sign_and_dispatch(request, RemoveTagsFromResourceError::from_response)
15856 .await?;
15857
15858 let mut response = response;
15859 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15860 xml_util::start_element(actual_tag_name, stack)?;
15861 let result =
15862 TagListMessageDeserializer::deserialize("RemoveTagsFromResourceResult", stack)?;
15863 skip_tree(stack);
15864 xml_util::end_element(actual_tag_name, stack)?;
15865 Ok(result)
15866 })
15867 .await?;
15868
15869 drop(response); Ok(result)
15871 }
15872
15873 async fn reset_cache_parameter_group(
15875 &self,
15876 input: ResetCacheParameterGroupMessage,
15877 ) -> Result<CacheParameterGroupNameMessage, RusotoError<ResetCacheParameterGroupError>> {
15878 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15879 let params = self.new_params("ResetCacheParameterGroup");
15880 let mut params = params;
15881 ResetCacheParameterGroupMessageSerializer::serialize(&mut params, "", &input);
15882 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15883 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15884
15885 let response = self
15886 .sign_and_dispatch(request, ResetCacheParameterGroupError::from_response)
15887 .await?;
15888
15889 let mut response = response;
15890 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15891 xml_util::start_element(actual_tag_name, stack)?;
15892 let result = CacheParameterGroupNameMessageDeserializer::deserialize(
15893 "ResetCacheParameterGroupResult",
15894 stack,
15895 )?;
15896 skip_tree(stack);
15897 xml_util::end_element(actual_tag_name, stack)?;
15898 Ok(result)
15899 })
15900 .await?;
15901
15902 drop(response); Ok(result)
15904 }
15905
15906 async fn revoke_cache_security_group_ingress(
15908 &self,
15909 input: RevokeCacheSecurityGroupIngressMessage,
15910 ) -> Result<
15911 RevokeCacheSecurityGroupIngressResult,
15912 RusotoError<RevokeCacheSecurityGroupIngressError>,
15913 > {
15914 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15915 let params = self.new_params("RevokeCacheSecurityGroupIngress");
15916 let mut params = params;
15917 RevokeCacheSecurityGroupIngressMessageSerializer::serialize(&mut params, "", &input);
15918 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15919 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15920
15921 let response = self
15922 .sign_and_dispatch(request, RevokeCacheSecurityGroupIngressError::from_response)
15923 .await?;
15924
15925 let mut response = response;
15926 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15927 xml_util::start_element(actual_tag_name, stack)?;
15928 let result = RevokeCacheSecurityGroupIngressResultDeserializer::deserialize(
15929 "RevokeCacheSecurityGroupIngressResult",
15930 stack,
15931 )?;
15932 skip_tree(stack);
15933 xml_util::end_element(actual_tag_name, stack)?;
15934 Ok(result)
15935 })
15936 .await?;
15937
15938 drop(response); Ok(result)
15940 }
15941
15942 async fn start_migration(
15944 &self,
15945 input: StartMigrationMessage,
15946 ) -> Result<StartMigrationResponse, RusotoError<StartMigrationError>> {
15947 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15948 let params = self.new_params("StartMigration");
15949 let mut params = params;
15950 StartMigrationMessageSerializer::serialize(&mut params, "", &input);
15951 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15952 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15953
15954 let response = self
15955 .sign_and_dispatch(request, StartMigrationError::from_response)
15956 .await?;
15957
15958 let mut response = response;
15959 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15960 xml_util::start_element(actual_tag_name, stack)?;
15961 let result =
15962 StartMigrationResponseDeserializer::deserialize("StartMigrationResult", stack)?;
15963 skip_tree(stack);
15964 xml_util::end_element(actual_tag_name, stack)?;
15965 Ok(result)
15966 })
15967 .await?;
15968
15969 drop(response); Ok(result)
15971 }
15972
15973 async fn test_failover(
15975 &self,
15976 input: TestFailoverMessage,
15977 ) -> Result<TestFailoverResult, RusotoError<TestFailoverError>> {
15978 let mut request = SignedRequest::new("POST", "elasticache", &self.region, "/");
15979 let params = self.new_params("TestFailover");
15980 let mut params = params;
15981 TestFailoverMessageSerializer::serialize(&mut params, "", &input);
15982 request.set_payload(Some(serde_urlencoded::to_string(¶ms).unwrap()));
15983 request.set_content_type("application/x-www-form-urlencoded".to_owned());
15984
15985 let response = self
15986 .sign_and_dispatch(request, TestFailoverError::from_response)
15987 .await?;
15988
15989 let mut response = response;
15990 let result = xml_util::parse_response(&mut response, |actual_tag_name, stack| {
15991 xml_util::start_element(actual_tag_name, stack)?;
15992 let result = TestFailoverResultDeserializer::deserialize("TestFailoverResult", stack)?;
15993 skip_tree(stack);
15994 xml_util::end_element(actual_tag_name, stack)?;
15995 Ok(result)
15996 })
15997 .await?;
15998
15999 drop(response); Ok(result)
16001 }
16002}