1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2015-02-02",
5    "endpointPrefix":"elasticache",
6    "protocol":"query",
7    "serviceFullName":"Amazon ElastiCache",
8    "serviceId":"ElastiCache",
9    "signatureVersion":"v4",
10    "uid":"elasticache-2015-02-02",
11    "xmlNamespace":"http://elasticache.amazonaws.com/doc/2015-02-02/"
12  },
13  "operations":{
14    "AddTagsToResource":{
15      "name":"AddTagsToResource",
16      "http":{
17        "method":"POST",
18        "requestUri":"/"
19      },
20      "input":{"shape":"AddTagsToResourceMessage"},
21      "output":{
22        "shape":"TagListMessage",
23        "resultWrapper":"AddTagsToResourceResult"
24      },
25      "errors":[
26        {"shape":"CacheClusterNotFoundFault"},
27        {"shape":"SnapshotNotFoundFault"},
28        {"shape":"TagQuotaPerResourceExceeded"},
29        {"shape":"InvalidARNFault"}
30      ]
31    },
32    "AuthorizeCacheSecurityGroupIngress":{
33      "name":"AuthorizeCacheSecurityGroupIngress",
34      "http":{
35        "method":"POST",
36        "requestUri":"/"
37      },
38      "input":{"shape":"AuthorizeCacheSecurityGroupIngressMessage"},
39      "output":{
40        "shape":"AuthorizeCacheSecurityGroupIngressResult",
41        "resultWrapper":"AuthorizeCacheSecurityGroupIngressResult"
42      },
43      "errors":[
44        {"shape":"CacheSecurityGroupNotFoundFault"},
45        {"shape":"InvalidCacheSecurityGroupStateFault"},
46        {"shape":"AuthorizationAlreadyExistsFault"},
47        {"shape":"InvalidParameterValueException"},
48        {"shape":"InvalidParameterCombinationException"}
49      ]
50    },
51    "BatchApplyUpdateAction":{
52      "name":"BatchApplyUpdateAction",
53      "http":{
54        "method":"POST",
55        "requestUri":"/"
56      },
57      "input":{"shape":"BatchApplyUpdateActionMessage"},
58      "output":{
59        "shape":"UpdateActionResultsMessage",
60        "resultWrapper":"BatchApplyUpdateActionResult"
61      },
62      "errors":[
63        {"shape":"ServiceUpdateNotFoundFault"},
64        {"shape":"InvalidParameterValueException"}
65      ]
66    },
67    "BatchStopUpdateAction":{
68      "name":"BatchStopUpdateAction",
69      "http":{
70        "method":"POST",
71        "requestUri":"/"
72      },
73      "input":{"shape":"BatchStopUpdateActionMessage"},
74      "output":{
75        "shape":"UpdateActionResultsMessage",
76        "resultWrapper":"BatchStopUpdateActionResult"
77      },
78      "errors":[
79        {"shape":"ServiceUpdateNotFoundFault"},
80        {"shape":"InvalidParameterValueException"}
81      ]
82    },
83    "CompleteMigration":{
84      "name":"CompleteMigration",
85      "http":{
86        "method":"POST",
87        "requestUri":"/"
88      },
89      "input":{"shape":"CompleteMigrationMessage"},
90      "output":{
91        "shape":"CompleteMigrationResponse",
92        "resultWrapper":"CompleteMigrationResult"
93      },
94      "errors":[
95        {"shape":"ReplicationGroupNotFoundFault"},
96        {"shape":"InvalidReplicationGroupStateFault"},
97        {"shape":"ReplicationGroupNotUnderMigrationFault"}
98      ]
99    },
100    "CopySnapshot":{
101      "name":"CopySnapshot",
102      "http":{
103        "method":"POST",
104        "requestUri":"/"
105      },
106      "input":{"shape":"CopySnapshotMessage"},
107      "output":{
108        "shape":"CopySnapshotResult",
109        "resultWrapper":"CopySnapshotResult"
110      },
111      "errors":[
112        {"shape":"SnapshotAlreadyExistsFault"},
113        {"shape":"SnapshotNotFoundFault"},
114        {"shape":"SnapshotQuotaExceededFault"},
115        {"shape":"InvalidSnapshotStateFault"},
116        {"shape":"InvalidParameterValueException"},
117        {"shape":"InvalidParameterCombinationException"}
118      ]
119    },
120    "CreateCacheCluster":{
121      "name":"CreateCacheCluster",
122      "http":{
123        "method":"POST",
124        "requestUri":"/"
125      },
126      "input":{"shape":"CreateCacheClusterMessage"},
127      "output":{
128        "shape":"CreateCacheClusterResult",
129        "resultWrapper":"CreateCacheClusterResult"
130      },
131      "errors":[
132        {"shape":"ReplicationGroupNotFoundFault"},
133        {"shape":"InvalidReplicationGroupStateFault"},
134        {"shape":"CacheClusterAlreadyExistsFault"},
135        {"shape":"InsufficientCacheClusterCapacityFault"},
136        {"shape":"CacheSecurityGroupNotFoundFault"},
137        {"shape":"CacheSubnetGroupNotFoundFault"},
138        {"shape":"ClusterQuotaForCustomerExceededFault"},
139        {"shape":"NodeQuotaForClusterExceededFault"},
140        {"shape":"NodeQuotaForCustomerExceededFault"},
141        {"shape":"CacheParameterGroupNotFoundFault"},
142        {"shape":"InvalidVPCNetworkStateFault"},
143        {"shape":"TagQuotaPerResourceExceeded"},
144        {"shape":"InvalidParameterValueException"},
145        {"shape":"InvalidParameterCombinationException"}
146      ]
147    },
148    "CreateCacheParameterGroup":{
149      "name":"CreateCacheParameterGroup",
150      "http":{
151        "method":"POST",
152        "requestUri":"/"
153      },
154      "input":{"shape":"CreateCacheParameterGroupMessage"},
155      "output":{
156        "shape":"CreateCacheParameterGroupResult",
157        "resultWrapper":"CreateCacheParameterGroupResult"
158      },
159      "errors":[
160        {"shape":"CacheParameterGroupQuotaExceededFault"},
161        {"shape":"CacheParameterGroupAlreadyExistsFault"},
162        {"shape":"InvalidCacheParameterGroupStateFault"},
163        {"shape":"InvalidParameterValueException"},
164        {"shape":"InvalidParameterCombinationException"}
165      ]
166    },
167    "CreateCacheSecurityGroup":{
168      "name":"CreateCacheSecurityGroup",
169      "http":{
170        "method":"POST",
171        "requestUri":"/"
172      },
173      "input":{"shape":"CreateCacheSecurityGroupMessage"},
174      "output":{
175        "shape":"CreateCacheSecurityGroupResult",
176        "resultWrapper":"CreateCacheSecurityGroupResult"
177      },
178      "errors":[
179        {"shape":"CacheSecurityGroupAlreadyExistsFault"},
180        {"shape":"CacheSecurityGroupQuotaExceededFault"},
181        {"shape":"InvalidParameterValueException"},
182        {"shape":"InvalidParameterCombinationException"}
183      ]
184    },
185    "CreateCacheSubnetGroup":{
186      "name":"CreateCacheSubnetGroup",
187      "http":{
188        "method":"POST",
189        "requestUri":"/"
190      },
191      "input":{"shape":"CreateCacheSubnetGroupMessage"},
192      "output":{
193        "shape":"CreateCacheSubnetGroupResult",
194        "resultWrapper":"CreateCacheSubnetGroupResult"
195      },
196      "errors":[
197        {"shape":"CacheSubnetGroupAlreadyExistsFault"},
198        {"shape":"CacheSubnetGroupQuotaExceededFault"},
199        {"shape":"CacheSubnetQuotaExceededFault"},
200        {"shape":"InvalidSubnet"}
201      ]
202    },
203    "CreateReplicationGroup":{
204      "name":"CreateReplicationGroup",
205      "http":{
206        "method":"POST",
207        "requestUri":"/"
208      },
209      "input":{"shape":"CreateReplicationGroupMessage"},
210      "output":{
211        "shape":"CreateReplicationGroupResult",
212        "resultWrapper":"CreateReplicationGroupResult"
213      },
214      "errors":[
215        {"shape":"CacheClusterNotFoundFault"},
216        {"shape":"InvalidCacheClusterStateFault"},
217        {"shape":"ReplicationGroupAlreadyExistsFault"},
218        {"shape":"InsufficientCacheClusterCapacityFault"},
219        {"shape":"CacheSecurityGroupNotFoundFault"},
220        {"shape":"CacheSubnetGroupNotFoundFault"},
221        {"shape":"ClusterQuotaForCustomerExceededFault"},
222        {"shape":"NodeQuotaForClusterExceededFault"},
223        {"shape":"NodeQuotaForCustomerExceededFault"},
224        {"shape":"CacheParameterGroupNotFoundFault"},
225        {"shape":"InvalidVPCNetworkStateFault"},
226        {"shape":"TagQuotaPerResourceExceeded"},
227        {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"},
228        {"shape":"InvalidParameterValueException"},
229        {"shape":"InvalidParameterCombinationException"}
230      ]
231    },
232    "CreateSnapshot":{
233      "name":"CreateSnapshot",
234      "http":{
235        "method":"POST",
236        "requestUri":"/"
237      },
238      "input":{"shape":"CreateSnapshotMessage"},
239      "output":{
240        "shape":"CreateSnapshotResult",
241        "resultWrapper":"CreateSnapshotResult"
242      },
243      "errors":[
244        {"shape":"SnapshotAlreadyExistsFault"},
245        {"shape":"CacheClusterNotFoundFault"},
246        {"shape":"ReplicationGroupNotFoundFault"},
247        {"shape":"InvalidCacheClusterStateFault"},
248        {"shape":"InvalidReplicationGroupStateFault"},
249        {"shape":"SnapshotQuotaExceededFault"},
250        {"shape":"SnapshotFeatureNotSupportedFault"},
251        {"shape":"InvalidParameterCombinationException"},
252        {"shape":"InvalidParameterValueException"}
253      ]
254    },
255    "DecreaseReplicaCount":{
256      "name":"DecreaseReplicaCount",
257      "http":{
258        "method":"POST",
259        "requestUri":"/"
260      },
261      "input":{"shape":"DecreaseReplicaCountMessage"},
262      "output":{
263        "shape":"DecreaseReplicaCountResult",
264        "resultWrapper":"DecreaseReplicaCountResult"
265      },
266      "errors":[
267        {"shape":"ReplicationGroupNotFoundFault"},
268        {"shape":"InvalidReplicationGroupStateFault"},
269        {"shape":"InvalidCacheClusterStateFault"},
270        {"shape":"InvalidVPCNetworkStateFault"},
271        {"shape":"InsufficientCacheClusterCapacityFault"},
272        {"shape":"ClusterQuotaForCustomerExceededFault"},
273        {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"},
274        {"shape":"NodeQuotaForCustomerExceededFault"},
275        {"shape":"ServiceLinkedRoleNotFoundFault"},
276        {"shape":"NoOperationFault"},
277        {"shape":"InvalidParameterValueException"},
278        {"shape":"InvalidParameterCombinationException"}
279      ]
280    },
281    "DeleteCacheCluster":{
282      "name":"DeleteCacheCluster",
283      "http":{
284        "method":"POST",
285        "requestUri":"/"
286      },
287      "input":{"shape":"DeleteCacheClusterMessage"},
288      "output":{
289        "shape":"DeleteCacheClusterResult",
290        "resultWrapper":"DeleteCacheClusterResult"
291      },
292      "errors":[
293        {"shape":"CacheClusterNotFoundFault"},
294        {"shape":"InvalidCacheClusterStateFault"},
295        {"shape":"SnapshotAlreadyExistsFault"},
296        {"shape":"SnapshotFeatureNotSupportedFault"},
297        {"shape":"SnapshotQuotaExceededFault"},
298        {"shape":"InvalidParameterValueException"},
299        {"shape":"InvalidParameterCombinationException"}
300      ]
301    },
302    "DeleteCacheParameterGroup":{
303      "name":"DeleteCacheParameterGroup",
304      "http":{
305        "method":"POST",
306        "requestUri":"/"
307      },
308      "input":{"shape":"DeleteCacheParameterGroupMessage"},
309      "errors":[
310        {"shape":"InvalidCacheParameterGroupStateFault"},
311        {"shape":"CacheParameterGroupNotFoundFault"},
312        {"shape":"InvalidParameterValueException"},
313        {"shape":"InvalidParameterCombinationException"}
314      ]
315    },
316    "DeleteCacheSecurityGroup":{
317      "name":"DeleteCacheSecurityGroup",
318      "http":{
319        "method":"POST",
320        "requestUri":"/"
321      },
322      "input":{"shape":"DeleteCacheSecurityGroupMessage"},
323      "errors":[
324        {"shape":"InvalidCacheSecurityGroupStateFault"},
325        {"shape":"CacheSecurityGroupNotFoundFault"},
326        {"shape":"InvalidParameterValueException"},
327        {"shape":"InvalidParameterCombinationException"}
328      ]
329    },
330    "DeleteCacheSubnetGroup":{
331      "name":"DeleteCacheSubnetGroup",
332      "http":{
333        "method":"POST",
334        "requestUri":"/"
335      },
336      "input":{"shape":"DeleteCacheSubnetGroupMessage"},
337      "errors":[
338        {"shape":"CacheSubnetGroupInUse"},
339        {"shape":"CacheSubnetGroupNotFoundFault"}
340      ]
341    },
342    "DeleteReplicationGroup":{
343      "name":"DeleteReplicationGroup",
344      "http":{
345        "method":"POST",
346        "requestUri":"/"
347      },
348      "input":{"shape":"DeleteReplicationGroupMessage"},
349      "output":{
350        "shape":"DeleteReplicationGroupResult",
351        "resultWrapper":"DeleteReplicationGroupResult"
352      },
353      "errors":[
354        {"shape":"ReplicationGroupNotFoundFault"},
355        {"shape":"InvalidReplicationGroupStateFault"},
356        {"shape":"SnapshotAlreadyExistsFault"},
357        {"shape":"SnapshotFeatureNotSupportedFault"},
358        {"shape":"SnapshotQuotaExceededFault"},
359        {"shape":"InvalidParameterValueException"},
360        {"shape":"InvalidParameterCombinationException"}
361      ]
362    },
363    "DeleteSnapshot":{
364      "name":"DeleteSnapshot",
365      "http":{
366        "method":"POST",
367        "requestUri":"/"
368      },
369      "input":{"shape":"DeleteSnapshotMessage"},
370      "output":{
371        "shape":"DeleteSnapshotResult",
372        "resultWrapper":"DeleteSnapshotResult"
373      },
374      "errors":[
375        {"shape":"SnapshotNotFoundFault"},
376        {"shape":"InvalidSnapshotStateFault"},
377        {"shape":"InvalidParameterValueException"},
378        {"shape":"InvalidParameterCombinationException"}
379      ]
380    },
381    "DescribeCacheClusters":{
382      "name":"DescribeCacheClusters",
383      "http":{
384        "method":"POST",
385        "requestUri":"/"
386      },
387      "input":{"shape":"DescribeCacheClustersMessage"},
388      "output":{
389        "shape":"CacheClusterMessage",
390        "resultWrapper":"DescribeCacheClustersResult"
391      },
392      "errors":[
393        {"shape":"CacheClusterNotFoundFault"},
394        {"shape":"InvalidParameterValueException"},
395        {"shape":"InvalidParameterCombinationException"}
396      ]
397    },
398    "DescribeCacheEngineVersions":{
399      "name":"DescribeCacheEngineVersions",
400      "http":{
401        "method":"POST",
402        "requestUri":"/"
403      },
404      "input":{"shape":"DescribeCacheEngineVersionsMessage"},
405      "output":{
406        "shape":"CacheEngineVersionMessage",
407        "resultWrapper":"DescribeCacheEngineVersionsResult"
408      }
409    },
410    "DescribeCacheParameterGroups":{
411      "name":"DescribeCacheParameterGroups",
412      "http":{
413        "method":"POST",
414        "requestUri":"/"
415      },
416      "input":{"shape":"DescribeCacheParameterGroupsMessage"},
417      "output":{
418        "shape":"CacheParameterGroupsMessage",
419        "resultWrapper":"DescribeCacheParameterGroupsResult"
420      },
421      "errors":[
422        {"shape":"CacheParameterGroupNotFoundFault"},
423        {"shape":"InvalidParameterValueException"},
424        {"shape":"InvalidParameterCombinationException"}
425      ]
426    },
427    "DescribeCacheParameters":{
428      "name":"DescribeCacheParameters",
429      "http":{
430        "method":"POST",
431        "requestUri":"/"
432      },
433      "input":{"shape":"DescribeCacheParametersMessage"},
434      "output":{
435        "shape":"CacheParameterGroupDetails",
436        "resultWrapper":"DescribeCacheParametersResult"
437      },
438      "errors":[
439        {"shape":"CacheParameterGroupNotFoundFault"},
440        {"shape":"InvalidParameterValueException"},
441        {"shape":"InvalidParameterCombinationException"}
442      ]
443    },
444    "DescribeCacheSecurityGroups":{
445      "name":"DescribeCacheSecurityGroups",
446      "http":{
447        "method":"POST",
448        "requestUri":"/"
449      },
450      "input":{"shape":"DescribeCacheSecurityGroupsMessage"},
451      "output":{
452        "shape":"CacheSecurityGroupMessage",
453        "resultWrapper":"DescribeCacheSecurityGroupsResult"
454      },
455      "errors":[
456        {"shape":"CacheSecurityGroupNotFoundFault"},
457        {"shape":"InvalidParameterValueException"},
458        {"shape":"InvalidParameterCombinationException"}
459      ]
460    },
461    "DescribeCacheSubnetGroups":{
462      "name":"DescribeCacheSubnetGroups",
463      "http":{
464        "method":"POST",
465        "requestUri":"/"
466      },
467      "input":{"shape":"DescribeCacheSubnetGroupsMessage"},
468      "output":{
469        "shape":"CacheSubnetGroupMessage",
470        "resultWrapper":"DescribeCacheSubnetGroupsResult"
471      },
472      "errors":[
473        {"shape":"CacheSubnetGroupNotFoundFault"}
474      ]
475    },
476    "DescribeEngineDefaultParameters":{
477      "name":"DescribeEngineDefaultParameters",
478      "http":{
479        "method":"POST",
480        "requestUri":"/"
481      },
482      "input":{"shape":"DescribeEngineDefaultParametersMessage"},
483      "output":{
484        "shape":"DescribeEngineDefaultParametersResult",
485        "resultWrapper":"DescribeEngineDefaultParametersResult"
486      },
487      "errors":[
488        {"shape":"InvalidParameterValueException"},
489        {"shape":"InvalidParameterCombinationException"}
490      ]
491    },
492    "DescribeEvents":{
493      "name":"DescribeEvents",
494      "http":{
495        "method":"POST",
496        "requestUri":"/"
497      },
498      "input":{"shape":"DescribeEventsMessage"},
499      "output":{
500        "shape":"EventsMessage",
501        "resultWrapper":"DescribeEventsResult"
502      },
503      "errors":[
504        {"shape":"InvalidParameterValueException"},
505        {"shape":"InvalidParameterCombinationException"}
506      ]
507    },
508    "DescribeReplicationGroups":{
509      "name":"DescribeReplicationGroups",
510      "http":{
511        "method":"POST",
512        "requestUri":"/"
513      },
514      "input":{"shape":"DescribeReplicationGroupsMessage"},
515      "output":{
516        "shape":"ReplicationGroupMessage",
517        "resultWrapper":"DescribeReplicationGroupsResult"
518      },
519      "errors":[
520        {"shape":"ReplicationGroupNotFoundFault"},
521        {"shape":"InvalidParameterValueException"},
522        {"shape":"InvalidParameterCombinationException"}
523      ]
524    },
525    "DescribeReservedCacheNodes":{
526      "name":"DescribeReservedCacheNodes",
527      "http":{
528        "method":"POST",
529        "requestUri":"/"
530      },
531      "input":{"shape":"DescribeReservedCacheNodesMessage"},
532      "output":{
533        "shape":"ReservedCacheNodeMessage",
534        "resultWrapper":"DescribeReservedCacheNodesResult"
535      },
536      "errors":[
537        {"shape":"ReservedCacheNodeNotFoundFault"},
538        {"shape":"InvalidParameterValueException"},
539        {"shape":"InvalidParameterCombinationException"}
540      ]
541    },
542    "DescribeReservedCacheNodesOfferings":{
543      "name":"DescribeReservedCacheNodesOfferings",
544      "http":{
545        "method":"POST",
546        "requestUri":"/"
547      },
548      "input":{"shape":"DescribeReservedCacheNodesOfferingsMessage"},
549      "output":{
550        "shape":"ReservedCacheNodesOfferingMessage",
551        "resultWrapper":"DescribeReservedCacheNodesOfferingsResult"
552      },
553      "errors":[
554        {"shape":"ReservedCacheNodesOfferingNotFoundFault"},
555        {"shape":"InvalidParameterValueException"},
556        {"shape":"InvalidParameterCombinationException"}
557      ]
558    },
559    "DescribeServiceUpdates":{
560      "name":"DescribeServiceUpdates",
561      "http":{
562        "method":"POST",
563        "requestUri":"/"
564      },
565      "input":{"shape":"DescribeServiceUpdatesMessage"},
566      "output":{
567        "shape":"ServiceUpdatesMessage",
568        "resultWrapper":"DescribeServiceUpdatesResult"
569      },
570      "errors":[
571        {"shape":"ServiceUpdateNotFoundFault"},
572        {"shape":"InvalidParameterValueException"},
573        {"shape":"InvalidParameterCombinationException"}
574      ]
575    },
576    "DescribeSnapshots":{
577      "name":"DescribeSnapshots",
578      "http":{
579        "method":"POST",
580        "requestUri":"/"
581      },
582      "input":{"shape":"DescribeSnapshotsMessage"},
583      "output":{
584        "shape":"DescribeSnapshotsListMessage",
585        "resultWrapper":"DescribeSnapshotsResult"
586      },
587      "errors":[
588        {"shape":"CacheClusterNotFoundFault"},
589        {"shape":"SnapshotNotFoundFault"},
590        {"shape":"InvalidParameterValueException"},
591        {"shape":"InvalidParameterCombinationException"}
592      ]
593    },
594    "DescribeUpdateActions":{
595      "name":"DescribeUpdateActions",
596      "http":{
597        "method":"POST",
598        "requestUri":"/"
599      },
600      "input":{"shape":"DescribeUpdateActionsMessage"},
601      "output":{
602        "shape":"UpdateActionsMessage",
603        "resultWrapper":"DescribeUpdateActionsResult"
604      },
605      "errors":[
606        {"shape":"InvalidParameterValueException"},
607        {"shape":"InvalidParameterCombinationException"}
608      ]
609    },
610    "IncreaseReplicaCount":{
611      "name":"IncreaseReplicaCount",
612      "http":{
613        "method":"POST",
614        "requestUri":"/"
615      },
616      "input":{"shape":"IncreaseReplicaCountMessage"},
617      "output":{
618        "shape":"IncreaseReplicaCountResult",
619        "resultWrapper":"IncreaseReplicaCountResult"
620      },
621      "errors":[
622        {"shape":"ReplicationGroupNotFoundFault"},
623        {"shape":"InvalidReplicationGroupStateFault"},
624        {"shape":"InvalidCacheClusterStateFault"},
625        {"shape":"InvalidVPCNetworkStateFault"},
626        {"shape":"InsufficientCacheClusterCapacityFault"},
627        {"shape":"ClusterQuotaForCustomerExceededFault"},
628        {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"},
629        {"shape":"NodeQuotaForCustomerExceededFault"},
630        {"shape":"NoOperationFault"},
631        {"shape":"InvalidKMSKeyFault"},
632        {"shape":"InvalidParameterValueException"},
633        {"shape":"InvalidParameterCombinationException"}
634      ]
635    },
636    "ListAllowedNodeTypeModifications":{
637      "name":"ListAllowedNodeTypeModifications",
638      "http":{
639        "method":"POST",
640        "requestUri":"/"
641      },
642      "input":{"shape":"ListAllowedNodeTypeModificationsMessage"},
643      "output":{
644        "shape":"AllowedNodeTypeModificationsMessage",
645        "resultWrapper":"ListAllowedNodeTypeModificationsResult"
646      },
647      "errors":[
648        {"shape":"CacheClusterNotFoundFault"},
649        {"shape":"ReplicationGroupNotFoundFault"},
650        {"shape":"InvalidParameterCombinationException"},
651        {"shape":"InvalidParameterValueException"}
652      ]
653    },
654    "ListTagsForResource":{
655      "name":"ListTagsForResource",
656      "http":{
657        "method":"POST",
658        "requestUri":"/"
659      },
660      "input":{"shape":"ListTagsForResourceMessage"},
661      "output":{
662        "shape":"TagListMessage",
663        "resultWrapper":"ListTagsForResourceResult"
664      },
665      "errors":[
666        {"shape":"CacheClusterNotFoundFault"},
667        {"shape":"SnapshotNotFoundFault"},
668        {"shape":"InvalidARNFault"}
669      ]
670    },
671    "ModifyCacheCluster":{
672      "name":"ModifyCacheCluster",
673      "http":{
674        "method":"POST",
675        "requestUri":"/"
676      },
677      "input":{"shape":"ModifyCacheClusterMessage"},
678      "output":{
679        "shape":"ModifyCacheClusterResult",
680        "resultWrapper":"ModifyCacheClusterResult"
681      },
682      "errors":[
683        {"shape":"InvalidCacheClusterStateFault"},
684        {"shape":"InvalidCacheSecurityGroupStateFault"},
685        {"shape":"InsufficientCacheClusterCapacityFault"},
686        {"shape":"CacheClusterNotFoundFault"},
687        {"shape":"NodeQuotaForClusterExceededFault"},
688        {"shape":"NodeQuotaForCustomerExceededFault"},
689        {"shape":"CacheSecurityGroupNotFoundFault"},
690        {"shape":"CacheParameterGroupNotFoundFault"},
691        {"shape":"InvalidVPCNetworkStateFault"},
692        {"shape":"InvalidParameterValueException"},
693        {"shape":"InvalidParameterCombinationException"}
694      ]
695    },
696    "ModifyCacheParameterGroup":{
697      "name":"ModifyCacheParameterGroup",
698      "http":{
699        "method":"POST",
700        "requestUri":"/"
701      },
702      "input":{"shape":"ModifyCacheParameterGroupMessage"},
703      "output":{
704        "shape":"CacheParameterGroupNameMessage",
705        "resultWrapper":"ModifyCacheParameterGroupResult"
706      },
707      "errors":[
708        {"shape":"CacheParameterGroupNotFoundFault"},
709        {"shape":"InvalidCacheParameterGroupStateFault"},
710        {"shape":"InvalidParameterValueException"},
711        {"shape":"InvalidParameterCombinationException"}
712      ]
713    },
714    "ModifyCacheSubnetGroup":{
715      "name":"ModifyCacheSubnetGroup",
716      "http":{
717        "method":"POST",
718        "requestUri":"/"
719      },
720      "input":{"shape":"ModifyCacheSubnetGroupMessage"},
721      "output":{
722        "shape":"ModifyCacheSubnetGroupResult",
723        "resultWrapper":"ModifyCacheSubnetGroupResult"
724      },
725      "errors":[
726        {"shape":"CacheSubnetGroupNotFoundFault"},
727        {"shape":"CacheSubnetQuotaExceededFault"},
728        {"shape":"SubnetInUse"},
729        {"shape":"InvalidSubnet"}
730      ]
731    },
732    "ModifyReplicationGroup":{
733      "name":"ModifyReplicationGroup",
734      "http":{
735        "method":"POST",
736        "requestUri":"/"
737      },
738      "input":{"shape":"ModifyReplicationGroupMessage"},
739      "output":{
740        "shape":"ModifyReplicationGroupResult",
741        "resultWrapper":"ModifyReplicationGroupResult"
742      },
743      "errors":[
744        {"shape":"ReplicationGroupNotFoundFault"},
745        {"shape":"InvalidReplicationGroupStateFault"},
746        {"shape":"InvalidCacheClusterStateFault"},
747        {"shape":"InvalidCacheSecurityGroupStateFault"},
748        {"shape":"InsufficientCacheClusterCapacityFault"},
749        {"shape":"CacheClusterNotFoundFault"},
750        {"shape":"NodeQuotaForClusterExceededFault"},
751        {"shape":"NodeQuotaForCustomerExceededFault"},
752        {"shape":"CacheSecurityGroupNotFoundFault"},
753        {"shape":"CacheParameterGroupNotFoundFault"},
754        {"shape":"InvalidVPCNetworkStateFault"},
755        {"shape":"InvalidKMSKeyFault"},
756        {"shape":"InvalidParameterValueException"},
757        {"shape":"InvalidParameterCombinationException"}
758      ]
759    },
760    "ModifyReplicationGroupShardConfiguration":{
761      "name":"ModifyReplicationGroupShardConfiguration",
762      "http":{
763        "method":"POST",
764        "requestUri":"/"
765      },
766      "input":{"shape":"ModifyReplicationGroupShardConfigurationMessage"},
767      "output":{
768        "shape":"ModifyReplicationGroupShardConfigurationResult",
769        "resultWrapper":"ModifyReplicationGroupShardConfigurationResult"
770      },
771      "errors":[
772        {"shape":"ReplicationGroupNotFoundFault"},
773        {"shape":"InvalidReplicationGroupStateFault"},
774        {"shape":"InvalidCacheClusterStateFault"},
775        {"shape":"InvalidVPCNetworkStateFault"},
776        {"shape":"InsufficientCacheClusterCapacityFault"},
777        {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"},
778        {"shape":"NodeQuotaForCustomerExceededFault"},
779        {"shape":"InvalidKMSKeyFault"},
780        {"shape":"InvalidParameterValueException"},
781        {"shape":"InvalidParameterCombinationException"}
782      ]
783    },
784    "PurchaseReservedCacheNodesOffering":{
785      "name":"PurchaseReservedCacheNodesOffering",
786      "http":{
787        "method":"POST",
788        "requestUri":"/"
789      },
790      "input":{"shape":"PurchaseReservedCacheNodesOfferingMessage"},
791      "output":{
792        "shape":"PurchaseReservedCacheNodesOfferingResult",
793        "resultWrapper":"PurchaseReservedCacheNodesOfferingResult"
794      },
795      "errors":[
796        {"shape":"ReservedCacheNodesOfferingNotFoundFault"},
797        {"shape":"ReservedCacheNodeAlreadyExistsFault"},
798        {"shape":"ReservedCacheNodeQuotaExceededFault"},
799        {"shape":"InvalidParameterValueException"},
800        {"shape":"InvalidParameterCombinationException"}
801      ]
802    },
803    "RebootCacheCluster":{
804      "name":"RebootCacheCluster",
805      "http":{
806        "method":"POST",
807        "requestUri":"/"
808      },
809      "input":{"shape":"RebootCacheClusterMessage"},
810      "output":{
811        "shape":"RebootCacheClusterResult",
812        "resultWrapper":"RebootCacheClusterResult"
813      },
814      "errors":[
815        {"shape":"InvalidCacheClusterStateFault"},
816        {"shape":"CacheClusterNotFoundFault"}
817      ]
818    },
819    "RemoveTagsFromResource":{
820      "name":"RemoveTagsFromResource",
821      "http":{
822        "method":"POST",
823        "requestUri":"/"
824      },
825      "input":{"shape":"RemoveTagsFromResourceMessage"},
826      "output":{
827        "shape":"TagListMessage",
828        "resultWrapper":"RemoveTagsFromResourceResult"
829      },
830      "errors":[
831        {"shape":"CacheClusterNotFoundFault"},
832        {"shape":"SnapshotNotFoundFault"},
833        {"shape":"InvalidARNFault"},
834        {"shape":"TagNotFoundFault"}
835      ]
836    },
837    "ResetCacheParameterGroup":{
838      "name":"ResetCacheParameterGroup",
839      "http":{
840        "method":"POST",
841        "requestUri":"/"
842      },
843      "input":{"shape":"ResetCacheParameterGroupMessage"},
844      "output":{
845        "shape":"CacheParameterGroupNameMessage",
846        "resultWrapper":"ResetCacheParameterGroupResult"
847      },
848      "errors":[
849        {"shape":"InvalidCacheParameterGroupStateFault"},
850        {"shape":"CacheParameterGroupNotFoundFault"},
851        {"shape":"InvalidParameterValueException"},
852        {"shape":"InvalidParameterCombinationException"}
853      ]
854    },
855    "RevokeCacheSecurityGroupIngress":{
856      "name":"RevokeCacheSecurityGroupIngress",
857      "http":{
858        "method":"POST",
859        "requestUri":"/"
860      },
861      "input":{"shape":"RevokeCacheSecurityGroupIngressMessage"},
862      "output":{
863        "shape":"RevokeCacheSecurityGroupIngressResult",
864        "resultWrapper":"RevokeCacheSecurityGroupIngressResult"
865      },
866      "errors":[
867        {"shape":"CacheSecurityGroupNotFoundFault"},
868        {"shape":"AuthorizationNotFoundFault"},
869        {"shape":"InvalidCacheSecurityGroupStateFault"},
870        {"shape":"InvalidParameterValueException"},
871        {"shape":"InvalidParameterCombinationException"}
872      ]
873    },
874    "StartMigration":{
875      "name":"StartMigration",
876      "http":{
877        "method":"POST",
878        "requestUri":"/"
879      },
880      "input":{"shape":"StartMigrationMessage"},
881      "output":{
882        "shape":"StartMigrationResponse",
883        "resultWrapper":"StartMigrationResult"
884      },
885      "errors":[
886        {"shape":"ReplicationGroupNotFoundFault"},
887        {"shape":"InvalidReplicationGroupStateFault"},
888        {"shape":"ReplicationGroupAlreadyUnderMigrationFault"},
889        {"shape":"InvalidParameterValueException"}
890      ]
891    },
892    "TestFailover":{
893      "name":"TestFailover",
894      "http":{
895        "method":"POST",
896        "requestUri":"/"
897      },
898      "input":{"shape":"TestFailoverMessage"},
899      "output":{
900        "shape":"TestFailoverResult",
901        "resultWrapper":"TestFailoverResult"
902      },
903      "errors":[
904        {"shape":"APICallRateForCustomerExceededFault"},
905        {"shape":"InvalidCacheClusterStateFault"},
906        {"shape":"InvalidReplicationGroupStateFault"},
907        {"shape":"NodeGroupNotFoundFault"},
908        {"shape":"ReplicationGroupNotFoundFault"},
909        {"shape":"TestFailoverNotAvailableFault"},
910        {"shape":"InvalidKMSKeyFault"},
911        {"shape":"InvalidParameterValueException"},
912        {"shape":"InvalidParameterCombinationException"}
913      ]
914    }
915  },
916  "shapes":{
917    "APICallRateForCustomerExceededFault":{
918      "type":"structure",
919      "members":{
920      },
921      "error":{
922        "code":"APICallRateForCustomerExceeded",
923        "httpStatusCode":400,
924        "senderFault":true
925      },
926      "exception":true
927    },
928    "AZMode":{
929      "type":"string",
930      "enum":[
931        "single-az",
932        "cross-az"
933      ]
934    },
935    "AddTagsToResourceMessage":{
936      "type":"structure",
937      "required":[
938        "ResourceName",
939        "Tags"
940      ],
941      "members":{
942        "ResourceName":{"shape":"String"},
943        "Tags":{"shape":"TagList"}
944      }
945    },
946    "AllowedNodeGroupId":{
947      "type":"string",
948      "max":4,
949      "min":1,
950      "pattern":"\\d+"
951    },
952    "AllowedNodeTypeModificationsMessage":{
953      "type":"structure",
954      "members":{
955        "ScaleUpModifications":{"shape":"NodeTypeList"},
956        "ScaleDownModifications":{"shape":"NodeTypeList"}
957      }
958    },
959    "AuthTokenUpdateStatus":{
960      "type":"string",
961      "enum":[
962        "SETTING",
963        "ROTATING"
964      ]
965    },
966    "AuthTokenUpdateStrategyType":{
967      "type":"string",
968      "enum":[
969        "SET",
970        "ROTATE"
971      ]
972    },
973    "AuthorizationAlreadyExistsFault":{
974      "type":"structure",
975      "members":{
976      },
977      "error":{
978        "code":"AuthorizationAlreadyExists",
979        "httpStatusCode":400,
980        "senderFault":true
981      },
982      "exception":true
983    },
984    "AuthorizationNotFoundFault":{
985      "type":"structure",
986      "members":{
987      },
988      "error":{
989        "code":"AuthorizationNotFound",
990        "httpStatusCode":404,
991        "senderFault":true
992      },
993      "exception":true
994    },
995    "AuthorizeCacheSecurityGroupIngressMessage":{
996      "type":"structure",
997      "required":[
998        "CacheSecurityGroupName",
999        "EC2SecurityGroupName",
1000        "EC2SecurityGroupOwnerId"
1001      ],
1002      "members":{
1003        "CacheSecurityGroupName":{"shape":"String"},
1004        "EC2SecurityGroupName":{"shape":"String"},
1005        "EC2SecurityGroupOwnerId":{"shape":"String"}
1006      }
1007    },
1008    "AuthorizeCacheSecurityGroupIngressResult":{
1009      "type":"structure",
1010      "members":{
1011        "CacheSecurityGroup":{"shape":"CacheSecurityGroup"}
1012      }
1013    },
1014    "AutomaticFailoverStatus":{
1015      "type":"string",
1016      "enum":[
1017        "enabled",
1018        "disabled",
1019        "enabling",
1020        "disabling"
1021      ]
1022    },
1023    "AvailabilityZone":{
1024      "type":"structure",
1025      "members":{
1026        "Name":{"shape":"String"}
1027      },
1028      "wrapper":true
1029    },
1030    "AvailabilityZonesList":{
1031      "type":"list",
1032      "member":{
1033        "shape":"String",
1034        "locationName":"AvailabilityZone"
1035      }
1036    },
1037    "AwsQueryErrorMessage":{"type":"string"},
1038    "BatchApplyUpdateActionMessage":{
1039      "type":"structure",
1040      "required":["ServiceUpdateName"],
1041      "members":{
1042        "ReplicationGroupIds":{"shape":"ReplicationGroupIdList"},
1043        "CacheClusterIds":{"shape":"CacheClusterIdList"},
1044        "ServiceUpdateName":{"shape":"String"}
1045      }
1046    },
1047    "BatchStopUpdateActionMessage":{
1048      "type":"structure",
1049      "required":["ServiceUpdateName"],
1050      "members":{
1051        "ReplicationGroupIds":{"shape":"ReplicationGroupIdList"},
1052        "CacheClusterIds":{"shape":"CacheClusterIdList"},
1053        "ServiceUpdateName":{"shape":"String"}
1054      }
1055    },
1056    "Boolean":{"type":"boolean"},
1057    "BooleanOptional":{"type":"boolean"},
1058    "CacheCluster":{
1059      "type":"structure",
1060      "members":{
1061        "CacheClusterId":{"shape":"String"},
1062        "ConfigurationEndpoint":{"shape":"Endpoint"},
1063        "ClientDownloadLandingPage":{"shape":"String"},
1064        "CacheNodeType":{"shape":"String"},
1065        "Engine":{"shape":"String"},
1066        "EngineVersion":{"shape":"String"},
1067        "CacheClusterStatus":{"shape":"String"},
1068        "NumCacheNodes":{"shape":"IntegerOptional"},
1069        "PreferredAvailabilityZone":{"shape":"String"},
1070        "CacheClusterCreateTime":{"shape":"TStamp"},
1071        "PreferredMaintenanceWindow":{"shape":"String"},
1072        "PendingModifiedValues":{"shape":"PendingModifiedValues"},
1073        "NotificationConfiguration":{"shape":"NotificationConfiguration"},
1074        "CacheSecurityGroups":{"shape":"CacheSecurityGroupMembershipList"},
1075        "CacheParameterGroup":{"shape":"CacheParameterGroupStatus"},
1076        "CacheSubnetGroupName":{"shape":"String"},
1077        "CacheNodes":{"shape":"CacheNodeList"},
1078        "AutoMinorVersionUpgrade":{"shape":"Boolean"},
1079        "SecurityGroups":{"shape":"SecurityGroupMembershipList"},
1080        "ReplicationGroupId":{"shape":"String"},
1081        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
1082        "SnapshotWindow":{"shape":"String"},
1083        "AuthTokenEnabled":{"shape":"BooleanOptional"},
1084        "AuthTokenLastModifiedDate":{"shape":"TStamp"},
1085        "TransitEncryptionEnabled":{"shape":"BooleanOptional"},
1086        "AtRestEncryptionEnabled":{"shape":"BooleanOptional"}
1087      },
1088      "wrapper":true
1089    },
1090    "CacheClusterAlreadyExistsFault":{
1091      "type":"structure",
1092      "members":{
1093      },
1094      "error":{
1095        "code":"CacheClusterAlreadyExists",
1096        "httpStatusCode":400,
1097        "senderFault":true
1098      },
1099      "exception":true
1100    },
1101    "CacheClusterIdList":{
1102      "type":"list",
1103      "member":{"shape":"String"},
1104      "max":20
1105    },
1106    "CacheClusterList":{
1107      "type":"list",
1108      "member":{
1109        "shape":"CacheCluster",
1110        "locationName":"CacheCluster"
1111      }
1112    },
1113    "CacheClusterMessage":{
1114      "type":"structure",
1115      "members":{
1116        "Marker":{"shape":"String"},
1117        "CacheClusters":{"shape":"CacheClusterList"}
1118      }
1119    },
1120    "CacheClusterNotFoundFault":{
1121      "type":"structure",
1122      "members":{
1123      },
1124      "error":{
1125        "code":"CacheClusterNotFound",
1126        "httpStatusCode":404,
1127        "senderFault":true
1128      },
1129      "exception":true
1130    },
1131    "CacheEngineVersion":{
1132      "type":"structure",
1133      "members":{
1134        "Engine":{"shape":"String"},
1135        "EngineVersion":{"shape":"String"},
1136        "CacheParameterGroupFamily":{"shape":"String"},
1137        "CacheEngineDescription":{"shape":"String"},
1138        "CacheEngineVersionDescription":{"shape":"String"}
1139      }
1140    },
1141    "CacheEngineVersionList":{
1142      "type":"list",
1143      "member":{
1144        "shape":"CacheEngineVersion",
1145        "locationName":"CacheEngineVersion"
1146      }
1147    },
1148    "CacheEngineVersionMessage":{
1149      "type":"structure",
1150      "members":{
1151        "Marker":{"shape":"String"},
1152        "CacheEngineVersions":{"shape":"CacheEngineVersionList"}
1153      }
1154    },
1155    "CacheNode":{
1156      "type":"structure",
1157      "members":{
1158        "CacheNodeId":{"shape":"String"},
1159        "CacheNodeStatus":{"shape":"String"},
1160        "CacheNodeCreateTime":{"shape":"TStamp"},
1161        "Endpoint":{"shape":"Endpoint"},
1162        "ParameterGroupStatus":{"shape":"String"},
1163        "SourceCacheNodeId":{"shape":"String"},
1164        "CustomerAvailabilityZone":{"shape":"String"}
1165      }
1166    },
1167    "CacheNodeIdsList":{
1168      "type":"list",
1169      "member":{
1170        "shape":"String",
1171        "locationName":"CacheNodeId"
1172      }
1173    },
1174    "CacheNodeList":{
1175      "type":"list",
1176      "member":{
1177        "shape":"CacheNode",
1178        "locationName":"CacheNode"
1179      }
1180    },
1181    "CacheNodeTypeSpecificParameter":{
1182      "type":"structure",
1183      "members":{
1184        "ParameterName":{"shape":"String"},
1185        "Description":{"shape":"String"},
1186        "Source":{"shape":"String"},
1187        "DataType":{"shape":"String"},
1188        "AllowedValues":{"shape":"String"},
1189        "IsModifiable":{"shape":"Boolean"},
1190        "MinimumEngineVersion":{"shape":"String"},
1191        "CacheNodeTypeSpecificValues":{"shape":"CacheNodeTypeSpecificValueList"},
1192        "ChangeType":{"shape":"ChangeType"}
1193      }
1194    },
1195    "CacheNodeTypeSpecificParametersList":{
1196      "type":"list",
1197      "member":{
1198        "shape":"CacheNodeTypeSpecificParameter",
1199        "locationName":"CacheNodeTypeSpecificParameter"
1200      }
1201    },
1202    "CacheNodeTypeSpecificValue":{
1203      "type":"structure",
1204      "members":{
1205        "CacheNodeType":{"shape":"String"},
1206        "Value":{"shape":"String"}
1207      }
1208    },
1209    "CacheNodeTypeSpecificValueList":{
1210      "type":"list",
1211      "member":{
1212        "shape":"CacheNodeTypeSpecificValue",
1213        "locationName":"CacheNodeTypeSpecificValue"
1214      }
1215    },
1216    "CacheNodeUpdateStatus":{
1217      "type":"structure",
1218      "members":{
1219        "CacheNodeId":{"shape":"String"},
1220        "NodeUpdateStatus":{"shape":"NodeUpdateStatus"},
1221        "NodeDeletionDate":{"shape":"TStamp"},
1222        "NodeUpdateStartDate":{"shape":"TStamp"},
1223        "NodeUpdateEndDate":{"shape":"TStamp"},
1224        "NodeUpdateInitiatedBy":{"shape":"NodeUpdateInitiatedBy"},
1225        "NodeUpdateInitiatedDate":{"shape":"TStamp"},
1226        "NodeUpdateStatusModifiedDate":{"shape":"TStamp"}
1227      }
1228    },
1229    "CacheNodeUpdateStatusList":{
1230      "type":"list",
1231      "member":{
1232        "shape":"CacheNodeUpdateStatus",
1233        "locationName":"CacheNodeUpdateStatus"
1234      }
1235    },
1236    "CacheParameterGroup":{
1237      "type":"structure",
1238      "members":{
1239        "CacheParameterGroupName":{"shape":"String"},
1240        "CacheParameterGroupFamily":{"shape":"String"},
1241        "Description":{"shape":"String"}
1242      },
1243      "wrapper":true
1244    },
1245    "CacheParameterGroupAlreadyExistsFault":{
1246      "type":"structure",
1247      "members":{
1248      },
1249      "error":{
1250        "code":"CacheParameterGroupAlreadyExists",
1251        "httpStatusCode":400,
1252        "senderFault":true
1253      },
1254      "exception":true
1255    },
1256    "CacheParameterGroupDetails":{
1257      "type":"structure",
1258      "members":{
1259        "Marker":{"shape":"String"},
1260        "Parameters":{"shape":"ParametersList"},
1261        "CacheNodeTypeSpecificParameters":{"shape":"CacheNodeTypeSpecificParametersList"}
1262      }
1263    },
1264    "CacheParameterGroupList":{
1265      "type":"list",
1266      "member":{
1267        "shape":"CacheParameterGroup",
1268        "locationName":"CacheParameterGroup"
1269      }
1270    },
1271    "CacheParameterGroupNameMessage":{
1272      "type":"structure",
1273      "members":{
1274        "CacheParameterGroupName":{"shape":"String"}
1275      }
1276    },
1277    "CacheParameterGroupNotFoundFault":{
1278      "type":"structure",
1279      "members":{
1280      },
1281      "error":{
1282        "code":"CacheParameterGroupNotFound",
1283        "httpStatusCode":404,
1284        "senderFault":true
1285      },
1286      "exception":true
1287    },
1288    "CacheParameterGroupQuotaExceededFault":{
1289      "type":"structure",
1290      "members":{
1291      },
1292      "error":{
1293        "code":"CacheParameterGroupQuotaExceeded",
1294        "httpStatusCode":400,
1295        "senderFault":true
1296      },
1297      "exception":true
1298    },
1299    "CacheParameterGroupStatus":{
1300      "type":"structure",
1301      "members":{
1302        "CacheParameterGroupName":{"shape":"String"},
1303        "ParameterApplyStatus":{"shape":"String"},
1304        "CacheNodeIdsToReboot":{"shape":"CacheNodeIdsList"}
1305      }
1306    },
1307    "CacheParameterGroupsMessage":{
1308      "type":"structure",
1309      "members":{
1310        "Marker":{"shape":"String"},
1311        "CacheParameterGroups":{"shape":"CacheParameterGroupList"}
1312      }
1313    },
1314    "CacheSecurityGroup":{
1315      "type":"structure",
1316      "members":{
1317        "OwnerId":{"shape":"String"},
1318        "CacheSecurityGroupName":{"shape":"String"},
1319        "Description":{"shape":"String"},
1320        "EC2SecurityGroups":{"shape":"EC2SecurityGroupList"}
1321      },
1322      "wrapper":true
1323    },
1324    "CacheSecurityGroupAlreadyExistsFault":{
1325      "type":"structure",
1326      "members":{
1327      },
1328      "error":{
1329        "code":"CacheSecurityGroupAlreadyExists",
1330        "httpStatusCode":400,
1331        "senderFault":true
1332      },
1333      "exception":true
1334    },
1335    "CacheSecurityGroupMembership":{
1336      "type":"structure",
1337      "members":{
1338        "CacheSecurityGroupName":{"shape":"String"},
1339        "Status":{"shape":"String"}
1340      }
1341    },
1342    "CacheSecurityGroupMembershipList":{
1343      "type":"list",
1344      "member":{
1345        "shape":"CacheSecurityGroupMembership",
1346        "locationName":"CacheSecurityGroup"
1347      }
1348    },
1349    "CacheSecurityGroupMessage":{
1350      "type":"structure",
1351      "members":{
1352        "Marker":{"shape":"String"},
1353        "CacheSecurityGroups":{"shape":"CacheSecurityGroups"}
1354      }
1355    },
1356    "CacheSecurityGroupNameList":{
1357      "type":"list",
1358      "member":{
1359        "shape":"String",
1360        "locationName":"CacheSecurityGroupName"
1361      }
1362    },
1363    "CacheSecurityGroupNotFoundFault":{
1364      "type":"structure",
1365      "members":{
1366      },
1367      "error":{
1368        "code":"CacheSecurityGroupNotFound",
1369        "httpStatusCode":404,
1370        "senderFault":true
1371      },
1372      "exception":true
1373    },
1374    "CacheSecurityGroupQuotaExceededFault":{
1375      "type":"structure",
1376      "members":{
1377      },
1378      "error":{
1379        "code":"QuotaExceeded.CacheSecurityGroup",
1380        "httpStatusCode":400,
1381        "senderFault":true
1382      },
1383      "exception":true
1384    },
1385    "CacheSecurityGroups":{
1386      "type":"list",
1387      "member":{
1388        "shape":"CacheSecurityGroup",
1389        "locationName":"CacheSecurityGroup"
1390      }
1391    },
1392    "CacheSubnetGroup":{
1393      "type":"structure",
1394      "members":{
1395        "CacheSubnetGroupName":{"shape":"String"},
1396        "CacheSubnetGroupDescription":{"shape":"String"},
1397        "VpcId":{"shape":"String"},
1398        "Subnets":{"shape":"SubnetList"}
1399      },
1400      "wrapper":true
1401    },
1402    "CacheSubnetGroupAlreadyExistsFault":{
1403      "type":"structure",
1404      "members":{
1405      },
1406      "error":{
1407        "code":"CacheSubnetGroupAlreadyExists",
1408        "httpStatusCode":400,
1409        "senderFault":true
1410      },
1411      "exception":true
1412    },
1413    "CacheSubnetGroupInUse":{
1414      "type":"structure",
1415      "members":{
1416      },
1417      "error":{
1418        "code":"CacheSubnetGroupInUse",
1419        "httpStatusCode":400,
1420        "senderFault":true
1421      },
1422      "exception":true
1423    },
1424    "CacheSubnetGroupMessage":{
1425      "type":"structure",
1426      "members":{
1427        "Marker":{"shape":"String"},
1428        "CacheSubnetGroups":{"shape":"CacheSubnetGroups"}
1429      }
1430    },
1431    "CacheSubnetGroupNotFoundFault":{
1432      "type":"structure",
1433      "members":{
1434      },
1435      "error":{
1436        "code":"CacheSubnetGroupNotFoundFault",
1437        "httpStatusCode":400,
1438        "senderFault":true
1439      },
1440      "exception":true
1441    },
1442    "CacheSubnetGroupQuotaExceededFault":{
1443      "type":"structure",
1444      "members":{
1445      },
1446      "error":{
1447        "code":"CacheSubnetGroupQuotaExceeded",
1448        "httpStatusCode":400,
1449        "senderFault":true
1450      },
1451      "exception":true
1452    },
1453    "CacheSubnetGroups":{
1454      "type":"list",
1455      "member":{
1456        "shape":"CacheSubnetGroup",
1457        "locationName":"CacheSubnetGroup"
1458      }
1459    },
1460    "CacheSubnetQuotaExceededFault":{
1461      "type":"structure",
1462      "members":{
1463      },
1464      "error":{
1465        "code":"CacheSubnetQuotaExceededFault",
1466        "httpStatusCode":400,
1467        "senderFault":true
1468      },
1469      "exception":true
1470    },
1471    "ChangeType":{
1472      "type":"string",
1473      "enum":[
1474        "immediate",
1475        "requires-reboot"
1476      ]
1477    },
1478    "ClusterIdList":{
1479      "type":"list",
1480      "member":{
1481        "shape":"String",
1482        "locationName":"ClusterId"
1483      }
1484    },
1485    "ClusterQuotaForCustomerExceededFault":{
1486      "type":"structure",
1487      "members":{
1488      },
1489      "error":{
1490        "code":"ClusterQuotaForCustomerExceeded",
1491        "httpStatusCode":400,
1492        "senderFault":true
1493      },
1494      "exception":true
1495    },
1496    "CompleteMigrationMessage":{
1497      "type":"structure",
1498      "required":["ReplicationGroupId"],
1499      "members":{
1500        "ReplicationGroupId":{"shape":"String"},
1501        "Force":{"shape":"Boolean"}
1502      }
1503    },
1504    "CompleteMigrationResponse":{
1505      "type":"structure",
1506      "members":{
1507        "ReplicationGroup":{"shape":"ReplicationGroup"}
1508      }
1509    },
1510    "ConfigureShard":{
1511      "type":"structure",
1512      "required":[
1513        "NodeGroupId",
1514        "NewReplicaCount"
1515      ],
1516      "members":{
1517        "NodeGroupId":{"shape":"AllowedNodeGroupId"},
1518        "NewReplicaCount":{"shape":"Integer"},
1519        "PreferredAvailabilityZones":{"shape":"PreferredAvailabilityZoneList"}
1520      }
1521    },
1522    "CopySnapshotMessage":{
1523      "type":"structure",
1524      "required":[
1525        "SourceSnapshotName",
1526        "TargetSnapshotName"
1527      ],
1528      "members":{
1529        "SourceSnapshotName":{"shape":"String"},
1530        "TargetSnapshotName":{"shape":"String"},
1531        "TargetBucket":{"shape":"String"},
1532        "KmsKeyId":{"shape":"String"}
1533      }
1534    },
1535    "CopySnapshotResult":{
1536      "type":"structure",
1537      "members":{
1538        "Snapshot":{"shape":"Snapshot"}
1539      }
1540    },
1541    "CreateCacheClusterMessage":{
1542      "type":"structure",
1543      "required":["CacheClusterId"],
1544      "members":{
1545        "CacheClusterId":{"shape":"String"},
1546        "ReplicationGroupId":{"shape":"String"},
1547        "AZMode":{"shape":"AZMode"},
1548        "PreferredAvailabilityZone":{"shape":"String"},
1549        "PreferredAvailabilityZones":{"shape":"PreferredAvailabilityZoneList"},
1550        "NumCacheNodes":{"shape":"IntegerOptional"},
1551        "CacheNodeType":{"shape":"String"},
1552        "Engine":{"shape":"String"},
1553        "EngineVersion":{"shape":"String"},
1554        "CacheParameterGroupName":{"shape":"String"},
1555        "CacheSubnetGroupName":{"shape":"String"},
1556        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
1557        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
1558        "Tags":{"shape":"TagList"},
1559        "SnapshotArns":{"shape":"SnapshotArnsList"},
1560        "SnapshotName":{"shape":"String"},
1561        "PreferredMaintenanceWindow":{"shape":"String"},
1562        "Port":{"shape":"IntegerOptional"},
1563        "NotificationTopicArn":{"shape":"String"},
1564        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
1565        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
1566        "SnapshotWindow":{"shape":"String"},
1567        "AuthToken":{"shape":"String"}
1568      }
1569    },
1570    "CreateCacheClusterResult":{
1571      "type":"structure",
1572      "members":{
1573        "CacheCluster":{"shape":"CacheCluster"}
1574      }
1575    },
1576    "CreateCacheParameterGroupMessage":{
1577      "type":"structure",
1578      "required":[
1579        "CacheParameterGroupName",
1580        "CacheParameterGroupFamily",
1581        "Description"
1582      ],
1583      "members":{
1584        "CacheParameterGroupName":{"shape":"String"},
1585        "CacheParameterGroupFamily":{"shape":"String"},
1586        "Description":{"shape":"String"}
1587      }
1588    },
1589    "CreateCacheParameterGroupResult":{
1590      "type":"structure",
1591      "members":{
1592        "CacheParameterGroup":{"shape":"CacheParameterGroup"}
1593      }
1594    },
1595    "CreateCacheSecurityGroupMessage":{
1596      "type":"structure",
1597      "required":[
1598        "CacheSecurityGroupName",
1599        "Description"
1600      ],
1601      "members":{
1602        "CacheSecurityGroupName":{"shape":"String"},
1603        "Description":{"shape":"String"}
1604      }
1605    },
1606    "CreateCacheSecurityGroupResult":{
1607      "type":"structure",
1608      "members":{
1609        "CacheSecurityGroup":{"shape":"CacheSecurityGroup"}
1610      }
1611    },
1612    "CreateCacheSubnetGroupMessage":{
1613      "type":"structure",
1614      "required":[
1615        "CacheSubnetGroupName",
1616        "CacheSubnetGroupDescription",
1617        "SubnetIds"
1618      ],
1619      "members":{
1620        "CacheSubnetGroupName":{"shape":"String"},
1621        "CacheSubnetGroupDescription":{"shape":"String"},
1622        "SubnetIds":{"shape":"SubnetIdentifierList"}
1623      }
1624    },
1625    "CreateCacheSubnetGroupResult":{
1626      "type":"structure",
1627      "members":{
1628        "CacheSubnetGroup":{"shape":"CacheSubnetGroup"}
1629      }
1630    },
1631    "CreateReplicationGroupMessage":{
1632      "type":"structure",
1633      "required":[
1634        "ReplicationGroupId",
1635        "ReplicationGroupDescription"
1636      ],
1637      "members":{
1638        "ReplicationGroupId":{"shape":"String"},
1639        "ReplicationGroupDescription":{"shape":"String"},
1640        "PrimaryClusterId":{"shape":"String"},
1641        "AutomaticFailoverEnabled":{"shape":"BooleanOptional"},
1642        "NumCacheClusters":{"shape":"IntegerOptional"},
1643        "PreferredCacheClusterAZs":{"shape":"AvailabilityZonesList"},
1644        "NumNodeGroups":{"shape":"IntegerOptional"},
1645        "ReplicasPerNodeGroup":{"shape":"IntegerOptional"},
1646        "NodeGroupConfiguration":{"shape":"NodeGroupConfigurationList"},
1647        "CacheNodeType":{"shape":"String"},
1648        "Engine":{"shape":"String"},
1649        "EngineVersion":{"shape":"String"},
1650        "CacheParameterGroupName":{"shape":"String"},
1651        "CacheSubnetGroupName":{"shape":"String"},
1652        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
1653        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
1654        "Tags":{"shape":"TagList"},
1655        "SnapshotArns":{"shape":"SnapshotArnsList"},
1656        "SnapshotName":{"shape":"String"},
1657        "PreferredMaintenanceWindow":{"shape":"String"},
1658        "Port":{"shape":"IntegerOptional"},
1659        "NotificationTopicArn":{"shape":"String"},
1660        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
1661        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
1662        "SnapshotWindow":{"shape":"String"},
1663        "AuthToken":{"shape":"String"},
1664        "TransitEncryptionEnabled":{"shape":"BooleanOptional"},
1665        "AtRestEncryptionEnabled":{"shape":"BooleanOptional"},
1666        "KmsKeyId":{"shape":"String"}
1667      }
1668    },
1669    "CreateReplicationGroupResult":{
1670      "type":"structure",
1671      "members":{
1672        "ReplicationGroup":{"shape":"ReplicationGroup"}
1673      }
1674    },
1675    "CreateSnapshotMessage":{
1676      "type":"structure",
1677      "required":["SnapshotName"],
1678      "members":{
1679        "ReplicationGroupId":{"shape":"String"},
1680        "CacheClusterId":{"shape":"String"},
1681        "SnapshotName":{"shape":"String"},
1682        "KmsKeyId":{"shape":"String"}
1683      }
1684    },
1685    "CreateSnapshotResult":{
1686      "type":"structure",
1687      "members":{
1688        "Snapshot":{"shape":"Snapshot"}
1689      }
1690    },
1691    "CustomerNodeEndpoint":{
1692      "type":"structure",
1693      "members":{
1694        "Address":{"shape":"String"},
1695        "Port":{"shape":"IntegerOptional"}
1696      }
1697    },
1698    "CustomerNodeEndpointList":{
1699      "type":"list",
1700      "member":{"shape":"CustomerNodeEndpoint"}
1701    },
1702    "DecreaseReplicaCountMessage":{
1703      "type":"structure",
1704      "required":[
1705        "ReplicationGroupId",
1706        "ApplyImmediately"
1707      ],
1708      "members":{
1709        "ReplicationGroupId":{"shape":"String"},
1710        "NewReplicaCount":{"shape":"IntegerOptional"},
1711        "ReplicaConfiguration":{"shape":"ReplicaConfigurationList"},
1712        "ReplicasToRemove":{"shape":"RemoveReplicasList"},
1713        "ApplyImmediately":{"shape":"Boolean"}
1714      }
1715    },
1716    "DecreaseReplicaCountResult":{
1717      "type":"structure",
1718      "members":{
1719        "ReplicationGroup":{"shape":"ReplicationGroup"}
1720      }
1721    },
1722    "DeleteCacheClusterMessage":{
1723      "type":"structure",
1724      "required":["CacheClusterId"],
1725      "members":{
1726        "CacheClusterId":{"shape":"String"},
1727        "FinalSnapshotIdentifier":{"shape":"String"}
1728      }
1729    },
1730    "DeleteCacheClusterResult":{
1731      "type":"structure",
1732      "members":{
1733        "CacheCluster":{"shape":"CacheCluster"}
1734      }
1735    },
1736    "DeleteCacheParameterGroupMessage":{
1737      "type":"structure",
1738      "required":["CacheParameterGroupName"],
1739      "members":{
1740        "CacheParameterGroupName":{"shape":"String"}
1741      }
1742    },
1743    "DeleteCacheSecurityGroupMessage":{
1744      "type":"structure",
1745      "required":["CacheSecurityGroupName"],
1746      "members":{
1747        "CacheSecurityGroupName":{"shape":"String"}
1748      }
1749    },
1750    "DeleteCacheSubnetGroupMessage":{
1751      "type":"structure",
1752      "required":["CacheSubnetGroupName"],
1753      "members":{
1754        "CacheSubnetGroupName":{"shape":"String"}
1755      }
1756    },
1757    "DeleteReplicationGroupMessage":{
1758      "type":"structure",
1759      "required":["ReplicationGroupId"],
1760      "members":{
1761        "ReplicationGroupId":{"shape":"String"},
1762        "RetainPrimaryCluster":{"shape":"BooleanOptional"},
1763        "FinalSnapshotIdentifier":{"shape":"String"}
1764      }
1765    },
1766    "DeleteReplicationGroupResult":{
1767      "type":"structure",
1768      "members":{
1769        "ReplicationGroup":{"shape":"ReplicationGroup"}
1770      }
1771    },
1772    "DeleteSnapshotMessage":{
1773      "type":"structure",
1774      "required":["SnapshotName"],
1775      "members":{
1776        "SnapshotName":{"shape":"String"}
1777      }
1778    },
1779    "DeleteSnapshotResult":{
1780      "type":"structure",
1781      "members":{
1782        "Snapshot":{"shape":"Snapshot"}
1783      }
1784    },
1785    "DescribeCacheClustersMessage":{
1786      "type":"structure",
1787      "members":{
1788        "CacheClusterId":{"shape":"String"},
1789        "MaxRecords":{"shape":"IntegerOptional"},
1790        "Marker":{"shape":"String"},
1791        "ShowCacheNodeInfo":{"shape":"BooleanOptional"},
1792        "ShowCacheClustersNotInReplicationGroups":{"shape":"BooleanOptional"}
1793      }
1794    },
1795    "DescribeCacheEngineVersionsMessage":{
1796      "type":"structure",
1797      "members":{
1798        "Engine":{"shape":"String"},
1799        "EngineVersion":{"shape":"String"},
1800        "CacheParameterGroupFamily":{"shape":"String"},
1801        "MaxRecords":{"shape":"IntegerOptional"},
1802        "Marker":{"shape":"String"},
1803        "DefaultOnly":{"shape":"Boolean"}
1804      }
1805    },
1806    "DescribeCacheParameterGroupsMessage":{
1807      "type":"structure",
1808      "members":{
1809        "CacheParameterGroupName":{"shape":"String"},
1810        "MaxRecords":{"shape":"IntegerOptional"},
1811        "Marker":{"shape":"String"}
1812      }
1813    },
1814    "DescribeCacheParametersMessage":{
1815      "type":"structure",
1816      "required":["CacheParameterGroupName"],
1817      "members":{
1818        "CacheParameterGroupName":{"shape":"String"},
1819        "Source":{"shape":"String"},
1820        "MaxRecords":{"shape":"IntegerOptional"},
1821        "Marker":{"shape":"String"}
1822      }
1823    },
1824    "DescribeCacheSecurityGroupsMessage":{
1825      "type":"structure",
1826      "members":{
1827        "CacheSecurityGroupName":{"shape":"String"},
1828        "MaxRecords":{"shape":"IntegerOptional"},
1829        "Marker":{"shape":"String"}
1830      }
1831    },
1832    "DescribeCacheSubnetGroupsMessage":{
1833      "type":"structure",
1834      "members":{
1835        "CacheSubnetGroupName":{"shape":"String"},
1836        "MaxRecords":{"shape":"IntegerOptional"},
1837        "Marker":{"shape":"String"}
1838      }
1839    },
1840    "DescribeEngineDefaultParametersMessage":{
1841      "type":"structure",
1842      "required":["CacheParameterGroupFamily"],
1843      "members":{
1844        "CacheParameterGroupFamily":{"shape":"String"},
1845        "MaxRecords":{"shape":"IntegerOptional"},
1846        "Marker":{"shape":"String"}
1847      }
1848    },
1849    "DescribeEngineDefaultParametersResult":{
1850      "type":"structure",
1851      "members":{
1852        "EngineDefaults":{"shape":"EngineDefaults"}
1853      }
1854    },
1855    "DescribeEventsMessage":{
1856      "type":"structure",
1857      "members":{
1858        "SourceIdentifier":{"shape":"String"},
1859        "SourceType":{"shape":"SourceType"},
1860        "StartTime":{"shape":"TStamp"},
1861        "EndTime":{"shape":"TStamp"},
1862        "Duration":{"shape":"IntegerOptional"},
1863        "MaxRecords":{"shape":"IntegerOptional"},
1864        "Marker":{"shape":"String"}
1865      }
1866    },
1867    "DescribeReplicationGroupsMessage":{
1868      "type":"structure",
1869      "members":{
1870        "ReplicationGroupId":{"shape":"String"},
1871        "MaxRecords":{"shape":"IntegerOptional"},
1872        "Marker":{"shape":"String"}
1873      }
1874    },
1875    "DescribeReservedCacheNodesMessage":{
1876      "type":"structure",
1877      "members":{
1878        "ReservedCacheNodeId":{"shape":"String"},
1879        "ReservedCacheNodesOfferingId":{"shape":"String"},
1880        "CacheNodeType":{"shape":"String"},
1881        "Duration":{"shape":"String"},
1882        "ProductDescription":{"shape":"String"},
1883        "OfferingType":{"shape":"String"},
1884        "MaxRecords":{"shape":"IntegerOptional"},
1885        "Marker":{"shape":"String"}
1886      }
1887    },
1888    "DescribeReservedCacheNodesOfferingsMessage":{
1889      "type":"structure",
1890      "members":{
1891        "ReservedCacheNodesOfferingId":{"shape":"String"},
1892        "CacheNodeType":{"shape":"String"},
1893        "Duration":{"shape":"String"},
1894        "ProductDescription":{"shape":"String"},
1895        "OfferingType":{"shape":"String"},
1896        "MaxRecords":{"shape":"IntegerOptional"},
1897        "Marker":{"shape":"String"}
1898      }
1899    },
1900    "DescribeServiceUpdatesMessage":{
1901      "type":"structure",
1902      "members":{
1903        "ServiceUpdateName":{"shape":"String"},
1904        "ServiceUpdateStatus":{"shape":"ServiceUpdateStatusList"},
1905        "MaxRecords":{"shape":"IntegerOptional"},
1906        "Marker":{"shape":"String"}
1907      }
1908    },
1909    "DescribeSnapshotsListMessage":{
1910      "type":"structure",
1911      "members":{
1912        "Marker":{"shape":"String"},
1913        "Snapshots":{"shape":"SnapshotList"}
1914      }
1915    },
1916    "DescribeSnapshotsMessage":{
1917      "type":"structure",
1918      "members":{
1919        "ReplicationGroupId":{"shape":"String"},
1920        "CacheClusterId":{"shape":"String"},
1921        "SnapshotName":{"shape":"String"},
1922        "SnapshotSource":{"shape":"String"},
1923        "Marker":{"shape":"String"},
1924        "MaxRecords":{"shape":"IntegerOptional"},
1925        "ShowNodeGroupConfig":{"shape":"BooleanOptional"}
1926      }
1927    },
1928    "DescribeUpdateActionsMessage":{
1929      "type":"structure",
1930      "members":{
1931        "ServiceUpdateName":{"shape":"String"},
1932        "ReplicationGroupIds":{"shape":"ReplicationGroupIdList"},
1933        "CacheClusterIds":{"shape":"CacheClusterIdList"},
1934        "Engine":{"shape":"String"},
1935        "ServiceUpdateStatus":{"shape":"ServiceUpdateStatusList"},
1936        "ServiceUpdateTimeRange":{"shape":"TimeRangeFilter"},
1937        "UpdateActionStatus":{"shape":"UpdateActionStatusList"},
1938        "ShowNodeLevelUpdateStatus":{"shape":"BooleanOptional"},
1939        "MaxRecords":{"shape":"IntegerOptional"},
1940        "Marker":{"shape":"String"}
1941      }
1942    },
1943    "Double":{"type":"double"},
1944    "EC2SecurityGroup":{
1945      "type":"structure",
1946      "members":{
1947        "Status":{"shape":"String"},
1948        "EC2SecurityGroupName":{"shape":"String"},
1949        "EC2SecurityGroupOwnerId":{"shape":"String"}
1950      }
1951    },
1952    "EC2SecurityGroupList":{
1953      "type":"list",
1954      "member":{
1955        "shape":"EC2SecurityGroup",
1956        "locationName":"EC2SecurityGroup"
1957      }
1958    },
1959    "Endpoint":{
1960      "type":"structure",
1961      "members":{
1962        "Address":{"shape":"String"},
1963        "Port":{"shape":"Integer"}
1964      }
1965    },
1966    "EngineDefaults":{
1967      "type":"structure",
1968      "members":{
1969        "CacheParameterGroupFamily":{"shape":"String"},
1970        "Marker":{"shape":"String"},
1971        "Parameters":{"shape":"ParametersList"},
1972        "CacheNodeTypeSpecificParameters":{"shape":"CacheNodeTypeSpecificParametersList"}
1973      },
1974      "wrapper":true
1975    },
1976    "Event":{
1977      "type":"structure",
1978      "members":{
1979        "SourceIdentifier":{"shape":"String"},
1980        "SourceType":{"shape":"SourceType"},
1981        "Message":{"shape":"String"},
1982        "Date":{"shape":"TStamp"}
1983      }
1984    },
1985    "EventList":{
1986      "type":"list",
1987      "member":{
1988        "shape":"Event",
1989        "locationName":"Event"
1990      }
1991    },
1992    "EventsMessage":{
1993      "type":"structure",
1994      "members":{
1995        "Marker":{"shape":"String"},
1996        "Events":{"shape":"EventList"}
1997      }
1998    },
1999    "IncreaseReplicaCountMessage":{
2000      "type":"structure",
2001      "required":[
2002        "ReplicationGroupId",
2003        "ApplyImmediately"
2004      ],
2005      "members":{
2006        "ReplicationGroupId":{"shape":"String"},
2007        "NewReplicaCount":{"shape":"IntegerOptional"},
2008        "ReplicaConfiguration":{"shape":"ReplicaConfigurationList"},
2009        "ApplyImmediately":{"shape":"Boolean"}
2010      }
2011    },
2012    "IncreaseReplicaCountResult":{
2013      "type":"structure",
2014      "members":{
2015        "ReplicationGroup":{"shape":"ReplicationGroup"}
2016      }
2017    },
2018    "InsufficientCacheClusterCapacityFault":{
2019      "type":"structure",
2020      "members":{
2021      },
2022      "error":{
2023        "code":"InsufficientCacheClusterCapacity",
2024        "httpStatusCode":400,
2025        "senderFault":true
2026      },
2027      "exception":true
2028    },
2029    "Integer":{"type":"integer"},
2030    "IntegerOptional":{"type":"integer"},
2031    "InvalidARNFault":{
2032      "type":"structure",
2033      "members":{
2034      },
2035      "error":{
2036        "code":"InvalidARN",
2037        "httpStatusCode":400,
2038        "senderFault":true
2039      },
2040      "exception":true
2041    },
2042    "InvalidCacheClusterStateFault":{
2043      "type":"structure",
2044      "members":{
2045      },
2046      "error":{
2047        "code":"InvalidCacheClusterState",
2048        "httpStatusCode":400,
2049        "senderFault":true
2050      },
2051      "exception":true
2052    },
2053    "InvalidCacheParameterGroupStateFault":{
2054      "type":"structure",
2055      "members":{
2056      },
2057      "error":{
2058        "code":"InvalidCacheParameterGroupState",
2059        "httpStatusCode":400,
2060        "senderFault":true
2061      },
2062      "exception":true
2063    },
2064    "InvalidCacheSecurityGroupStateFault":{
2065      "type":"structure",
2066      "members":{
2067      },
2068      "error":{
2069        "code":"InvalidCacheSecurityGroupState",
2070        "httpStatusCode":400,
2071        "senderFault":true
2072      },
2073      "exception":true
2074    },
2075    "InvalidKMSKeyFault":{
2076      "type":"structure",
2077      "members":{
2078      },
2079      "error":{
2080        "code":"InvalidKMSKeyFault",
2081        "httpStatusCode":400,
2082        "senderFault":true
2083      },
2084      "exception":true
2085    },
2086    "InvalidParameterCombinationException":{
2087      "type":"structure",
2088      "members":{
2089        "message":{"shape":"AwsQueryErrorMessage"}
2090      },
2091      "error":{
2092        "code":"InvalidParameterCombination",
2093        "httpStatusCode":400,
2094        "senderFault":true
2095      },
2096      "exception":true,
2097      "synthetic":true
2098    },
2099    "InvalidParameterValueException":{
2100      "type":"structure",
2101      "members":{
2102        "message":{"shape":"AwsQueryErrorMessage"}
2103      },
2104      "error":{
2105        "code":"InvalidParameterValue",
2106        "httpStatusCode":400,
2107        "senderFault":true
2108      },
2109      "exception":true,
2110      "synthetic":true
2111    },
2112    "InvalidReplicationGroupStateFault":{
2113      "type":"structure",
2114      "members":{
2115      },
2116      "error":{
2117        "code":"InvalidReplicationGroupState",
2118        "httpStatusCode":400,
2119        "senderFault":true
2120      },
2121      "exception":true
2122    },
2123    "InvalidSnapshotStateFault":{
2124      "type":"structure",
2125      "members":{
2126      },
2127      "error":{
2128        "code":"InvalidSnapshotState",
2129        "httpStatusCode":400,
2130        "senderFault":true
2131      },
2132      "exception":true
2133    },
2134    "InvalidSubnet":{
2135      "type":"structure",
2136      "members":{
2137      },
2138      "error":{
2139        "code":"InvalidSubnet",
2140        "httpStatusCode":400,
2141        "senderFault":true
2142      },
2143      "exception":true
2144    },
2145    "InvalidVPCNetworkStateFault":{
2146      "type":"structure",
2147      "members":{
2148      },
2149      "error":{
2150        "code":"InvalidVPCNetworkStateFault",
2151        "httpStatusCode":400,
2152        "senderFault":true
2153      },
2154      "exception":true
2155    },
2156    "KeyList":{
2157      "type":"list",
2158      "member":{"shape":"String"}
2159    },
2160    "ListAllowedNodeTypeModificationsMessage":{
2161      "type":"structure",
2162      "members":{
2163        "CacheClusterId":{"shape":"String"},
2164        "ReplicationGroupId":{"shape":"String"}
2165      }
2166    },
2167    "ListTagsForResourceMessage":{
2168      "type":"structure",
2169      "required":["ResourceName"],
2170      "members":{
2171        "ResourceName":{"shape":"String"}
2172      }
2173    },
2174    "ModifyCacheClusterMessage":{
2175      "type":"structure",
2176      "required":["CacheClusterId"],
2177      "members":{
2178        "CacheClusterId":{"shape":"String"},
2179        "NumCacheNodes":{"shape":"IntegerOptional"},
2180        "CacheNodeIdsToRemove":{"shape":"CacheNodeIdsList"},
2181        "AZMode":{"shape":"AZMode"},
2182        "NewAvailabilityZones":{"shape":"PreferredAvailabilityZoneList"},
2183        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
2184        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
2185        "PreferredMaintenanceWindow":{"shape":"String"},
2186        "NotificationTopicArn":{"shape":"String"},
2187        "CacheParameterGroupName":{"shape":"String"},
2188        "NotificationTopicStatus":{"shape":"String"},
2189        "ApplyImmediately":{"shape":"Boolean"},
2190        "EngineVersion":{"shape":"String"},
2191        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
2192        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
2193        "SnapshotWindow":{"shape":"String"},
2194        "CacheNodeType":{"shape":"String"},
2195        "AuthToken":{"shape":"String"},
2196        "AuthTokenUpdateStrategy":{"shape":"AuthTokenUpdateStrategyType"}
2197      }
2198    },
2199    "ModifyCacheClusterResult":{
2200      "type":"structure",
2201      "members":{
2202        "CacheCluster":{"shape":"CacheCluster"}
2203      }
2204    },
2205    "ModifyCacheParameterGroupMessage":{
2206      "type":"structure",
2207      "required":[
2208        "CacheParameterGroupName",
2209        "ParameterNameValues"
2210      ],
2211      "members":{
2212        "CacheParameterGroupName":{"shape":"String"},
2213        "ParameterNameValues":{"shape":"ParameterNameValueList"}
2214      }
2215    },
2216    "ModifyCacheSubnetGroupMessage":{
2217      "type":"structure",
2218      "required":["CacheSubnetGroupName"],
2219      "members":{
2220        "CacheSubnetGroupName":{"shape":"String"},
2221        "CacheSubnetGroupDescription":{"shape":"String"},
2222        "SubnetIds":{"shape":"SubnetIdentifierList"}
2223      }
2224    },
2225    "ModifyCacheSubnetGroupResult":{
2226      "type":"structure",
2227      "members":{
2228        "CacheSubnetGroup":{"shape":"CacheSubnetGroup"}
2229      }
2230    },
2231    "ModifyReplicationGroupMessage":{
2232      "type":"structure",
2233      "required":["ReplicationGroupId"],
2234      "members":{
2235        "ReplicationGroupId":{"shape":"String"},
2236        "ReplicationGroupDescription":{"shape":"String"},
2237        "PrimaryClusterId":{"shape":"String"},
2238        "SnapshottingClusterId":{"shape":"String"},
2239        "AutomaticFailoverEnabled":{"shape":"BooleanOptional"},
2240        "NodeGroupId":{
2241          "shape":"String",
2242          "deprecated":true
2243        },
2244        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
2245        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
2246        "PreferredMaintenanceWindow":{"shape":"String"},
2247        "NotificationTopicArn":{"shape":"String"},
2248        "CacheParameterGroupName":{"shape":"String"},
2249        "NotificationTopicStatus":{"shape":"String"},
2250        "ApplyImmediately":{"shape":"Boolean"},
2251        "EngineVersion":{"shape":"String"},
2252        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
2253        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
2254        "SnapshotWindow":{"shape":"String"},
2255        "CacheNodeType":{"shape":"String"},
2256        "AuthToken":{"shape":"String"},
2257        "AuthTokenUpdateStrategy":{"shape":"AuthTokenUpdateStrategyType"}
2258      }
2259    },
2260    "ModifyReplicationGroupResult":{
2261      "type":"structure",
2262      "members":{
2263        "ReplicationGroup":{"shape":"ReplicationGroup"}
2264      }
2265    },
2266    "ModifyReplicationGroupShardConfigurationMessage":{
2267      "type":"structure",
2268      "required":[
2269        "ReplicationGroupId",
2270        "NodeGroupCount",
2271        "ApplyImmediately"
2272      ],
2273      "members":{
2274        "ReplicationGroupId":{"shape":"String"},
2275        "NodeGroupCount":{"shape":"Integer"},
2276        "ApplyImmediately":{"shape":"Boolean"},
2277        "ReshardingConfiguration":{"shape":"ReshardingConfigurationList"},
2278        "NodeGroupsToRemove":{"shape":"NodeGroupsToRemoveList"},
2279        "NodeGroupsToRetain":{"shape":"NodeGroupsToRetainList"}
2280      }
2281    },
2282    "ModifyReplicationGroupShardConfigurationResult":{
2283      "type":"structure",
2284      "members":{
2285        "ReplicationGroup":{"shape":"ReplicationGroup"}
2286      }
2287    },
2288    "NoOperationFault":{
2289      "type":"structure",
2290      "members":{
2291      },
2292      "error":{
2293        "code":"NoOperationFault",
2294        "httpStatusCode":400,
2295        "senderFault":true
2296      },
2297      "exception":true
2298    },
2299    "NodeGroup":{
2300      "type":"structure",
2301      "members":{
2302        "NodeGroupId":{"shape":"String"},
2303        "Status":{"shape":"String"},
2304        "PrimaryEndpoint":{"shape":"Endpoint"},
2305        "ReaderEndpoint":{"shape":"Endpoint"},
2306        "Slots":{"shape":"String"},
2307        "NodeGroupMembers":{"shape":"NodeGroupMemberList"}
2308      }
2309    },
2310    "NodeGroupConfiguration":{
2311      "type":"structure",
2312      "members":{
2313        "NodeGroupId":{"shape":"AllowedNodeGroupId"},
2314        "Slots":{"shape":"String"},
2315        "ReplicaCount":{"shape":"IntegerOptional"},
2316        "PrimaryAvailabilityZone":{"shape":"String"},
2317        "ReplicaAvailabilityZones":{"shape":"AvailabilityZonesList"}
2318      }
2319    },
2320    "NodeGroupConfigurationList":{
2321      "type":"list",
2322      "member":{
2323        "shape":"NodeGroupConfiguration",
2324        "locationName":"NodeGroupConfiguration"
2325      }
2326    },
2327    "NodeGroupList":{
2328      "type":"list",
2329      "member":{
2330        "shape":"NodeGroup",
2331        "locationName":"NodeGroup"
2332      }
2333    },
2334    "NodeGroupMember":{
2335      "type":"structure",
2336      "members":{
2337        "CacheClusterId":{"shape":"String"},
2338        "CacheNodeId":{"shape":"String"},
2339        "ReadEndpoint":{"shape":"Endpoint"},
2340        "PreferredAvailabilityZone":{"shape":"String"},
2341        "CurrentRole":{"shape":"String"}
2342      }
2343    },
2344    "NodeGroupMemberList":{
2345      "type":"list",
2346      "member":{
2347        "shape":"NodeGroupMember",
2348        "locationName":"NodeGroupMember"
2349      }
2350    },
2351    "NodeGroupMemberUpdateStatus":{
2352      "type":"structure",
2353      "members":{
2354        "CacheClusterId":{"shape":"String"},
2355        "CacheNodeId":{"shape":"String"},
2356        "NodeUpdateStatus":{"shape":"NodeUpdateStatus"},
2357        "NodeDeletionDate":{"shape":"TStamp"},
2358        "NodeUpdateStartDate":{"shape":"TStamp"},
2359        "NodeUpdateEndDate":{"shape":"TStamp"},
2360        "NodeUpdateInitiatedBy":{"shape":"NodeUpdateInitiatedBy"},
2361        "NodeUpdateInitiatedDate":{"shape":"TStamp"},
2362        "NodeUpdateStatusModifiedDate":{"shape":"TStamp"}
2363      }
2364    },
2365    "NodeGroupMemberUpdateStatusList":{
2366      "type":"list",
2367      "member":{
2368        "shape":"NodeGroupMemberUpdateStatus",
2369        "locationName":"NodeGroupMemberUpdateStatus"
2370      }
2371    },
2372    "NodeGroupNotFoundFault":{
2373      "type":"structure",
2374      "members":{
2375      },
2376      "error":{
2377        "code":"NodeGroupNotFoundFault",
2378        "httpStatusCode":404,
2379        "senderFault":true
2380      },
2381      "exception":true
2382    },
2383    "NodeGroupUpdateStatus":{
2384      "type":"structure",
2385      "members":{
2386        "NodeGroupId":{"shape":"String"},
2387        "NodeGroupMemberUpdateStatus":{"shape":"NodeGroupMemberUpdateStatusList"}
2388      }
2389    },
2390    "NodeGroupUpdateStatusList":{
2391      "type":"list",
2392      "member":{
2393        "shape":"NodeGroupUpdateStatus",
2394        "locationName":"NodeGroupUpdateStatus"
2395      }
2396    },
2397    "NodeGroupsPerReplicationGroupQuotaExceededFault":{
2398      "type":"structure",
2399      "members":{
2400      },
2401      "error":{
2402        "code":"NodeGroupsPerReplicationGroupQuotaExceeded",
2403        "httpStatusCode":400,
2404        "senderFault":true
2405      },
2406      "exception":true
2407    },
2408    "NodeGroupsToRemoveList":{
2409      "type":"list",
2410      "member":{
2411        "shape":"AllowedNodeGroupId",
2412        "locationName":"NodeGroupToRemove"
2413      }
2414    },
2415    "NodeGroupsToRetainList":{
2416      "type":"list",
2417      "member":{
2418        "shape":"AllowedNodeGroupId",
2419        "locationName":"NodeGroupToRetain"
2420      }
2421    },
2422    "NodeQuotaForClusterExceededFault":{
2423      "type":"structure",
2424      "members":{
2425      },
2426      "error":{
2427        "code":"NodeQuotaForClusterExceeded",
2428        "httpStatusCode":400,
2429        "senderFault":true
2430      },
2431      "exception":true
2432    },
2433    "NodeQuotaForCustomerExceededFault":{
2434      "type":"structure",
2435      "members":{
2436      },
2437      "error":{
2438        "code":"NodeQuotaForCustomerExceeded",
2439        "httpStatusCode":400,
2440        "senderFault":true
2441      },
2442      "exception":true
2443    },
2444    "NodeSnapshot":{
2445      "type":"structure",
2446      "members":{
2447        "CacheClusterId":{"shape":"String"},
2448        "NodeGroupId":{"shape":"String"},
2449        "CacheNodeId":{"shape":"String"},
2450        "NodeGroupConfiguration":{"shape":"NodeGroupConfiguration"},
2451        "CacheSize":{"shape":"String"},
2452        "CacheNodeCreateTime":{"shape":"TStamp"},
2453        "SnapshotCreateTime":{"shape":"TStamp"}
2454      },
2455      "wrapper":true
2456    },
2457    "NodeSnapshotList":{
2458      "type":"list",
2459      "member":{
2460        "shape":"NodeSnapshot",
2461        "locationName":"NodeSnapshot"
2462      }
2463    },
2464    "NodeTypeList":{
2465      "type":"list",
2466      "member":{"shape":"String"}
2467    },
2468    "NodeUpdateInitiatedBy":{
2469      "type":"string",
2470      "enum":[
2471        "system",
2472        "customer"
2473      ]
2474    },
2475    "NodeUpdateStatus":{
2476      "type":"string",
2477      "enum":[
2478        "not-applied",
2479        "waiting-to-start",
2480        "in-progress",
2481        "stopping",
2482        "stopped",
2483        "complete"
2484      ]
2485    },
2486    "NotificationConfiguration":{
2487      "type":"structure",
2488      "members":{
2489        "TopicArn":{"shape":"String"},
2490        "TopicStatus":{"shape":"String"}
2491      }
2492    },
2493    "Parameter":{
2494      "type":"structure",
2495      "members":{
2496        "ParameterName":{"shape":"String"},
2497        "ParameterValue":{"shape":"String"},
2498        "Description":{"shape":"String"},
2499        "Source":{"shape":"String"},
2500        "DataType":{"shape":"String"},
2501        "AllowedValues":{"shape":"String"},
2502        "IsModifiable":{"shape":"Boolean"},
2503        "MinimumEngineVersion":{"shape":"String"},
2504        "ChangeType":{"shape":"ChangeType"}
2505      }
2506    },
2507    "ParameterNameValue":{
2508      "type":"structure",
2509      "members":{
2510        "ParameterName":{"shape":"String"},
2511        "ParameterValue":{"shape":"String"}
2512      }
2513    },
2514    "ParameterNameValueList":{
2515      "type":"list",
2516      "member":{
2517        "shape":"ParameterNameValue",
2518        "locationName":"ParameterNameValue"
2519      }
2520    },
2521    "ParametersList":{
2522      "type":"list",
2523      "member":{
2524        "shape":"Parameter",
2525        "locationName":"Parameter"
2526      }
2527    },
2528    "PendingAutomaticFailoverStatus":{
2529      "type":"string",
2530      "enum":[
2531        "enabled",
2532        "disabled"
2533      ]
2534    },
2535    "PendingModifiedValues":{
2536      "type":"structure",
2537      "members":{
2538        "NumCacheNodes":{"shape":"IntegerOptional"},
2539        "CacheNodeIdsToRemove":{"shape":"CacheNodeIdsList"},
2540        "EngineVersion":{"shape":"String"},
2541        "CacheNodeType":{"shape":"String"},
2542        "AuthTokenStatus":{"shape":"AuthTokenUpdateStatus"}
2543      }
2544    },
2545    "PreferredAvailabilityZoneList":{
2546      "type":"list",
2547      "member":{
2548        "shape":"String",
2549        "locationName":"PreferredAvailabilityZone"
2550      }
2551    },
2552    "ProcessedUpdateAction":{
2553      "type":"structure",
2554      "members":{
2555        "ReplicationGroupId":{"shape":"String"},
2556        "CacheClusterId":{"shape":"String"},
2557        "ServiceUpdateName":{"shape":"String"},
2558        "UpdateActionStatus":{"shape":"UpdateActionStatus"}
2559      }
2560    },
2561    "ProcessedUpdateActionList":{
2562      "type":"list",
2563      "member":{
2564        "shape":"ProcessedUpdateAction",
2565        "locationName":"ProcessedUpdateAction"
2566      }
2567    },
2568    "PurchaseReservedCacheNodesOfferingMessage":{
2569      "type":"structure",
2570      "required":["ReservedCacheNodesOfferingId"],
2571      "members":{
2572        "ReservedCacheNodesOfferingId":{"shape":"String"},
2573        "ReservedCacheNodeId":{"shape":"String"},
2574        "CacheNodeCount":{"shape":"IntegerOptional"}
2575      }
2576    },
2577    "PurchaseReservedCacheNodesOfferingResult":{
2578      "type":"structure",
2579      "members":{
2580        "ReservedCacheNode":{"shape":"ReservedCacheNode"}
2581      }
2582    },
2583    "RebootCacheClusterMessage":{
2584      "type":"structure",
2585      "required":[
2586        "CacheClusterId",
2587        "CacheNodeIdsToReboot"
2588      ],
2589      "members":{
2590        "CacheClusterId":{"shape":"String"},
2591        "CacheNodeIdsToReboot":{"shape":"CacheNodeIdsList"}
2592      }
2593    },
2594    "RebootCacheClusterResult":{
2595      "type":"structure",
2596      "members":{
2597        "CacheCluster":{"shape":"CacheCluster"}
2598      }
2599    },
2600    "RecurringCharge":{
2601      "type":"structure",
2602      "members":{
2603        "RecurringChargeAmount":{"shape":"Double"},
2604        "RecurringChargeFrequency":{"shape":"String"}
2605      },
2606      "wrapper":true
2607    },
2608    "RecurringChargeList":{
2609      "type":"list",
2610      "member":{
2611        "shape":"RecurringCharge",
2612        "locationName":"RecurringCharge"
2613      }
2614    },
2615    "RemoveReplicasList":{
2616      "type":"list",
2617      "member":{"shape":"String"}
2618    },
2619    "RemoveTagsFromResourceMessage":{
2620      "type":"structure",
2621      "required":[
2622        "ResourceName",
2623        "TagKeys"
2624      ],
2625      "members":{
2626        "ResourceName":{"shape":"String"},
2627        "TagKeys":{"shape":"KeyList"}
2628      }
2629    },
2630    "ReplicaConfigurationList":{
2631      "type":"list",
2632      "member":{
2633        "shape":"ConfigureShard",
2634        "locationName":"ConfigureShard"
2635      }
2636    },
2637    "ReplicationGroup":{
2638      "type":"structure",
2639      "members":{
2640        "ReplicationGroupId":{"shape":"String"},
2641        "Description":{"shape":"String"},
2642        "Status":{"shape":"String"},
2643        "PendingModifiedValues":{"shape":"ReplicationGroupPendingModifiedValues"},
2644        "MemberClusters":{"shape":"ClusterIdList"},
2645        "NodeGroups":{"shape":"NodeGroupList"},
2646        "SnapshottingClusterId":{"shape":"String"},
2647        "AutomaticFailover":{"shape":"AutomaticFailoverStatus"},
2648        "ConfigurationEndpoint":{"shape":"Endpoint"},
2649        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
2650        "SnapshotWindow":{"shape":"String"},
2651        "ClusterEnabled":{"shape":"BooleanOptional"},
2652        "CacheNodeType":{"shape":"String"},
2653        "AuthTokenEnabled":{"shape":"BooleanOptional"},
2654        "AuthTokenLastModifiedDate":{"shape":"TStamp"},
2655        "TransitEncryptionEnabled":{"shape":"BooleanOptional"},
2656        "AtRestEncryptionEnabled":{"shape":"BooleanOptional"},
2657        "KmsKeyId":{"shape":"String"}
2658      },
2659      "wrapper":true
2660    },
2661    "ReplicationGroupAlreadyExistsFault":{
2662      "type":"structure",
2663      "members":{
2664      },
2665      "error":{
2666        "code":"ReplicationGroupAlreadyExists",
2667        "httpStatusCode":400,
2668        "senderFault":true
2669      },
2670      "exception":true
2671    },
2672    "ReplicationGroupAlreadyUnderMigrationFault":{
2673      "type":"structure",
2674      "members":{
2675      },
2676      "error":{
2677        "code":"ReplicationGroupAlreadyUnderMigrationFault",
2678        "httpStatusCode":400,
2679        "senderFault":true
2680      },
2681      "exception":true
2682    },
2683    "ReplicationGroupIdList":{
2684      "type":"list",
2685      "member":{"shape":"String"},
2686      "max":20
2687    },
2688    "ReplicationGroupList":{
2689      "type":"list",
2690      "member":{
2691        "shape":"ReplicationGroup",
2692        "locationName":"ReplicationGroup"
2693      }
2694    },
2695    "ReplicationGroupMessage":{
2696      "type":"structure",
2697      "members":{
2698        "Marker":{"shape":"String"},
2699        "ReplicationGroups":{"shape":"ReplicationGroupList"}
2700      }
2701    },
2702    "ReplicationGroupNotFoundFault":{
2703      "type":"structure",
2704      "members":{
2705      },
2706      "error":{
2707        "code":"ReplicationGroupNotFoundFault",
2708        "httpStatusCode":404,
2709        "senderFault":true
2710      },
2711      "exception":true
2712    },
2713    "ReplicationGroupNotUnderMigrationFault":{
2714      "type":"structure",
2715      "members":{
2716      },
2717      "error":{
2718        "code":"ReplicationGroupNotUnderMigrationFault",
2719        "httpStatusCode":400,
2720        "senderFault":true
2721      },
2722      "exception":true
2723    },
2724    "ReplicationGroupPendingModifiedValues":{
2725      "type":"structure",
2726      "members":{
2727        "PrimaryClusterId":{"shape":"String"},
2728        "AutomaticFailoverStatus":{"shape":"PendingAutomaticFailoverStatus"},
2729        "Resharding":{"shape":"ReshardingStatus"},
2730        "AuthTokenStatus":{"shape":"AuthTokenUpdateStatus"}
2731      }
2732    },
2733    "ReservedCacheNode":{
2734      "type":"structure",
2735      "members":{
2736        "ReservedCacheNodeId":{"shape":"String"},
2737        "ReservedCacheNodesOfferingId":{"shape":"String"},
2738        "CacheNodeType":{"shape":"String"},
2739        "StartTime":{"shape":"TStamp"},
2740        "Duration":{"shape":"Integer"},
2741        "FixedPrice":{"shape":"Double"},
2742        "UsagePrice":{"shape":"Double"},
2743        "CacheNodeCount":{"shape":"Integer"},
2744        "ProductDescription":{"shape":"String"},
2745        "OfferingType":{"shape":"String"},
2746        "State":{"shape":"String"},
2747        "RecurringCharges":{"shape":"RecurringChargeList"},
2748        "ReservationARN":{"shape":"String"}
2749      },
2750      "wrapper":true
2751    },
2752    "ReservedCacheNodeAlreadyExistsFault":{
2753      "type":"structure",
2754      "members":{
2755      },
2756      "error":{
2757        "code":"ReservedCacheNodeAlreadyExists",
2758        "httpStatusCode":404,
2759        "senderFault":true
2760      },
2761      "exception":true
2762    },
2763    "ReservedCacheNodeList":{
2764      "type":"list",
2765      "member":{
2766        "shape":"ReservedCacheNode",
2767        "locationName":"ReservedCacheNode"
2768      }
2769    },
2770    "ReservedCacheNodeMessage":{
2771      "type":"structure",
2772      "members":{
2773        "Marker":{"shape":"String"},
2774        "ReservedCacheNodes":{"shape":"ReservedCacheNodeList"}
2775      }
2776    },
2777    "ReservedCacheNodeNotFoundFault":{
2778      "type":"structure",
2779      "members":{
2780      },
2781      "error":{
2782        "code":"ReservedCacheNodeNotFound",
2783        "httpStatusCode":404,
2784        "senderFault":true
2785      },
2786      "exception":true
2787    },
2788    "ReservedCacheNodeQuotaExceededFault":{
2789      "type":"structure",
2790      "members":{
2791      },
2792      "error":{
2793        "code":"ReservedCacheNodeQuotaExceeded",
2794        "httpStatusCode":400,
2795        "senderFault":true
2796      },
2797      "exception":true
2798    },
2799    "ReservedCacheNodesOffering":{
2800      "type":"structure",
2801      "members":{
2802        "ReservedCacheNodesOfferingId":{"shape":"String"},
2803        "CacheNodeType":{"shape":"String"},
2804        "Duration":{"shape":"Integer"},
2805        "FixedPrice":{"shape":"Double"},
2806        "UsagePrice":{"shape":"Double"},
2807        "ProductDescription":{"shape":"String"},
2808        "OfferingType":{"shape":"String"},
2809        "RecurringCharges":{"shape":"RecurringChargeList"}
2810      },
2811      "wrapper":true
2812    },
2813    "ReservedCacheNodesOfferingList":{
2814      "type":"list",
2815      "member":{
2816        "shape":"ReservedCacheNodesOffering",
2817        "locationName":"ReservedCacheNodesOffering"
2818      }
2819    },
2820    "ReservedCacheNodesOfferingMessage":{
2821      "type":"structure",
2822      "members":{
2823        "Marker":{"shape":"String"},
2824        "ReservedCacheNodesOfferings":{"shape":"ReservedCacheNodesOfferingList"}
2825      }
2826    },
2827    "ReservedCacheNodesOfferingNotFoundFault":{
2828      "type":"structure",
2829      "members":{
2830      },
2831      "error":{
2832        "code":"ReservedCacheNodesOfferingNotFound",
2833        "httpStatusCode":404,
2834        "senderFault":true
2835      },
2836      "exception":true
2837    },
2838    "ResetCacheParameterGroupMessage":{
2839      "type":"structure",
2840      "required":["CacheParameterGroupName"],
2841      "members":{
2842        "CacheParameterGroupName":{"shape":"String"},
2843        "ResetAllParameters":{"shape":"Boolean"},
2844        "ParameterNameValues":{"shape":"ParameterNameValueList"}
2845      }
2846    },
2847    "ReshardingConfiguration":{
2848      "type":"structure",
2849      "members":{
2850        "NodeGroupId":{"shape":"AllowedNodeGroupId"},
2851        "PreferredAvailabilityZones":{"shape":"AvailabilityZonesList"}
2852      }
2853    },
2854    "ReshardingConfigurationList":{
2855      "type":"list",
2856      "member":{
2857        "shape":"ReshardingConfiguration",
2858        "locationName":"ReshardingConfiguration"
2859      }
2860    },
2861    "ReshardingStatus":{
2862      "type":"structure",
2863      "members":{
2864        "SlotMigration":{"shape":"SlotMigration"}
2865      }
2866    },
2867    "RevokeCacheSecurityGroupIngressMessage":{
2868      "type":"structure",
2869      "required":[
2870        "CacheSecurityGroupName",
2871        "EC2SecurityGroupName",
2872        "EC2SecurityGroupOwnerId"
2873      ],
2874      "members":{
2875        "CacheSecurityGroupName":{"shape":"String"},
2876        "EC2SecurityGroupName":{"shape":"String"},
2877        "EC2SecurityGroupOwnerId":{"shape":"String"}
2878      }
2879    },
2880    "RevokeCacheSecurityGroupIngressResult":{
2881      "type":"structure",
2882      "members":{
2883        "CacheSecurityGroup":{"shape":"CacheSecurityGroup"}
2884      }
2885    },
2886    "SecurityGroupIdsList":{
2887      "type":"list",
2888      "member":{
2889        "shape":"String",
2890        "locationName":"SecurityGroupId"
2891      }
2892    },
2893    "SecurityGroupMembership":{
2894      "type":"structure",
2895      "members":{
2896        "SecurityGroupId":{"shape":"String"},
2897        "Status":{"shape":"String"}
2898      }
2899    },
2900    "SecurityGroupMembershipList":{
2901      "type":"list",
2902      "member":{"shape":"SecurityGroupMembership"}
2903    },
2904    "ServiceLinkedRoleNotFoundFault":{
2905      "type":"structure",
2906      "members":{
2907      },
2908      "error":{
2909        "code":"ServiceLinkedRoleNotFoundFault",
2910        "httpStatusCode":400,
2911        "senderFault":true
2912      },
2913      "exception":true
2914    },
2915    "ServiceUpdate":{
2916      "type":"structure",
2917      "members":{
2918        "ServiceUpdateName":{"shape":"String"},
2919        "ServiceUpdateReleaseDate":{"shape":"TStamp"},
2920        "ServiceUpdateEndDate":{"shape":"TStamp"},
2921        "ServiceUpdateSeverity":{"shape":"ServiceUpdateSeverity"},
2922        "ServiceUpdateRecommendedApplyByDate":{"shape":"TStamp"},
2923        "ServiceUpdateStatus":{"shape":"ServiceUpdateStatus"},
2924        "ServiceUpdateDescription":{"shape":"String"},
2925        "ServiceUpdateType":{"shape":"ServiceUpdateType"},
2926        "Engine":{"shape":"String"},
2927        "EngineVersion":{"shape":"String"},
2928        "AutoUpdateAfterRecommendedApplyByDate":{"shape":"BooleanOptional"},
2929        "EstimatedUpdateTime":{"shape":"String"}
2930      }
2931    },
2932    "ServiceUpdateList":{
2933      "type":"list",
2934      "member":{
2935        "shape":"ServiceUpdate",
2936        "locationName":"ServiceUpdate"
2937      }
2938    },
2939    "ServiceUpdateNotFoundFault":{
2940      "type":"structure",
2941      "members":{
2942      },
2943      "error":{
2944        "code":"ServiceUpdateNotFoundFault",
2945        "httpStatusCode":404,
2946        "senderFault":true
2947      },
2948      "exception":true
2949    },
2950    "ServiceUpdateSeverity":{
2951      "type":"string",
2952      "enum":[
2953        "critical",
2954        "important",
2955        "medium",
2956        "low"
2957      ]
2958    },
2959    "ServiceUpdateStatus":{
2960      "type":"string",
2961      "enum":[
2962        "available",
2963        "cancelled",
2964        "expired"
2965      ]
2966    },
2967    "ServiceUpdateStatusList":{
2968      "type":"list",
2969      "member":{"shape":"ServiceUpdateStatus"},
2970      "max":3
2971    },
2972    "ServiceUpdateType":{
2973      "type":"string",
2974      "enum":["security-update"]
2975    },
2976    "ServiceUpdatesMessage":{
2977      "type":"structure",
2978      "members":{
2979        "Marker":{"shape":"String"},
2980        "ServiceUpdates":{"shape":"ServiceUpdateList"}
2981      }
2982    },
2983    "SlaMet":{
2984      "type":"string",
2985      "enum":[
2986        "yes",
2987        "no",
2988        "n/a"
2989      ]
2990    },
2991    "SlotMigration":{
2992      "type":"structure",
2993      "members":{
2994        "ProgressPercentage":{"shape":"Double"}
2995      }
2996    },
2997    "Snapshot":{
2998      "type":"structure",
2999      "members":{
3000        "SnapshotName":{"shape":"String"},
3001        "ReplicationGroupId":{"shape":"String"},
3002        "ReplicationGroupDescription":{"shape":"String"},
3003        "CacheClusterId":{"shape":"String"},
3004        "SnapshotStatus":{"shape":"String"},
3005        "SnapshotSource":{"shape":"String"},
3006        "CacheNodeType":{"shape":"String"},
3007        "Engine":{"shape":"String"},
3008        "EngineVersion":{"shape":"String"},
3009        "NumCacheNodes":{"shape":"IntegerOptional"},
3010        "PreferredAvailabilityZone":{"shape":"String"},
3011        "CacheClusterCreateTime":{"shape":"TStamp"},
3012        "PreferredMaintenanceWindow":{"shape":"String"},
3013        "TopicArn":{"shape":"String"},
3014        "Port":{"shape":"IntegerOptional"},
3015        "CacheParameterGroupName":{"shape":"String"},
3016        "CacheSubnetGroupName":{"shape":"String"},
3017        "VpcId":{"shape":"String"},
3018        "AutoMinorVersionUpgrade":{"shape":"Boolean"},
3019        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
3020        "SnapshotWindow":{"shape":"String"},
3021        "NumNodeGroups":{"shape":"IntegerOptional"},
3022        "AutomaticFailover":{"shape":"AutomaticFailoverStatus"},
3023        "NodeSnapshots":{"shape":"NodeSnapshotList"},
3024        "KmsKeyId":{"shape":"String"}
3025      },
3026      "wrapper":true
3027    },
3028    "SnapshotAlreadyExistsFault":{
3029      "type":"structure",
3030      "members":{
3031      },
3032      "error":{
3033        "code":"SnapshotAlreadyExistsFault",
3034        "httpStatusCode":400,
3035        "senderFault":true
3036      },
3037      "exception":true
3038    },
3039    "SnapshotArnsList":{
3040      "type":"list",
3041      "member":{
3042        "shape":"String",
3043        "locationName":"SnapshotArn"
3044      }
3045    },
3046    "SnapshotFeatureNotSupportedFault":{
3047      "type":"structure",
3048      "members":{
3049      },
3050      "error":{
3051        "code":"SnapshotFeatureNotSupportedFault",
3052        "httpStatusCode":400,
3053        "senderFault":true
3054      },
3055      "exception":true
3056    },
3057    "SnapshotList":{
3058      "type":"list",
3059      "member":{
3060        "shape":"Snapshot",
3061        "locationName":"Snapshot"
3062      }
3063    },
3064    "SnapshotNotFoundFault":{
3065      "type":"structure",
3066      "members":{
3067      },
3068      "error":{
3069        "code":"SnapshotNotFoundFault",
3070        "httpStatusCode":404,
3071        "senderFault":true
3072      },
3073      "exception":true
3074    },
3075    "SnapshotQuotaExceededFault":{
3076      "type":"structure",
3077      "members":{
3078      },
3079      "error":{
3080        "code":"SnapshotQuotaExceededFault",
3081        "httpStatusCode":400,
3082        "senderFault":true
3083      },
3084      "exception":true
3085    },
3086    "SourceType":{
3087      "type":"string",
3088      "enum":[
3089        "cache-cluster",
3090        "cache-parameter-group",
3091        "cache-security-group",
3092        "cache-subnet-group",
3093        "replication-group"
3094      ]
3095    },
3096    "StartMigrationMessage":{
3097      "type":"structure",
3098      "required":[
3099        "ReplicationGroupId",
3100        "CustomerNodeEndpointList"
3101      ],
3102      "members":{
3103        "ReplicationGroupId":{"shape":"String"},
3104        "CustomerNodeEndpointList":{"shape":"CustomerNodeEndpointList"}
3105      }
3106    },
3107    "StartMigrationResponse":{
3108      "type":"structure",
3109      "members":{
3110        "ReplicationGroup":{"shape":"ReplicationGroup"}
3111      }
3112    },
3113    "String":{"type":"string"},
3114    "Subnet":{
3115      "type":"structure",
3116      "members":{
3117        "SubnetIdentifier":{"shape":"String"},
3118        "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}
3119      }
3120    },
3121    "SubnetIdentifierList":{
3122      "type":"list",
3123      "member":{
3124        "shape":"String",
3125        "locationName":"SubnetIdentifier"
3126      }
3127    },
3128    "SubnetInUse":{
3129      "type":"structure",
3130      "members":{
3131      },
3132      "error":{
3133        "code":"SubnetInUse",
3134        "httpStatusCode":400,
3135        "senderFault":true
3136      },
3137      "exception":true
3138    },
3139    "SubnetList":{
3140      "type":"list",
3141      "member":{
3142        "shape":"Subnet",
3143        "locationName":"Subnet"
3144      }
3145    },
3146    "TStamp":{"type":"timestamp"},
3147    "Tag":{
3148      "type":"structure",
3149      "members":{
3150        "Key":{"shape":"String"},
3151        "Value":{"shape":"String"}
3152      }
3153    },
3154    "TagList":{
3155      "type":"list",
3156      "member":{
3157        "shape":"Tag",
3158        "locationName":"Tag"
3159      }
3160    },
3161    "TagListMessage":{
3162      "type":"structure",
3163      "members":{
3164        "TagList":{"shape":"TagList"}
3165      }
3166    },
3167    "TagNotFoundFault":{
3168      "type":"structure",
3169      "members":{
3170      },
3171      "error":{
3172        "code":"TagNotFound",
3173        "httpStatusCode":404,
3174        "senderFault":true
3175      },
3176      "exception":true
3177    },
3178    "TagQuotaPerResourceExceeded":{
3179      "type":"structure",
3180      "members":{
3181      },
3182      "error":{
3183        "code":"TagQuotaPerResourceExceeded",
3184        "httpStatusCode":400,
3185        "senderFault":true
3186      },
3187      "exception":true
3188    },
3189    "TestFailoverMessage":{
3190      "type":"structure",
3191      "required":[
3192        "ReplicationGroupId",
3193        "NodeGroupId"
3194      ],
3195      "members":{
3196        "ReplicationGroupId":{"shape":"String"},
3197        "NodeGroupId":{"shape":"AllowedNodeGroupId"}
3198      }
3199    },
3200    "TestFailoverNotAvailableFault":{
3201      "type":"structure",
3202      "members":{
3203      },
3204      "error":{
3205        "code":"TestFailoverNotAvailableFault",
3206        "httpStatusCode":400,
3207        "senderFault":true
3208      },
3209      "exception":true
3210    },
3211    "TestFailoverResult":{
3212      "type":"structure",
3213      "members":{
3214        "ReplicationGroup":{"shape":"ReplicationGroup"}
3215      }
3216    },
3217    "TimeRangeFilter":{
3218      "type":"structure",
3219      "members":{
3220        "StartTime":{"shape":"TStamp"},
3221        "EndTime":{"shape":"TStamp"}
3222      }
3223    },
3224    "UnprocessedUpdateAction":{
3225      "type":"structure",
3226      "members":{
3227        "ReplicationGroupId":{"shape":"String"},
3228        "CacheClusterId":{"shape":"String"},
3229        "ServiceUpdateName":{"shape":"String"},
3230        "ErrorType":{"shape":"String"},
3231        "ErrorMessage":{"shape":"String"}
3232      }
3233    },
3234    "UnprocessedUpdateActionList":{
3235      "type":"list",
3236      "member":{
3237        "shape":"UnprocessedUpdateAction",
3238        "locationName":"UnprocessedUpdateAction"
3239      }
3240    },
3241    "UpdateAction":{
3242      "type":"structure",
3243      "members":{
3244        "ReplicationGroupId":{"shape":"String"},
3245        "CacheClusterId":{"shape":"String"},
3246        "ServiceUpdateName":{"shape":"String"},
3247        "ServiceUpdateReleaseDate":{"shape":"TStamp"},
3248        "ServiceUpdateSeverity":{"shape":"ServiceUpdateSeverity"},
3249        "ServiceUpdateStatus":{"shape":"ServiceUpdateStatus"},
3250        "ServiceUpdateRecommendedApplyByDate":{"shape":"TStamp"},
3251        "ServiceUpdateType":{"shape":"ServiceUpdateType"},
3252        "UpdateActionAvailableDate":{"shape":"TStamp"},
3253        "UpdateActionStatus":{"shape":"UpdateActionStatus"},
3254        "NodesUpdated":{"shape":"String"},
3255        "UpdateActionStatusModifiedDate":{"shape":"TStamp"},
3256        "SlaMet":{"shape":"SlaMet"},
3257        "NodeGroupUpdateStatus":{"shape":"NodeGroupUpdateStatusList"},
3258        "CacheNodeUpdateStatus":{"shape":"CacheNodeUpdateStatusList"},
3259        "EstimatedUpdateTime":{"shape":"String"},
3260        "Engine":{"shape":"String"}
3261      }
3262    },
3263    "UpdateActionList":{
3264      "type":"list",
3265      "member":{
3266        "shape":"UpdateAction",
3267        "locationName":"UpdateAction"
3268      }
3269    },
3270    "UpdateActionResultsMessage":{
3271      "type":"structure",
3272      "members":{
3273        "ProcessedUpdateActions":{"shape":"ProcessedUpdateActionList"},
3274        "UnprocessedUpdateActions":{"shape":"UnprocessedUpdateActionList"}
3275      }
3276    },
3277    "UpdateActionStatus":{
3278      "type":"string",
3279      "enum":[
3280        "not-applied",
3281        "waiting-to-start",
3282        "in-progress",
3283        "stopping",
3284        "stopped",
3285        "complete"
3286      ]
3287    },
3288    "UpdateActionStatusList":{
3289      "type":"list",
3290      "member":{"shape":"UpdateActionStatus"},
3291      "max":6
3292    },
3293    "UpdateActionsMessage":{
3294      "type":"structure",
3295      "members":{
3296        "Marker":{"shape":"String"},
3297        "UpdateActions":{"shape":"UpdateActionList"}
3298      }
3299    }
3300  }
3301}
3302