1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2015-02-02",
5    "endpointPrefix":"elasticache",
6    "protocol":"query",
7    "serviceFullName":"Amazon ElastiCache",
8    "signatureVersion":"v4",
9    "uid":"elasticache-2015-02-02",
10    "xmlNamespace":"http://elasticache.amazonaws.com/doc/2015-02-02/"
11  },
12  "operations":{
13    "AddTagsToResource":{
14      "name":"AddTagsToResource",
15      "http":{
16        "method":"POST",
17        "requestUri":"/"
18      },
19      "input":{"shape":"AddTagsToResourceMessage"},
20      "output":{
21        "shape":"TagListMessage",
22        "resultWrapper":"AddTagsToResourceResult"
23      },
24      "errors":[
25        {"shape":"CacheClusterNotFoundFault"},
26        {"shape":"SnapshotNotFoundFault"},
27        {"shape":"TagQuotaPerResourceExceeded"},
28        {"shape":"InvalidARNFault"}
29      ]
30    },
31    "AuthorizeCacheSecurityGroupIngress":{
32      "name":"AuthorizeCacheSecurityGroupIngress",
33      "http":{
34        "method":"POST",
35        "requestUri":"/"
36      },
37      "input":{"shape":"AuthorizeCacheSecurityGroupIngressMessage"},
38      "output":{
39        "shape":"AuthorizeCacheSecurityGroupIngressResult",
40        "resultWrapper":"AuthorizeCacheSecurityGroupIngressResult"
41      },
42      "errors":[
43        {"shape":"CacheSecurityGroupNotFoundFault"},
44        {"shape":"InvalidCacheSecurityGroupStateFault"},
45        {"shape":"AuthorizationAlreadyExistsFault"},
46        {"shape":"InvalidParameterValueException"},
47        {"shape":"InvalidParameterCombinationException"}
48      ]
49    },
50    "CopySnapshot":{
51      "name":"CopySnapshot",
52      "http":{
53        "method":"POST",
54        "requestUri":"/"
55      },
56      "input":{"shape":"CopySnapshotMessage"},
57      "output":{
58        "shape":"CopySnapshotResult",
59        "resultWrapper":"CopySnapshotResult"
60      },
61      "errors":[
62        {"shape":"SnapshotAlreadyExistsFault"},
63        {"shape":"SnapshotNotFoundFault"},
64        {"shape":"SnapshotQuotaExceededFault"},
65        {"shape":"InvalidSnapshotStateFault"},
66        {"shape":"InvalidParameterValueException"},
67        {"shape":"InvalidParameterCombinationException"}
68      ]
69    },
70    "CreateCacheCluster":{
71      "name":"CreateCacheCluster",
72      "http":{
73        "method":"POST",
74        "requestUri":"/"
75      },
76      "input":{"shape":"CreateCacheClusterMessage"},
77      "output":{
78        "shape":"CreateCacheClusterResult",
79        "resultWrapper":"CreateCacheClusterResult"
80      },
81      "errors":[
82        {"shape":"ReplicationGroupNotFoundFault"},
83        {"shape":"InvalidReplicationGroupStateFault"},
84        {"shape":"CacheClusterAlreadyExistsFault"},
85        {"shape":"InsufficientCacheClusterCapacityFault"},
86        {"shape":"CacheSecurityGroupNotFoundFault"},
87        {"shape":"CacheSubnetGroupNotFoundFault"},
88        {"shape":"ClusterQuotaForCustomerExceededFault"},
89        {"shape":"NodeQuotaForClusterExceededFault"},
90        {"shape":"NodeQuotaForCustomerExceededFault"},
91        {"shape":"CacheParameterGroupNotFoundFault"},
92        {"shape":"InvalidVPCNetworkStateFault"},
93        {"shape":"TagQuotaPerResourceExceeded"},
94        {"shape":"InvalidParameterValueException"},
95        {"shape":"InvalidParameterCombinationException"}
96      ]
97    },
98    "CreateCacheParameterGroup":{
99      "name":"CreateCacheParameterGroup",
100      "http":{
101        "method":"POST",
102        "requestUri":"/"
103      },
104      "input":{"shape":"CreateCacheParameterGroupMessage"},
105      "output":{
106        "shape":"CreateCacheParameterGroupResult",
107        "resultWrapper":"CreateCacheParameterGroupResult"
108      },
109      "errors":[
110        {"shape":"CacheParameterGroupQuotaExceededFault"},
111        {"shape":"CacheParameterGroupAlreadyExistsFault"},
112        {"shape":"InvalidCacheParameterGroupStateFault"},
113        {"shape":"InvalidParameterValueException"},
114        {"shape":"InvalidParameterCombinationException"}
115      ]
116    },
117    "CreateCacheSecurityGroup":{
118      "name":"CreateCacheSecurityGroup",
119      "http":{
120        "method":"POST",
121        "requestUri":"/"
122      },
123      "input":{"shape":"CreateCacheSecurityGroupMessage"},
124      "output":{
125        "shape":"CreateCacheSecurityGroupResult",
126        "resultWrapper":"CreateCacheSecurityGroupResult"
127      },
128      "errors":[
129        {"shape":"CacheSecurityGroupAlreadyExistsFault"},
130        {"shape":"CacheSecurityGroupQuotaExceededFault"},
131        {"shape":"InvalidParameterValueException"},
132        {"shape":"InvalidParameterCombinationException"}
133      ]
134    },
135    "CreateCacheSubnetGroup":{
136      "name":"CreateCacheSubnetGroup",
137      "http":{
138        "method":"POST",
139        "requestUri":"/"
140      },
141      "input":{"shape":"CreateCacheSubnetGroupMessage"},
142      "output":{
143        "shape":"CreateCacheSubnetGroupResult",
144        "resultWrapper":"CreateCacheSubnetGroupResult"
145      },
146      "errors":[
147        {"shape":"CacheSubnetGroupAlreadyExistsFault"},
148        {"shape":"CacheSubnetGroupQuotaExceededFault"},
149        {"shape":"CacheSubnetQuotaExceededFault"},
150        {"shape":"InvalidSubnet"}
151      ]
152    },
153    "CreateReplicationGroup":{
154      "name":"CreateReplicationGroup",
155      "http":{
156        "method":"POST",
157        "requestUri":"/"
158      },
159      "input":{"shape":"CreateReplicationGroupMessage"},
160      "output":{
161        "shape":"CreateReplicationGroupResult",
162        "resultWrapper":"CreateReplicationGroupResult"
163      },
164      "errors":[
165        {"shape":"CacheClusterNotFoundFault"},
166        {"shape":"InvalidCacheClusterStateFault"},
167        {"shape":"ReplicationGroupAlreadyExistsFault"},
168        {"shape":"InsufficientCacheClusterCapacityFault"},
169        {"shape":"CacheSecurityGroupNotFoundFault"},
170        {"shape":"CacheSubnetGroupNotFoundFault"},
171        {"shape":"ClusterQuotaForCustomerExceededFault"},
172        {"shape":"NodeQuotaForClusterExceededFault"},
173        {"shape":"NodeQuotaForCustomerExceededFault"},
174        {"shape":"CacheParameterGroupNotFoundFault"},
175        {"shape":"InvalidVPCNetworkStateFault"},
176        {"shape":"TagQuotaPerResourceExceeded"},
177        {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"},
178        {"shape":"InvalidParameterValueException"},
179        {"shape":"InvalidParameterCombinationException"}
180      ]
181    },
182    "CreateSnapshot":{
183      "name":"CreateSnapshot",
184      "http":{
185        "method":"POST",
186        "requestUri":"/"
187      },
188      "input":{"shape":"CreateSnapshotMessage"},
189      "output":{
190        "shape":"CreateSnapshotResult",
191        "resultWrapper":"CreateSnapshotResult"
192      },
193      "errors":[
194        {"shape":"SnapshotAlreadyExistsFault"},
195        {"shape":"CacheClusterNotFoundFault"},
196        {"shape":"ReplicationGroupNotFoundFault"},
197        {"shape":"InvalidCacheClusterStateFault"},
198        {"shape":"InvalidReplicationGroupStateFault"},
199        {"shape":"SnapshotQuotaExceededFault"},
200        {"shape":"SnapshotFeatureNotSupportedFault"},
201        {"shape":"InvalidParameterCombinationException"},
202        {"shape":"InvalidParameterValueException"}
203      ]
204    },
205    "DeleteCacheCluster":{
206      "name":"DeleteCacheCluster",
207      "http":{
208        "method":"POST",
209        "requestUri":"/"
210      },
211      "input":{"shape":"DeleteCacheClusterMessage"},
212      "output":{
213        "shape":"DeleteCacheClusterResult",
214        "resultWrapper":"DeleteCacheClusterResult"
215      },
216      "errors":[
217        {"shape":"CacheClusterNotFoundFault"},
218        {"shape":"InvalidCacheClusterStateFault"},
219        {"shape":"SnapshotAlreadyExistsFault"},
220        {"shape":"SnapshotFeatureNotSupportedFault"},
221        {"shape":"SnapshotQuotaExceededFault"},
222        {"shape":"InvalidParameterValueException"},
223        {"shape":"InvalidParameterCombinationException"}
224      ]
225    },
226    "DeleteCacheParameterGroup":{
227      "name":"DeleteCacheParameterGroup",
228      "http":{
229        "method":"POST",
230        "requestUri":"/"
231      },
232      "input":{"shape":"DeleteCacheParameterGroupMessage"},
233      "errors":[
234        {"shape":"InvalidCacheParameterGroupStateFault"},
235        {"shape":"CacheParameterGroupNotFoundFault"},
236        {"shape":"InvalidParameterValueException"},
237        {"shape":"InvalidParameterCombinationException"}
238      ]
239    },
240    "DeleteCacheSecurityGroup":{
241      "name":"DeleteCacheSecurityGroup",
242      "http":{
243        "method":"POST",
244        "requestUri":"/"
245      },
246      "input":{"shape":"DeleteCacheSecurityGroupMessage"},
247      "errors":[
248        {"shape":"InvalidCacheSecurityGroupStateFault"},
249        {"shape":"CacheSecurityGroupNotFoundFault"},
250        {"shape":"InvalidParameterValueException"},
251        {"shape":"InvalidParameterCombinationException"}
252      ]
253    },
254    "DeleteCacheSubnetGroup":{
255      "name":"DeleteCacheSubnetGroup",
256      "http":{
257        "method":"POST",
258        "requestUri":"/"
259      },
260      "input":{"shape":"DeleteCacheSubnetGroupMessage"},
261      "errors":[
262        {"shape":"CacheSubnetGroupInUse"},
263        {"shape":"CacheSubnetGroupNotFoundFault"}
264      ]
265    },
266    "DeleteReplicationGroup":{
267      "name":"DeleteReplicationGroup",
268      "http":{
269        "method":"POST",
270        "requestUri":"/"
271      },
272      "input":{"shape":"DeleteReplicationGroupMessage"},
273      "output":{
274        "shape":"DeleteReplicationGroupResult",
275        "resultWrapper":"DeleteReplicationGroupResult"
276      },
277      "errors":[
278        {"shape":"ReplicationGroupNotFoundFault"},
279        {"shape":"InvalidReplicationGroupStateFault"},
280        {"shape":"SnapshotAlreadyExistsFault"},
281        {"shape":"SnapshotFeatureNotSupportedFault"},
282        {"shape":"SnapshotQuotaExceededFault"},
283        {"shape":"InvalidParameterValueException"},
284        {"shape":"InvalidParameterCombinationException"}
285      ]
286    },
287    "DeleteSnapshot":{
288      "name":"DeleteSnapshot",
289      "http":{
290        "method":"POST",
291        "requestUri":"/"
292      },
293      "input":{"shape":"DeleteSnapshotMessage"},
294      "output":{
295        "shape":"DeleteSnapshotResult",
296        "resultWrapper":"DeleteSnapshotResult"
297      },
298      "errors":[
299        {"shape":"SnapshotNotFoundFault"},
300        {"shape":"InvalidSnapshotStateFault"},
301        {"shape":"InvalidParameterValueException"},
302        {"shape":"InvalidParameterCombinationException"}
303      ]
304    },
305    "DescribeCacheClusters":{
306      "name":"DescribeCacheClusters",
307      "http":{
308        "method":"POST",
309        "requestUri":"/"
310      },
311      "input":{"shape":"DescribeCacheClustersMessage"},
312      "output":{
313        "shape":"CacheClusterMessage",
314        "resultWrapper":"DescribeCacheClustersResult"
315      },
316      "errors":[
317        {"shape":"CacheClusterNotFoundFault"},
318        {"shape":"InvalidParameterValueException"},
319        {"shape":"InvalidParameterCombinationException"}
320      ]
321    },
322    "DescribeCacheEngineVersions":{
323      "name":"DescribeCacheEngineVersions",
324      "http":{
325        "method":"POST",
326        "requestUri":"/"
327      },
328      "input":{"shape":"DescribeCacheEngineVersionsMessage"},
329      "output":{
330        "shape":"CacheEngineVersionMessage",
331        "resultWrapper":"DescribeCacheEngineVersionsResult"
332      }
333    },
334    "DescribeCacheParameterGroups":{
335      "name":"DescribeCacheParameterGroups",
336      "http":{
337        "method":"POST",
338        "requestUri":"/"
339      },
340      "input":{"shape":"DescribeCacheParameterGroupsMessage"},
341      "output":{
342        "shape":"CacheParameterGroupsMessage",
343        "resultWrapper":"DescribeCacheParameterGroupsResult"
344      },
345      "errors":[
346        {"shape":"CacheParameterGroupNotFoundFault"},
347        {"shape":"InvalidParameterValueException"},
348        {"shape":"InvalidParameterCombinationException"}
349      ]
350    },
351    "DescribeCacheParameters":{
352      "name":"DescribeCacheParameters",
353      "http":{
354        "method":"POST",
355        "requestUri":"/"
356      },
357      "input":{"shape":"DescribeCacheParametersMessage"},
358      "output":{
359        "shape":"CacheParameterGroupDetails",
360        "resultWrapper":"DescribeCacheParametersResult"
361      },
362      "errors":[
363        {"shape":"CacheParameterGroupNotFoundFault"},
364        {"shape":"InvalidParameterValueException"},
365        {"shape":"InvalidParameterCombinationException"}
366      ]
367    },
368    "DescribeCacheSecurityGroups":{
369      "name":"DescribeCacheSecurityGroups",
370      "http":{
371        "method":"POST",
372        "requestUri":"/"
373      },
374      "input":{"shape":"DescribeCacheSecurityGroupsMessage"},
375      "output":{
376        "shape":"CacheSecurityGroupMessage",
377        "resultWrapper":"DescribeCacheSecurityGroupsResult"
378      },
379      "errors":[
380        {"shape":"CacheSecurityGroupNotFoundFault"},
381        {"shape":"InvalidParameterValueException"},
382        {"shape":"InvalidParameterCombinationException"}
383      ]
384    },
385    "DescribeCacheSubnetGroups":{
386      "name":"DescribeCacheSubnetGroups",
387      "http":{
388        "method":"POST",
389        "requestUri":"/"
390      },
391      "input":{"shape":"DescribeCacheSubnetGroupsMessage"},
392      "output":{
393        "shape":"CacheSubnetGroupMessage",
394        "resultWrapper":"DescribeCacheSubnetGroupsResult"
395      },
396      "errors":[
397        {"shape":"CacheSubnetGroupNotFoundFault"}
398      ]
399    },
400    "DescribeEngineDefaultParameters":{
401      "name":"DescribeEngineDefaultParameters",
402      "http":{
403        "method":"POST",
404        "requestUri":"/"
405      },
406      "input":{"shape":"DescribeEngineDefaultParametersMessage"},
407      "output":{
408        "shape":"DescribeEngineDefaultParametersResult",
409        "resultWrapper":"DescribeEngineDefaultParametersResult"
410      },
411      "errors":[
412        {"shape":"InvalidParameterValueException"},
413        {"shape":"InvalidParameterCombinationException"}
414      ]
415    },
416    "DescribeEvents":{
417      "name":"DescribeEvents",
418      "http":{
419        "method":"POST",
420        "requestUri":"/"
421      },
422      "input":{"shape":"DescribeEventsMessage"},
423      "output":{
424        "shape":"EventsMessage",
425        "resultWrapper":"DescribeEventsResult"
426      },
427      "errors":[
428        {"shape":"InvalidParameterValueException"},
429        {"shape":"InvalidParameterCombinationException"}
430      ]
431    },
432    "DescribeReplicationGroups":{
433      "name":"DescribeReplicationGroups",
434      "http":{
435        "method":"POST",
436        "requestUri":"/"
437      },
438      "input":{"shape":"DescribeReplicationGroupsMessage"},
439      "output":{
440        "shape":"ReplicationGroupMessage",
441        "resultWrapper":"DescribeReplicationGroupsResult"
442      },
443      "errors":[
444        {"shape":"ReplicationGroupNotFoundFault"},
445        {"shape":"InvalidParameterValueException"},
446        {"shape":"InvalidParameterCombinationException"}
447      ]
448    },
449    "DescribeReservedCacheNodes":{
450      "name":"DescribeReservedCacheNodes",
451      "http":{
452        "method":"POST",
453        "requestUri":"/"
454      },
455      "input":{"shape":"DescribeReservedCacheNodesMessage"},
456      "output":{
457        "shape":"ReservedCacheNodeMessage",
458        "resultWrapper":"DescribeReservedCacheNodesResult"
459      },
460      "errors":[
461        {"shape":"ReservedCacheNodeNotFoundFault"},
462        {"shape":"InvalidParameterValueException"},
463        {"shape":"InvalidParameterCombinationException"}
464      ]
465    },
466    "DescribeReservedCacheNodesOfferings":{
467      "name":"DescribeReservedCacheNodesOfferings",
468      "http":{
469        "method":"POST",
470        "requestUri":"/"
471      },
472      "input":{"shape":"DescribeReservedCacheNodesOfferingsMessage"},
473      "output":{
474        "shape":"ReservedCacheNodesOfferingMessage",
475        "resultWrapper":"DescribeReservedCacheNodesOfferingsResult"
476      },
477      "errors":[
478        {"shape":"ReservedCacheNodesOfferingNotFoundFault"},
479        {"shape":"InvalidParameterValueException"},
480        {"shape":"InvalidParameterCombinationException"}
481      ]
482    },
483    "DescribeSnapshots":{
484      "name":"DescribeSnapshots",
485      "http":{
486        "method":"POST",
487        "requestUri":"/"
488      },
489      "input":{"shape":"DescribeSnapshotsMessage"},
490      "output":{
491        "shape":"DescribeSnapshotsListMessage",
492        "resultWrapper":"DescribeSnapshotsResult"
493      },
494      "errors":[
495        {"shape":"CacheClusterNotFoundFault"},
496        {"shape":"SnapshotNotFoundFault"},
497        {"shape":"InvalidParameterValueException"},
498        {"shape":"InvalidParameterCombinationException"}
499      ]
500    },
501    "ListAllowedNodeTypeModifications":{
502      "name":"ListAllowedNodeTypeModifications",
503      "http":{
504        "method":"POST",
505        "requestUri":"/"
506      },
507      "input":{"shape":"ListAllowedNodeTypeModificationsMessage"},
508      "output":{
509        "shape":"AllowedNodeTypeModificationsMessage",
510        "resultWrapper":"ListAllowedNodeTypeModificationsResult"
511      },
512      "errors":[
513        {"shape":"CacheClusterNotFoundFault"},
514        {"shape":"ReplicationGroupNotFoundFault"},
515        {"shape":"InvalidParameterCombinationException"},
516        {"shape":"InvalidParameterValueException"}
517      ]
518    },
519    "ListTagsForResource":{
520      "name":"ListTagsForResource",
521      "http":{
522        "method":"POST",
523        "requestUri":"/"
524      },
525      "input":{"shape":"ListTagsForResourceMessage"},
526      "output":{
527        "shape":"TagListMessage",
528        "resultWrapper":"ListTagsForResourceResult"
529      },
530      "errors":[
531        {"shape":"CacheClusterNotFoundFault"},
532        {"shape":"SnapshotNotFoundFault"},
533        {"shape":"InvalidARNFault"}
534      ]
535    },
536    "ModifyCacheCluster":{
537      "name":"ModifyCacheCluster",
538      "http":{
539        "method":"POST",
540        "requestUri":"/"
541      },
542      "input":{"shape":"ModifyCacheClusterMessage"},
543      "output":{
544        "shape":"ModifyCacheClusterResult",
545        "resultWrapper":"ModifyCacheClusterResult"
546      },
547      "errors":[
548        {"shape":"InvalidCacheClusterStateFault"},
549        {"shape":"InvalidCacheSecurityGroupStateFault"},
550        {"shape":"InsufficientCacheClusterCapacityFault"},
551        {"shape":"CacheClusterNotFoundFault"},
552        {"shape":"NodeQuotaForClusterExceededFault"},
553        {"shape":"NodeQuotaForCustomerExceededFault"},
554        {"shape":"CacheSecurityGroupNotFoundFault"},
555        {"shape":"CacheParameterGroupNotFoundFault"},
556        {"shape":"InvalidVPCNetworkStateFault"},
557        {"shape":"InvalidParameterValueException"},
558        {"shape":"InvalidParameterCombinationException"}
559      ]
560    },
561    "ModifyCacheParameterGroup":{
562      "name":"ModifyCacheParameterGroup",
563      "http":{
564        "method":"POST",
565        "requestUri":"/"
566      },
567      "input":{"shape":"ModifyCacheParameterGroupMessage"},
568      "output":{
569        "shape":"CacheParameterGroupNameMessage",
570        "resultWrapper":"ModifyCacheParameterGroupResult"
571      },
572      "errors":[
573        {"shape":"CacheParameterGroupNotFoundFault"},
574        {"shape":"InvalidCacheParameterGroupStateFault"},
575        {"shape":"InvalidParameterValueException"},
576        {"shape":"InvalidParameterCombinationException"}
577      ]
578    },
579    "ModifyCacheSubnetGroup":{
580      "name":"ModifyCacheSubnetGroup",
581      "http":{
582        "method":"POST",
583        "requestUri":"/"
584      },
585      "input":{"shape":"ModifyCacheSubnetGroupMessage"},
586      "output":{
587        "shape":"ModifyCacheSubnetGroupResult",
588        "resultWrapper":"ModifyCacheSubnetGroupResult"
589      },
590      "errors":[
591        {"shape":"CacheSubnetGroupNotFoundFault"},
592        {"shape":"CacheSubnetQuotaExceededFault"},
593        {"shape":"SubnetInUse"},
594        {"shape":"InvalidSubnet"}
595      ]
596    },
597    "ModifyReplicationGroup":{
598      "name":"ModifyReplicationGroup",
599      "http":{
600        "method":"POST",
601        "requestUri":"/"
602      },
603      "input":{"shape":"ModifyReplicationGroupMessage"},
604      "output":{
605        "shape":"ModifyReplicationGroupResult",
606        "resultWrapper":"ModifyReplicationGroupResult"
607      },
608      "errors":[
609        {"shape":"ReplicationGroupNotFoundFault"},
610        {"shape":"InvalidReplicationGroupStateFault"},
611        {"shape":"InvalidCacheClusterStateFault"},
612        {"shape":"InvalidCacheSecurityGroupStateFault"},
613        {"shape":"InsufficientCacheClusterCapacityFault"},
614        {"shape":"CacheClusterNotFoundFault"},
615        {"shape":"NodeQuotaForClusterExceededFault"},
616        {"shape":"NodeQuotaForCustomerExceededFault"},
617        {"shape":"CacheSecurityGroupNotFoundFault"},
618        {"shape":"CacheParameterGroupNotFoundFault"},
619        {"shape":"InvalidVPCNetworkStateFault"},
620        {"shape":"InvalidParameterValueException"},
621        {"shape":"InvalidParameterCombinationException"}
622      ]
623    },
624    "ModifyReplicationGroupShardConfiguration":{
625      "name":"ModifyReplicationGroupShardConfiguration",
626      "http":{
627        "method":"POST",
628        "requestUri":"/"
629      },
630      "input":{"shape":"ModifyReplicationGroupShardConfigurationMessage"},
631      "output":{
632        "shape":"ModifyReplicationGroupShardConfigurationResult",
633        "resultWrapper":"ModifyReplicationGroupShardConfigurationResult"
634      },
635      "errors":[
636        {"shape":"ReplicationGroupNotFoundFault"},
637        {"shape":"InvalidReplicationGroupStateFault"},
638        {"shape":"InvalidCacheClusterStateFault"},
639        {"shape":"InvalidVPCNetworkStateFault"},
640        {"shape":"InsufficientCacheClusterCapacityFault"},
641        {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"},
642        {"shape":"NodeQuotaForCustomerExceededFault"},
643        {"shape":"InvalidParameterValueException"},
644        {"shape":"InvalidParameterCombinationException"}
645      ]
646    },
647    "PurchaseReservedCacheNodesOffering":{
648      "name":"PurchaseReservedCacheNodesOffering",
649      "http":{
650        "method":"POST",
651        "requestUri":"/"
652      },
653      "input":{"shape":"PurchaseReservedCacheNodesOfferingMessage"},
654      "output":{
655        "shape":"PurchaseReservedCacheNodesOfferingResult",
656        "resultWrapper":"PurchaseReservedCacheNodesOfferingResult"
657      },
658      "errors":[
659        {"shape":"ReservedCacheNodesOfferingNotFoundFault"},
660        {"shape":"ReservedCacheNodeAlreadyExistsFault"},
661        {"shape":"ReservedCacheNodeQuotaExceededFault"},
662        {"shape":"InvalidParameterValueException"},
663        {"shape":"InvalidParameterCombinationException"}
664      ]
665    },
666    "RebootCacheCluster":{
667      "name":"RebootCacheCluster",
668      "http":{
669        "method":"POST",
670        "requestUri":"/"
671      },
672      "input":{"shape":"RebootCacheClusterMessage"},
673      "output":{
674        "shape":"RebootCacheClusterResult",
675        "resultWrapper":"RebootCacheClusterResult"
676      },
677      "errors":[
678        {"shape":"InvalidCacheClusterStateFault"},
679        {"shape":"CacheClusterNotFoundFault"}
680      ]
681    },
682    "RemoveTagsFromResource":{
683      "name":"RemoveTagsFromResource",
684      "http":{
685        "method":"POST",
686        "requestUri":"/"
687      },
688      "input":{"shape":"RemoveTagsFromResourceMessage"},
689      "output":{
690        "shape":"TagListMessage",
691        "resultWrapper":"RemoveTagsFromResourceResult"
692      },
693      "errors":[
694        {"shape":"CacheClusterNotFoundFault"},
695        {"shape":"SnapshotNotFoundFault"},
696        {"shape":"InvalidARNFault"},
697        {"shape":"TagNotFoundFault"}
698      ]
699    },
700    "ResetCacheParameterGroup":{
701      "name":"ResetCacheParameterGroup",
702      "http":{
703        "method":"POST",
704        "requestUri":"/"
705      },
706      "input":{"shape":"ResetCacheParameterGroupMessage"},
707      "output":{
708        "shape":"CacheParameterGroupNameMessage",
709        "resultWrapper":"ResetCacheParameterGroupResult"
710      },
711      "errors":[
712        {"shape":"InvalidCacheParameterGroupStateFault"},
713        {"shape":"CacheParameterGroupNotFoundFault"},
714        {"shape":"InvalidParameterValueException"},
715        {"shape":"InvalidParameterCombinationException"}
716      ]
717    },
718    "RevokeCacheSecurityGroupIngress":{
719      "name":"RevokeCacheSecurityGroupIngress",
720      "http":{
721        "method":"POST",
722        "requestUri":"/"
723      },
724      "input":{"shape":"RevokeCacheSecurityGroupIngressMessage"},
725      "output":{
726        "shape":"RevokeCacheSecurityGroupIngressResult",
727        "resultWrapper":"RevokeCacheSecurityGroupIngressResult"
728      },
729      "errors":[
730        {"shape":"CacheSecurityGroupNotFoundFault"},
731        {"shape":"AuthorizationNotFoundFault"},
732        {"shape":"InvalidCacheSecurityGroupStateFault"},
733        {"shape":"InvalidParameterValueException"},
734        {"shape":"InvalidParameterCombinationException"}
735      ]
736    },
737    "TestFailover":{
738      "name":"TestFailover",
739      "http":{
740        "method":"POST",
741        "requestUri":"/"
742      },
743      "input":{"shape":"TestFailoverMessage"},
744      "output":{
745        "shape":"TestFailoverResult",
746        "resultWrapper":"TestFailoverResult"
747      },
748      "errors":[
749        {"shape":"APICallRateForCustomerExceededFault"},
750        {"shape":"InvalidCacheClusterStateFault"},
751        {"shape":"InvalidReplicationGroupStateFault"},
752        {"shape":"NodeGroupNotFoundFault"},
753        {"shape":"ReplicationGroupNotFoundFault"},
754        {"shape":"TestFailoverNotAvailableFault"},
755        {"shape":"InvalidParameterValueException"},
756        {"shape":"InvalidParameterCombinationException"}
757      ]
758    }
759  },
760  "shapes":{
761    "APICallRateForCustomerExceededFault":{
762      "type":"structure",
763      "members":{
764      },
765      "error":{
766        "code":"APICallRateForCustomerExceeded",
767        "httpStatusCode":400,
768        "senderFault":true
769      },
770      "exception":true
771    },
772    "AZMode":{
773      "type":"string",
774      "enum":[
775        "single-az",
776        "cross-az"
777      ]
778    },
779    "AddTagsToResourceMessage":{
780      "type":"structure",
781      "required":[
782        "ResourceName",
783        "Tags"
784      ],
785      "members":{
786        "ResourceName":{"shape":"String"},
787        "Tags":{"shape":"TagList"}
788      }
789    },
790    "AllowedNodeTypeModificationsMessage":{
791      "type":"structure",
792      "members":{
793        "ScaleUpModifications":{"shape":"NodeTypeList"}
794      }
795    },
796    "AuthorizationAlreadyExistsFault":{
797      "type":"structure",
798      "members":{
799      },
800      "error":{
801        "code":"AuthorizationAlreadyExists",
802        "httpStatusCode":400,
803        "senderFault":true
804      },
805      "exception":true
806    },
807    "AuthorizationNotFoundFault":{
808      "type":"structure",
809      "members":{
810      },
811      "error":{
812        "code":"AuthorizationNotFound",
813        "httpStatusCode":404,
814        "senderFault":true
815      },
816      "exception":true
817    },
818    "AuthorizeCacheSecurityGroupIngressMessage":{
819      "type":"structure",
820      "required":[
821        "CacheSecurityGroupName",
822        "EC2SecurityGroupName",
823        "EC2SecurityGroupOwnerId"
824      ],
825      "members":{
826        "CacheSecurityGroupName":{"shape":"String"},
827        "EC2SecurityGroupName":{"shape":"String"},
828        "EC2SecurityGroupOwnerId":{"shape":"String"}
829      }
830    },
831    "AuthorizeCacheSecurityGroupIngressResult":{
832      "type":"structure",
833      "members":{
834        "CacheSecurityGroup":{"shape":"CacheSecurityGroup"}
835      }
836    },
837    "AutomaticFailoverStatus":{
838      "type":"string",
839      "enum":[
840        "enabled",
841        "disabled",
842        "enabling",
843        "disabling"
844      ]
845    },
846    "AvailabilityZone":{
847      "type":"structure",
848      "members":{
849        "Name":{"shape":"String"}
850      },
851      "wrapper":true
852    },
853    "AvailabilityZonesList":{
854      "type":"list",
855      "member":{
856        "shape":"String",
857        "locationName":"AvailabilityZone"
858      }
859    },
860    "AwsQueryErrorMessage":{"type":"string"},
861    "Boolean":{"type":"boolean"},
862    "BooleanOptional":{"type":"boolean"},
863    "CacheCluster":{
864      "type":"structure",
865      "members":{
866        "CacheClusterId":{"shape":"String"},
867        "ConfigurationEndpoint":{"shape":"Endpoint"},
868        "ClientDownloadLandingPage":{"shape":"String"},
869        "CacheNodeType":{"shape":"String"},
870        "Engine":{"shape":"String"},
871        "EngineVersion":{"shape":"String"},
872        "CacheClusterStatus":{"shape":"String"},
873        "NumCacheNodes":{"shape":"IntegerOptional"},
874        "PreferredAvailabilityZone":{"shape":"String"},
875        "CacheClusterCreateTime":{"shape":"TStamp"},
876        "PreferredMaintenanceWindow":{"shape":"String"},
877        "PendingModifiedValues":{"shape":"PendingModifiedValues"},
878        "NotificationConfiguration":{"shape":"NotificationConfiguration"},
879        "CacheSecurityGroups":{"shape":"CacheSecurityGroupMembershipList"},
880        "CacheParameterGroup":{"shape":"CacheParameterGroupStatus"},
881        "CacheSubnetGroupName":{"shape":"String"},
882        "CacheNodes":{"shape":"CacheNodeList"},
883        "AutoMinorVersionUpgrade":{"shape":"Boolean"},
884        "SecurityGroups":{"shape":"SecurityGroupMembershipList"},
885        "ReplicationGroupId":{"shape":"String"},
886        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
887        "SnapshotWindow":{"shape":"String"},
888        "AuthTokenEnabled":{"shape":"BooleanOptional"},
889        "TransitEncryptionEnabled":{"shape":"BooleanOptional"},
890        "AtRestEncryptionEnabled":{"shape":"BooleanOptional"}
891      },
892      "wrapper":true
893    },
894    "CacheClusterAlreadyExistsFault":{
895      "type":"structure",
896      "members":{
897      },
898      "error":{
899        "code":"CacheClusterAlreadyExists",
900        "httpStatusCode":400,
901        "senderFault":true
902      },
903      "exception":true
904    },
905    "CacheClusterList":{
906      "type":"list",
907      "member":{
908        "shape":"CacheCluster",
909        "locationName":"CacheCluster"
910      }
911    },
912    "CacheClusterMessage":{
913      "type":"structure",
914      "members":{
915        "Marker":{"shape":"String"},
916        "CacheClusters":{"shape":"CacheClusterList"}
917      }
918    },
919    "CacheClusterNotFoundFault":{
920      "type":"structure",
921      "members":{
922      },
923      "error":{
924        "code":"CacheClusterNotFound",
925        "httpStatusCode":404,
926        "senderFault":true
927      },
928      "exception":true
929    },
930    "CacheEngineVersion":{
931      "type":"structure",
932      "members":{
933        "Engine":{"shape":"String"},
934        "EngineVersion":{"shape":"String"},
935        "CacheParameterGroupFamily":{"shape":"String"},
936        "CacheEngineDescription":{"shape":"String"},
937        "CacheEngineVersionDescription":{"shape":"String"}
938      }
939    },
940    "CacheEngineVersionList":{
941      "type":"list",
942      "member":{
943        "shape":"CacheEngineVersion",
944        "locationName":"CacheEngineVersion"
945      }
946    },
947    "CacheEngineVersionMessage":{
948      "type":"structure",
949      "members":{
950        "Marker":{"shape":"String"},
951        "CacheEngineVersions":{"shape":"CacheEngineVersionList"}
952      }
953    },
954    "CacheNode":{
955      "type":"structure",
956      "members":{
957        "CacheNodeId":{"shape":"String"},
958        "CacheNodeStatus":{"shape":"String"},
959        "CacheNodeCreateTime":{"shape":"TStamp"},
960        "Endpoint":{"shape":"Endpoint"},
961        "ParameterGroupStatus":{"shape":"String"},
962        "SourceCacheNodeId":{"shape":"String"},
963        "CustomerAvailabilityZone":{"shape":"String"}
964      }
965    },
966    "CacheNodeIdsList":{
967      "type":"list",
968      "member":{
969        "shape":"String",
970        "locationName":"CacheNodeId"
971      }
972    },
973    "CacheNodeList":{
974      "type":"list",
975      "member":{
976        "shape":"CacheNode",
977        "locationName":"CacheNode"
978      }
979    },
980    "CacheNodeTypeSpecificParameter":{
981      "type":"structure",
982      "members":{
983        "ParameterName":{"shape":"String"},
984        "Description":{"shape":"String"},
985        "Source":{"shape":"String"},
986        "DataType":{"shape":"String"},
987        "AllowedValues":{"shape":"String"},
988        "IsModifiable":{"shape":"Boolean"},
989        "MinimumEngineVersion":{"shape":"String"},
990        "CacheNodeTypeSpecificValues":{"shape":"CacheNodeTypeSpecificValueList"},
991        "ChangeType":{"shape":"ChangeType"}
992      }
993    },
994    "CacheNodeTypeSpecificParametersList":{
995      "type":"list",
996      "member":{
997        "shape":"CacheNodeTypeSpecificParameter",
998        "locationName":"CacheNodeTypeSpecificParameter"
999      }
1000    },
1001    "CacheNodeTypeSpecificValue":{
1002      "type":"structure",
1003      "members":{
1004        "CacheNodeType":{"shape":"String"},
1005        "Value":{"shape":"String"}
1006      }
1007    },
1008    "CacheNodeTypeSpecificValueList":{
1009      "type":"list",
1010      "member":{
1011        "shape":"CacheNodeTypeSpecificValue",
1012        "locationName":"CacheNodeTypeSpecificValue"
1013      }
1014    },
1015    "CacheParameterGroup":{
1016      "type":"structure",
1017      "members":{
1018        "CacheParameterGroupName":{"shape":"String"},
1019        "CacheParameterGroupFamily":{"shape":"String"},
1020        "Description":{"shape":"String"}
1021      },
1022      "wrapper":true
1023    },
1024    "CacheParameterGroupAlreadyExistsFault":{
1025      "type":"structure",
1026      "members":{
1027      },
1028      "error":{
1029        "code":"CacheParameterGroupAlreadyExists",
1030        "httpStatusCode":400,
1031        "senderFault":true
1032      },
1033      "exception":true
1034    },
1035    "CacheParameterGroupDetails":{
1036      "type":"structure",
1037      "members":{
1038        "Marker":{"shape":"String"},
1039        "Parameters":{"shape":"ParametersList"},
1040        "CacheNodeTypeSpecificParameters":{"shape":"CacheNodeTypeSpecificParametersList"}
1041      }
1042    },
1043    "CacheParameterGroupList":{
1044      "type":"list",
1045      "member":{
1046        "shape":"CacheParameterGroup",
1047        "locationName":"CacheParameterGroup"
1048      }
1049    },
1050    "CacheParameterGroupNameMessage":{
1051      "type":"structure",
1052      "members":{
1053        "CacheParameterGroupName":{"shape":"String"}
1054      }
1055    },
1056    "CacheParameterGroupNotFoundFault":{
1057      "type":"structure",
1058      "members":{
1059      },
1060      "error":{
1061        "code":"CacheParameterGroupNotFound",
1062        "httpStatusCode":404,
1063        "senderFault":true
1064      },
1065      "exception":true
1066    },
1067    "CacheParameterGroupQuotaExceededFault":{
1068      "type":"structure",
1069      "members":{
1070      },
1071      "error":{
1072        "code":"CacheParameterGroupQuotaExceeded",
1073        "httpStatusCode":400,
1074        "senderFault":true
1075      },
1076      "exception":true
1077    },
1078    "CacheParameterGroupStatus":{
1079      "type":"structure",
1080      "members":{
1081        "CacheParameterGroupName":{"shape":"String"},
1082        "ParameterApplyStatus":{"shape":"String"},
1083        "CacheNodeIdsToReboot":{"shape":"CacheNodeIdsList"}
1084      }
1085    },
1086    "CacheParameterGroupsMessage":{
1087      "type":"structure",
1088      "members":{
1089        "Marker":{"shape":"String"},
1090        "CacheParameterGroups":{"shape":"CacheParameterGroupList"}
1091      }
1092    },
1093    "CacheSecurityGroup":{
1094      "type":"structure",
1095      "members":{
1096        "OwnerId":{"shape":"String"},
1097        "CacheSecurityGroupName":{"shape":"String"},
1098        "Description":{"shape":"String"},
1099        "EC2SecurityGroups":{"shape":"EC2SecurityGroupList"}
1100      },
1101      "wrapper":true
1102    },
1103    "CacheSecurityGroupAlreadyExistsFault":{
1104      "type":"structure",
1105      "members":{
1106      },
1107      "error":{
1108        "code":"CacheSecurityGroupAlreadyExists",
1109        "httpStatusCode":400,
1110        "senderFault":true
1111      },
1112      "exception":true
1113    },
1114    "CacheSecurityGroupMembership":{
1115      "type":"structure",
1116      "members":{
1117        "CacheSecurityGroupName":{"shape":"String"},
1118        "Status":{"shape":"String"}
1119      }
1120    },
1121    "CacheSecurityGroupMembershipList":{
1122      "type":"list",
1123      "member":{
1124        "shape":"CacheSecurityGroupMembership",
1125        "locationName":"CacheSecurityGroup"
1126      }
1127    },
1128    "CacheSecurityGroupMessage":{
1129      "type":"structure",
1130      "members":{
1131        "Marker":{"shape":"String"},
1132        "CacheSecurityGroups":{"shape":"CacheSecurityGroups"}
1133      }
1134    },
1135    "CacheSecurityGroupNameList":{
1136      "type":"list",
1137      "member":{
1138        "shape":"String",
1139        "locationName":"CacheSecurityGroupName"
1140      }
1141    },
1142    "CacheSecurityGroupNotFoundFault":{
1143      "type":"structure",
1144      "members":{
1145      },
1146      "error":{
1147        "code":"CacheSecurityGroupNotFound",
1148        "httpStatusCode":404,
1149        "senderFault":true
1150      },
1151      "exception":true
1152    },
1153    "CacheSecurityGroupQuotaExceededFault":{
1154      "type":"structure",
1155      "members":{
1156      },
1157      "error":{
1158        "code":"QuotaExceeded.CacheSecurityGroup",
1159        "httpStatusCode":400,
1160        "senderFault":true
1161      },
1162      "exception":true
1163    },
1164    "CacheSecurityGroups":{
1165      "type":"list",
1166      "member":{
1167        "shape":"CacheSecurityGroup",
1168        "locationName":"CacheSecurityGroup"
1169      }
1170    },
1171    "CacheSubnetGroup":{
1172      "type":"structure",
1173      "members":{
1174        "CacheSubnetGroupName":{"shape":"String"},
1175        "CacheSubnetGroupDescription":{"shape":"String"},
1176        "VpcId":{"shape":"String"},
1177        "Subnets":{"shape":"SubnetList"}
1178      },
1179      "wrapper":true
1180    },
1181    "CacheSubnetGroupAlreadyExistsFault":{
1182      "type":"structure",
1183      "members":{
1184      },
1185      "error":{
1186        "code":"CacheSubnetGroupAlreadyExists",
1187        "httpStatusCode":400,
1188        "senderFault":true
1189      },
1190      "exception":true
1191    },
1192    "CacheSubnetGroupInUse":{
1193      "type":"structure",
1194      "members":{
1195      },
1196      "error":{
1197        "code":"CacheSubnetGroupInUse",
1198        "httpStatusCode":400,
1199        "senderFault":true
1200      },
1201      "exception":true
1202    },
1203    "CacheSubnetGroupMessage":{
1204      "type":"structure",
1205      "members":{
1206        "Marker":{"shape":"String"},
1207        "CacheSubnetGroups":{"shape":"CacheSubnetGroups"}
1208      }
1209    },
1210    "CacheSubnetGroupNotFoundFault":{
1211      "type":"structure",
1212      "members":{
1213      },
1214      "error":{
1215        "code":"CacheSubnetGroupNotFoundFault",
1216        "httpStatusCode":400,
1217        "senderFault":true
1218      },
1219      "exception":true
1220    },
1221    "CacheSubnetGroupQuotaExceededFault":{
1222      "type":"structure",
1223      "members":{
1224      },
1225      "error":{
1226        "code":"CacheSubnetGroupQuotaExceeded",
1227        "httpStatusCode":400,
1228        "senderFault":true
1229      },
1230      "exception":true
1231    },
1232    "CacheSubnetGroups":{
1233      "type":"list",
1234      "member":{
1235        "shape":"CacheSubnetGroup",
1236        "locationName":"CacheSubnetGroup"
1237      }
1238    },
1239    "CacheSubnetQuotaExceededFault":{
1240      "type":"structure",
1241      "members":{
1242      },
1243      "error":{
1244        "code":"CacheSubnetQuotaExceededFault",
1245        "httpStatusCode":400,
1246        "senderFault":true
1247      },
1248      "exception":true
1249    },
1250    "ChangeType":{
1251      "type":"string",
1252      "enum":[
1253        "immediate",
1254        "requires-reboot"
1255      ]
1256    },
1257    "ClusterIdList":{
1258      "type":"list",
1259      "member":{
1260        "shape":"String",
1261        "locationName":"ClusterId"
1262      }
1263    },
1264    "ClusterQuotaForCustomerExceededFault":{
1265      "type":"structure",
1266      "members":{
1267      },
1268      "error":{
1269        "code":"ClusterQuotaForCustomerExceeded",
1270        "httpStatusCode":400,
1271        "senderFault":true
1272      },
1273      "exception":true
1274    },
1275    "CopySnapshotMessage":{
1276      "type":"structure",
1277      "required":[
1278        "SourceSnapshotName",
1279        "TargetSnapshotName"
1280      ],
1281      "members":{
1282        "SourceSnapshotName":{"shape":"String"},
1283        "TargetSnapshotName":{"shape":"String"},
1284        "TargetBucket":{"shape":"String"}
1285      }
1286    },
1287    "CopySnapshotResult":{
1288      "type":"structure",
1289      "members":{
1290        "Snapshot":{"shape":"Snapshot"}
1291      }
1292    },
1293    "CreateCacheClusterMessage":{
1294      "type":"structure",
1295      "required":["CacheClusterId"],
1296      "members":{
1297        "CacheClusterId":{"shape":"String"},
1298        "ReplicationGroupId":{"shape":"String"},
1299        "AZMode":{"shape":"AZMode"},
1300        "PreferredAvailabilityZone":{"shape":"String"},
1301        "PreferredAvailabilityZones":{"shape":"PreferredAvailabilityZoneList"},
1302        "NumCacheNodes":{"shape":"IntegerOptional"},
1303        "CacheNodeType":{"shape":"String"},
1304        "Engine":{"shape":"String"},
1305        "EngineVersion":{"shape":"String"},
1306        "CacheParameterGroupName":{"shape":"String"},
1307        "CacheSubnetGroupName":{"shape":"String"},
1308        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
1309        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
1310        "Tags":{"shape":"TagList"},
1311        "SnapshotArns":{"shape":"SnapshotArnsList"},
1312        "SnapshotName":{"shape":"String"},
1313        "PreferredMaintenanceWindow":{"shape":"String"},
1314        "Port":{"shape":"IntegerOptional"},
1315        "NotificationTopicArn":{"shape":"String"},
1316        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
1317        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
1318        "SnapshotWindow":{"shape":"String"},
1319        "AuthToken":{"shape":"String"}
1320      }
1321    },
1322    "CreateCacheClusterResult":{
1323      "type":"structure",
1324      "members":{
1325        "CacheCluster":{"shape":"CacheCluster"}
1326      }
1327    },
1328    "CreateCacheParameterGroupMessage":{
1329      "type":"structure",
1330      "required":[
1331        "CacheParameterGroupName",
1332        "CacheParameterGroupFamily",
1333        "Description"
1334      ],
1335      "members":{
1336        "CacheParameterGroupName":{"shape":"String"},
1337        "CacheParameterGroupFamily":{"shape":"String"},
1338        "Description":{"shape":"String"}
1339      }
1340    },
1341    "CreateCacheParameterGroupResult":{
1342      "type":"structure",
1343      "members":{
1344        "CacheParameterGroup":{"shape":"CacheParameterGroup"}
1345      }
1346    },
1347    "CreateCacheSecurityGroupMessage":{
1348      "type":"structure",
1349      "required":[
1350        "CacheSecurityGroupName",
1351        "Description"
1352      ],
1353      "members":{
1354        "CacheSecurityGroupName":{"shape":"String"},
1355        "Description":{"shape":"String"}
1356      }
1357    },
1358    "CreateCacheSecurityGroupResult":{
1359      "type":"structure",
1360      "members":{
1361        "CacheSecurityGroup":{"shape":"CacheSecurityGroup"}
1362      }
1363    },
1364    "CreateCacheSubnetGroupMessage":{
1365      "type":"structure",
1366      "required":[
1367        "CacheSubnetGroupName",
1368        "CacheSubnetGroupDescription",
1369        "SubnetIds"
1370      ],
1371      "members":{
1372        "CacheSubnetGroupName":{"shape":"String"},
1373        "CacheSubnetGroupDescription":{"shape":"String"},
1374        "SubnetIds":{"shape":"SubnetIdentifierList"}
1375      }
1376    },
1377    "CreateCacheSubnetGroupResult":{
1378      "type":"structure",
1379      "members":{
1380        "CacheSubnetGroup":{"shape":"CacheSubnetGroup"}
1381      }
1382    },
1383    "CreateReplicationGroupMessage":{
1384      "type":"structure",
1385      "required":[
1386        "ReplicationGroupId",
1387        "ReplicationGroupDescription"
1388      ],
1389      "members":{
1390        "ReplicationGroupId":{"shape":"String"},
1391        "ReplicationGroupDescription":{"shape":"String"},
1392        "PrimaryClusterId":{"shape":"String"},
1393        "AutomaticFailoverEnabled":{"shape":"BooleanOptional"},
1394        "NumCacheClusters":{"shape":"IntegerOptional"},
1395        "PreferredCacheClusterAZs":{"shape":"AvailabilityZonesList"},
1396        "NumNodeGroups":{"shape":"IntegerOptional"},
1397        "ReplicasPerNodeGroup":{"shape":"IntegerOptional"},
1398        "NodeGroupConfiguration":{"shape":"NodeGroupConfigurationList"},
1399        "CacheNodeType":{"shape":"String"},
1400        "Engine":{"shape":"String"},
1401        "EngineVersion":{"shape":"String"},
1402        "CacheParameterGroupName":{"shape":"String"},
1403        "CacheSubnetGroupName":{"shape":"String"},
1404        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
1405        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
1406        "Tags":{"shape":"TagList"},
1407        "SnapshotArns":{"shape":"SnapshotArnsList"},
1408        "SnapshotName":{"shape":"String"},
1409        "PreferredMaintenanceWindow":{"shape":"String"},
1410        "Port":{"shape":"IntegerOptional"},
1411        "NotificationTopicArn":{"shape":"String"},
1412        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
1413        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
1414        "SnapshotWindow":{"shape":"String"},
1415        "AuthToken":{"shape":"String"},
1416        "TransitEncryptionEnabled":{"shape":"BooleanOptional"},
1417        "AtRestEncryptionEnabled":{"shape":"BooleanOptional"}
1418      }
1419    },
1420    "CreateReplicationGroupResult":{
1421      "type":"structure",
1422      "members":{
1423        "ReplicationGroup":{"shape":"ReplicationGroup"}
1424      }
1425    },
1426    "CreateSnapshotMessage":{
1427      "type":"structure",
1428      "required":["SnapshotName"],
1429      "members":{
1430        "ReplicationGroupId":{"shape":"String"},
1431        "CacheClusterId":{"shape":"String"},
1432        "SnapshotName":{"shape":"String"}
1433      }
1434    },
1435    "CreateSnapshotResult":{
1436      "type":"structure",
1437      "members":{
1438        "Snapshot":{"shape":"Snapshot"}
1439      }
1440    },
1441    "DeleteCacheClusterMessage":{
1442      "type":"structure",
1443      "required":["CacheClusterId"],
1444      "members":{
1445        "CacheClusterId":{"shape":"String"},
1446        "FinalSnapshotIdentifier":{"shape":"String"}
1447      }
1448    },
1449    "DeleteCacheClusterResult":{
1450      "type":"structure",
1451      "members":{
1452        "CacheCluster":{"shape":"CacheCluster"}
1453      }
1454    },
1455    "DeleteCacheParameterGroupMessage":{
1456      "type":"structure",
1457      "required":["CacheParameterGroupName"],
1458      "members":{
1459        "CacheParameterGroupName":{"shape":"String"}
1460      }
1461    },
1462    "DeleteCacheSecurityGroupMessage":{
1463      "type":"structure",
1464      "required":["CacheSecurityGroupName"],
1465      "members":{
1466        "CacheSecurityGroupName":{"shape":"String"}
1467      }
1468    },
1469    "DeleteCacheSubnetGroupMessage":{
1470      "type":"structure",
1471      "required":["CacheSubnetGroupName"],
1472      "members":{
1473        "CacheSubnetGroupName":{"shape":"String"}
1474      }
1475    },
1476    "DeleteReplicationGroupMessage":{
1477      "type":"structure",
1478      "required":["ReplicationGroupId"],
1479      "members":{
1480        "ReplicationGroupId":{"shape":"String"},
1481        "RetainPrimaryCluster":{"shape":"BooleanOptional"},
1482        "FinalSnapshotIdentifier":{"shape":"String"}
1483      }
1484    },
1485    "DeleteReplicationGroupResult":{
1486      "type":"structure",
1487      "members":{
1488        "ReplicationGroup":{"shape":"ReplicationGroup"}
1489      }
1490    },
1491    "DeleteSnapshotMessage":{
1492      "type":"structure",
1493      "required":["SnapshotName"],
1494      "members":{
1495        "SnapshotName":{"shape":"String"}
1496      }
1497    },
1498    "DeleteSnapshotResult":{
1499      "type":"structure",
1500      "members":{
1501        "Snapshot":{"shape":"Snapshot"}
1502      }
1503    },
1504    "DescribeCacheClustersMessage":{
1505      "type":"structure",
1506      "members":{
1507        "CacheClusterId":{"shape":"String"},
1508        "MaxRecords":{"shape":"IntegerOptional"},
1509        "Marker":{"shape":"String"},
1510        "ShowCacheNodeInfo":{"shape":"BooleanOptional"},
1511        "ShowCacheClustersNotInReplicationGroups":{"shape":"BooleanOptional"}
1512      }
1513    },
1514    "DescribeCacheEngineVersionsMessage":{
1515      "type":"structure",
1516      "members":{
1517        "Engine":{"shape":"String"},
1518        "EngineVersion":{"shape":"String"},
1519        "CacheParameterGroupFamily":{"shape":"String"},
1520        "MaxRecords":{"shape":"IntegerOptional"},
1521        "Marker":{"shape":"String"},
1522        "DefaultOnly":{"shape":"Boolean"}
1523      }
1524    },
1525    "DescribeCacheParameterGroupsMessage":{
1526      "type":"structure",
1527      "members":{
1528        "CacheParameterGroupName":{"shape":"String"},
1529        "MaxRecords":{"shape":"IntegerOptional"},
1530        "Marker":{"shape":"String"}
1531      }
1532    },
1533    "DescribeCacheParametersMessage":{
1534      "type":"structure",
1535      "required":["CacheParameterGroupName"],
1536      "members":{
1537        "CacheParameterGroupName":{"shape":"String"},
1538        "Source":{"shape":"String"},
1539        "MaxRecords":{"shape":"IntegerOptional"},
1540        "Marker":{"shape":"String"}
1541      }
1542    },
1543    "DescribeCacheSecurityGroupsMessage":{
1544      "type":"structure",
1545      "members":{
1546        "CacheSecurityGroupName":{"shape":"String"},
1547        "MaxRecords":{"shape":"IntegerOptional"},
1548        "Marker":{"shape":"String"}
1549      }
1550    },
1551    "DescribeCacheSubnetGroupsMessage":{
1552      "type":"structure",
1553      "members":{
1554        "CacheSubnetGroupName":{"shape":"String"},
1555        "MaxRecords":{"shape":"IntegerOptional"},
1556        "Marker":{"shape":"String"}
1557      }
1558    },
1559    "DescribeEngineDefaultParametersMessage":{
1560      "type":"structure",
1561      "required":["CacheParameterGroupFamily"],
1562      "members":{
1563        "CacheParameterGroupFamily":{"shape":"String"},
1564        "MaxRecords":{"shape":"IntegerOptional"},
1565        "Marker":{"shape":"String"}
1566      }
1567    },
1568    "DescribeEngineDefaultParametersResult":{
1569      "type":"structure",
1570      "members":{
1571        "EngineDefaults":{"shape":"EngineDefaults"}
1572      }
1573    },
1574    "DescribeEventsMessage":{
1575      "type":"structure",
1576      "members":{
1577        "SourceIdentifier":{"shape":"String"},
1578        "SourceType":{"shape":"SourceType"},
1579        "StartTime":{"shape":"TStamp"},
1580        "EndTime":{"shape":"TStamp"},
1581        "Duration":{"shape":"IntegerOptional"},
1582        "MaxRecords":{"shape":"IntegerOptional"},
1583        "Marker":{"shape":"String"}
1584      }
1585    },
1586    "DescribeReplicationGroupsMessage":{
1587      "type":"structure",
1588      "members":{
1589        "ReplicationGroupId":{"shape":"String"},
1590        "MaxRecords":{"shape":"IntegerOptional"},
1591        "Marker":{"shape":"String"}
1592      }
1593    },
1594    "DescribeReservedCacheNodesMessage":{
1595      "type":"structure",
1596      "members":{
1597        "ReservedCacheNodeId":{"shape":"String"},
1598        "ReservedCacheNodesOfferingId":{"shape":"String"},
1599        "CacheNodeType":{"shape":"String"},
1600        "Duration":{"shape":"String"},
1601        "ProductDescription":{"shape":"String"},
1602        "OfferingType":{"shape":"String"},
1603        "MaxRecords":{"shape":"IntegerOptional"},
1604        "Marker":{"shape":"String"}
1605      }
1606    },
1607    "DescribeReservedCacheNodesOfferingsMessage":{
1608      "type":"structure",
1609      "members":{
1610        "ReservedCacheNodesOfferingId":{"shape":"String"},
1611        "CacheNodeType":{"shape":"String"},
1612        "Duration":{"shape":"String"},
1613        "ProductDescription":{"shape":"String"},
1614        "OfferingType":{"shape":"String"},
1615        "MaxRecords":{"shape":"IntegerOptional"},
1616        "Marker":{"shape":"String"}
1617      }
1618    },
1619    "DescribeSnapshotsListMessage":{
1620      "type":"structure",
1621      "members":{
1622        "Marker":{"shape":"String"},
1623        "Snapshots":{"shape":"SnapshotList"}
1624      }
1625    },
1626    "DescribeSnapshotsMessage":{
1627      "type":"structure",
1628      "members":{
1629        "ReplicationGroupId":{"shape":"String"},
1630        "CacheClusterId":{"shape":"String"},
1631        "SnapshotName":{"shape":"String"},
1632        "SnapshotSource":{"shape":"String"},
1633        "Marker":{"shape":"String"},
1634        "MaxRecords":{"shape":"IntegerOptional"},
1635        "ShowNodeGroupConfig":{"shape":"BooleanOptional"}
1636      }
1637    },
1638    "Double":{"type":"double"},
1639    "EC2SecurityGroup":{
1640      "type":"structure",
1641      "members":{
1642        "Status":{"shape":"String"},
1643        "EC2SecurityGroupName":{"shape":"String"},
1644        "EC2SecurityGroupOwnerId":{"shape":"String"}
1645      }
1646    },
1647    "EC2SecurityGroupList":{
1648      "type":"list",
1649      "member":{
1650        "shape":"EC2SecurityGroup",
1651        "locationName":"EC2SecurityGroup"
1652      }
1653    },
1654    "Endpoint":{
1655      "type":"structure",
1656      "members":{
1657        "Address":{"shape":"String"},
1658        "Port":{"shape":"Integer"}
1659      }
1660    },
1661    "EngineDefaults":{
1662      "type":"structure",
1663      "members":{
1664        "CacheParameterGroupFamily":{"shape":"String"},
1665        "Marker":{"shape":"String"},
1666        "Parameters":{"shape":"ParametersList"},
1667        "CacheNodeTypeSpecificParameters":{"shape":"CacheNodeTypeSpecificParametersList"}
1668      },
1669      "wrapper":true
1670    },
1671    "Event":{
1672      "type":"structure",
1673      "members":{
1674        "SourceIdentifier":{"shape":"String"},
1675        "SourceType":{"shape":"SourceType"},
1676        "Message":{"shape":"String"},
1677        "Date":{"shape":"TStamp"}
1678      }
1679    },
1680    "EventList":{
1681      "type":"list",
1682      "member":{
1683        "shape":"Event",
1684        "locationName":"Event"
1685      }
1686    },
1687    "EventsMessage":{
1688      "type":"structure",
1689      "members":{
1690        "Marker":{"shape":"String"},
1691        "Events":{"shape":"EventList"}
1692      }
1693    },
1694    "InsufficientCacheClusterCapacityFault":{
1695      "type":"structure",
1696      "members":{
1697      },
1698      "error":{
1699        "code":"InsufficientCacheClusterCapacity",
1700        "httpStatusCode":400,
1701        "senderFault":true
1702      },
1703      "exception":true
1704    },
1705    "Integer":{"type":"integer"},
1706    "IntegerOptional":{"type":"integer"},
1707    "InvalidARNFault":{
1708      "type":"structure",
1709      "members":{
1710      },
1711      "error":{
1712        "code":"InvalidARN",
1713        "httpStatusCode":400,
1714        "senderFault":true
1715      },
1716      "exception":true
1717    },
1718    "InvalidCacheClusterStateFault":{
1719      "type":"structure",
1720      "members":{
1721      },
1722      "error":{
1723        "code":"InvalidCacheClusterState",
1724        "httpStatusCode":400,
1725        "senderFault":true
1726      },
1727      "exception":true
1728    },
1729    "InvalidCacheParameterGroupStateFault":{
1730      "type":"structure",
1731      "members":{
1732      },
1733      "error":{
1734        "code":"InvalidCacheParameterGroupState",
1735        "httpStatusCode":400,
1736        "senderFault":true
1737      },
1738      "exception":true
1739    },
1740    "InvalidCacheSecurityGroupStateFault":{
1741      "type":"structure",
1742      "members":{
1743      },
1744      "error":{
1745        "code":"InvalidCacheSecurityGroupState",
1746        "httpStatusCode":400,
1747        "senderFault":true
1748      },
1749      "exception":true
1750    },
1751    "InvalidParameterCombinationException":{
1752      "type":"structure",
1753      "members":{
1754        "message":{"shape":"AwsQueryErrorMessage"}
1755      },
1756      "error":{
1757        "code":"InvalidParameterCombination",
1758        "httpStatusCode":400,
1759        "senderFault":true
1760      },
1761      "exception":true
1762    },
1763    "InvalidParameterValueException":{
1764      "type":"structure",
1765      "members":{
1766        "message":{"shape":"AwsQueryErrorMessage"}
1767      },
1768      "error":{
1769        "code":"InvalidParameterValue",
1770        "httpStatusCode":400,
1771        "senderFault":true
1772      },
1773      "exception":true
1774    },
1775    "InvalidReplicationGroupStateFault":{
1776      "type":"structure",
1777      "members":{
1778      },
1779      "error":{
1780        "code":"InvalidReplicationGroupState",
1781        "httpStatusCode":400,
1782        "senderFault":true
1783      },
1784      "exception":true
1785    },
1786    "InvalidSnapshotStateFault":{
1787      "type":"structure",
1788      "members":{
1789      },
1790      "error":{
1791        "code":"InvalidSnapshotState",
1792        "httpStatusCode":400,
1793        "senderFault":true
1794      },
1795      "exception":true
1796    },
1797    "InvalidSubnet":{
1798      "type":"structure",
1799      "members":{
1800      },
1801      "error":{
1802        "code":"InvalidSubnet",
1803        "httpStatusCode":400,
1804        "senderFault":true
1805      },
1806      "exception":true
1807    },
1808    "InvalidVPCNetworkStateFault":{
1809      "type":"structure",
1810      "members":{
1811      },
1812      "error":{
1813        "code":"InvalidVPCNetworkStateFault",
1814        "httpStatusCode":400,
1815        "senderFault":true
1816      },
1817      "exception":true
1818    },
1819    "KeyList":{
1820      "type":"list",
1821      "member":{"shape":"String"}
1822    },
1823    "ListAllowedNodeTypeModificationsMessage":{
1824      "type":"structure",
1825      "members":{
1826        "CacheClusterId":{"shape":"String"},
1827        "ReplicationGroupId":{"shape":"String"}
1828      }
1829    },
1830    "ListTagsForResourceMessage":{
1831      "type":"structure",
1832      "required":["ResourceName"],
1833      "members":{
1834        "ResourceName":{"shape":"String"}
1835      }
1836    },
1837    "ModifyCacheClusterMessage":{
1838      "type":"structure",
1839      "required":["CacheClusterId"],
1840      "members":{
1841        "CacheClusterId":{"shape":"String"},
1842        "NumCacheNodes":{"shape":"IntegerOptional"},
1843        "CacheNodeIdsToRemove":{"shape":"CacheNodeIdsList"},
1844        "AZMode":{"shape":"AZMode"},
1845        "NewAvailabilityZones":{"shape":"PreferredAvailabilityZoneList"},
1846        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
1847        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
1848        "PreferredMaintenanceWindow":{"shape":"String"},
1849        "NotificationTopicArn":{"shape":"String"},
1850        "CacheParameterGroupName":{"shape":"String"},
1851        "NotificationTopicStatus":{"shape":"String"},
1852        "ApplyImmediately":{"shape":"Boolean"},
1853        "EngineVersion":{"shape":"String"},
1854        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
1855        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
1856        "SnapshotWindow":{"shape":"String"},
1857        "CacheNodeType":{"shape":"String"}
1858      }
1859    },
1860    "ModifyCacheClusterResult":{
1861      "type":"structure",
1862      "members":{
1863        "CacheCluster":{"shape":"CacheCluster"}
1864      }
1865    },
1866    "ModifyCacheParameterGroupMessage":{
1867      "type":"structure",
1868      "required":[
1869        "CacheParameterGroupName",
1870        "ParameterNameValues"
1871      ],
1872      "members":{
1873        "CacheParameterGroupName":{"shape":"String"},
1874        "ParameterNameValues":{"shape":"ParameterNameValueList"}
1875      }
1876    },
1877    "ModifyCacheSubnetGroupMessage":{
1878      "type":"structure",
1879      "required":["CacheSubnetGroupName"],
1880      "members":{
1881        "CacheSubnetGroupName":{"shape":"String"},
1882        "CacheSubnetGroupDescription":{"shape":"String"},
1883        "SubnetIds":{"shape":"SubnetIdentifierList"}
1884      }
1885    },
1886    "ModifyCacheSubnetGroupResult":{
1887      "type":"structure",
1888      "members":{
1889        "CacheSubnetGroup":{"shape":"CacheSubnetGroup"}
1890      }
1891    },
1892    "ModifyReplicationGroupMessage":{
1893      "type":"structure",
1894      "required":["ReplicationGroupId"],
1895      "members":{
1896        "ReplicationGroupId":{"shape":"String"},
1897        "ReplicationGroupDescription":{"shape":"String"},
1898        "PrimaryClusterId":{"shape":"String"},
1899        "SnapshottingClusterId":{"shape":"String"},
1900        "AutomaticFailoverEnabled":{"shape":"BooleanOptional"},
1901        "CacheSecurityGroupNames":{"shape":"CacheSecurityGroupNameList"},
1902        "SecurityGroupIds":{"shape":"SecurityGroupIdsList"},
1903        "PreferredMaintenanceWindow":{"shape":"String"},
1904        "NotificationTopicArn":{"shape":"String"},
1905        "CacheParameterGroupName":{"shape":"String"},
1906        "NotificationTopicStatus":{"shape":"String"},
1907        "ApplyImmediately":{"shape":"Boolean"},
1908        "EngineVersion":{"shape":"String"},
1909        "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
1910        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
1911        "SnapshotWindow":{"shape":"String"},
1912        "CacheNodeType":{"shape":"String"},
1913        "NodeGroupId":{"shape":"String"}
1914      }
1915    },
1916    "ModifyReplicationGroupResult":{
1917      "type":"structure",
1918      "members":{
1919        "ReplicationGroup":{"shape":"ReplicationGroup"}
1920      }
1921    },
1922    "ModifyReplicationGroupShardConfigurationMessage":{
1923      "type":"structure",
1924      "required":[
1925        "ReplicationGroupId",
1926        "NodeGroupCount",
1927        "ApplyImmediately"
1928      ],
1929      "members":{
1930        "ReplicationGroupId":{"shape":"String"},
1931        "NodeGroupCount":{"shape":"Integer"},
1932        "ApplyImmediately":{"shape":"Boolean"},
1933        "ReshardingConfiguration":{"shape":"ReshardingConfigurationList"},
1934        "NodeGroupsToRemove":{"shape":"NodeGroupsToRemoveList"}
1935      }
1936    },
1937    "ModifyReplicationGroupShardConfigurationResult":{
1938      "type":"structure",
1939      "members":{
1940        "ReplicationGroup":{"shape":"ReplicationGroup"}
1941      }
1942    },
1943    "NodeGroup":{
1944      "type":"structure",
1945      "members":{
1946        "NodeGroupId":{"shape":"String"},
1947        "Status":{"shape":"String"},
1948        "PrimaryEndpoint":{"shape":"Endpoint"},
1949        "Slots":{"shape":"String"},
1950        "NodeGroupMembers":{"shape":"NodeGroupMemberList"}
1951      }
1952    },
1953    "NodeGroupConfiguration":{
1954      "type":"structure",
1955      "members":{
1956        "Slots":{"shape":"String"},
1957        "ReplicaCount":{"shape":"IntegerOptional"},
1958        "PrimaryAvailabilityZone":{"shape":"String"},
1959        "ReplicaAvailabilityZones":{"shape":"AvailabilityZonesList"}
1960      }
1961    },
1962    "NodeGroupConfigurationList":{
1963      "type":"list",
1964      "member":{
1965        "shape":"NodeGroupConfiguration",
1966        "locationName":"NodeGroupConfiguration"
1967      }
1968    },
1969    "NodeGroupList":{
1970      "type":"list",
1971      "member":{
1972        "shape":"NodeGroup",
1973        "locationName":"NodeGroup"
1974      }
1975    },
1976    "NodeGroupMember":{
1977      "type":"structure",
1978      "members":{
1979        "CacheClusterId":{"shape":"String"},
1980        "CacheNodeId":{"shape":"String"},
1981        "ReadEndpoint":{"shape":"Endpoint"},
1982        "PreferredAvailabilityZone":{"shape":"String"},
1983        "CurrentRole":{"shape":"String"}
1984      }
1985    },
1986    "NodeGroupMemberList":{
1987      "type":"list",
1988      "member":{
1989        "shape":"NodeGroupMember",
1990        "locationName":"NodeGroupMember"
1991      }
1992    },
1993    "NodeGroupNotFoundFault":{
1994      "type":"structure",
1995      "members":{
1996      },
1997      "error":{
1998        "code":"NodeGroupNotFoundFault",
1999        "httpStatusCode":404,
2000        "senderFault":true
2001      },
2002      "exception":true
2003    },
2004    "NodeGroupsPerReplicationGroupQuotaExceededFault":{
2005      "type":"structure",
2006      "members":{
2007      },
2008      "error":{
2009        "code":"NodeGroupsPerReplicationGroupQuotaExceeded",
2010        "httpStatusCode":400,
2011        "senderFault":true
2012      },
2013      "exception":true
2014    },
2015    "NodeGroupsToRemoveList":{
2016      "type":"list",
2017      "member":{
2018        "shape":"String",
2019        "locationName":"NodeGroupToRemove"
2020      }
2021    },
2022    "NodeQuotaForClusterExceededFault":{
2023      "type":"structure",
2024      "members":{
2025      },
2026      "error":{
2027        "code":"NodeQuotaForClusterExceeded",
2028        "httpStatusCode":400,
2029        "senderFault":true
2030      },
2031      "exception":true
2032    },
2033    "NodeQuotaForCustomerExceededFault":{
2034      "type":"structure",
2035      "members":{
2036      },
2037      "error":{
2038        "code":"NodeQuotaForCustomerExceeded",
2039        "httpStatusCode":400,
2040        "senderFault":true
2041      },
2042      "exception":true
2043    },
2044    "NodeSnapshot":{
2045      "type":"structure",
2046      "members":{
2047        "CacheClusterId":{"shape":"String"},
2048        "NodeGroupId":{"shape":"String"},
2049        "CacheNodeId":{"shape":"String"},
2050        "NodeGroupConfiguration":{"shape":"NodeGroupConfiguration"},
2051        "CacheSize":{"shape":"String"},
2052        "CacheNodeCreateTime":{"shape":"TStamp"},
2053        "SnapshotCreateTime":{"shape":"TStamp"}
2054      },
2055      "wrapper":true
2056    },
2057    "NodeSnapshotList":{
2058      "type":"list",
2059      "member":{
2060        "shape":"NodeSnapshot",
2061        "locationName":"NodeSnapshot"
2062      }
2063    },
2064    "NodeTypeList":{
2065      "type":"list",
2066      "member":{"shape":"String"}
2067    },
2068    "NotificationConfiguration":{
2069      "type":"structure",
2070      "members":{
2071        "TopicArn":{"shape":"String"},
2072        "TopicStatus":{"shape":"String"}
2073      }
2074    },
2075    "Parameter":{
2076      "type":"structure",
2077      "members":{
2078        "ParameterName":{"shape":"String"},
2079        "ParameterValue":{"shape":"String"},
2080        "Description":{"shape":"String"},
2081        "Source":{"shape":"String"},
2082        "DataType":{"shape":"String"},
2083        "AllowedValues":{"shape":"String"},
2084        "IsModifiable":{"shape":"Boolean"},
2085        "MinimumEngineVersion":{"shape":"String"},
2086        "ChangeType":{"shape":"ChangeType"}
2087      }
2088    },
2089    "ParameterNameValue":{
2090      "type":"structure",
2091      "members":{
2092        "ParameterName":{"shape":"String"},
2093        "ParameterValue":{"shape":"String"}
2094      }
2095    },
2096    "ParameterNameValueList":{
2097      "type":"list",
2098      "member":{
2099        "shape":"ParameterNameValue",
2100        "locationName":"ParameterNameValue"
2101      }
2102    },
2103    "ParametersList":{
2104      "type":"list",
2105      "member":{
2106        "shape":"Parameter",
2107        "locationName":"Parameter"
2108      }
2109    },
2110    "PendingAutomaticFailoverStatus":{
2111      "type":"string",
2112      "enum":[
2113        "enabled",
2114        "disabled"
2115      ]
2116    },
2117    "PendingModifiedValues":{
2118      "type":"structure",
2119      "members":{
2120        "NumCacheNodes":{"shape":"IntegerOptional"},
2121        "CacheNodeIdsToRemove":{"shape":"CacheNodeIdsList"},
2122        "EngineVersion":{"shape":"String"},
2123        "CacheNodeType":{"shape":"String"}
2124      }
2125    },
2126    "PreferredAvailabilityZoneList":{
2127      "type":"list",
2128      "member":{
2129        "shape":"String",
2130        "locationName":"PreferredAvailabilityZone"
2131      }
2132    },
2133    "PurchaseReservedCacheNodesOfferingMessage":{
2134      "type":"structure",
2135      "required":["ReservedCacheNodesOfferingId"],
2136      "members":{
2137        "ReservedCacheNodesOfferingId":{"shape":"String"},
2138        "ReservedCacheNodeId":{"shape":"String"},
2139        "CacheNodeCount":{"shape":"IntegerOptional"}
2140      }
2141    },
2142    "PurchaseReservedCacheNodesOfferingResult":{
2143      "type":"structure",
2144      "members":{
2145        "ReservedCacheNode":{"shape":"ReservedCacheNode"}
2146      }
2147    },
2148    "RebootCacheClusterMessage":{
2149      "type":"structure",
2150      "required":[
2151        "CacheClusterId",
2152        "CacheNodeIdsToReboot"
2153      ],
2154      "members":{
2155        "CacheClusterId":{"shape":"String"},
2156        "CacheNodeIdsToReboot":{"shape":"CacheNodeIdsList"}
2157      }
2158    },
2159    "RebootCacheClusterResult":{
2160      "type":"structure",
2161      "members":{
2162        "CacheCluster":{"shape":"CacheCluster"}
2163      }
2164    },
2165    "RecurringCharge":{
2166      "type":"structure",
2167      "members":{
2168        "RecurringChargeAmount":{"shape":"Double"},
2169        "RecurringChargeFrequency":{"shape":"String"}
2170      },
2171      "wrapper":true
2172    },
2173    "RecurringChargeList":{
2174      "type":"list",
2175      "member":{
2176        "shape":"RecurringCharge",
2177        "locationName":"RecurringCharge"
2178      }
2179    },
2180    "RemoveTagsFromResourceMessage":{
2181      "type":"structure",
2182      "required":[
2183        "ResourceName",
2184        "TagKeys"
2185      ],
2186      "members":{
2187        "ResourceName":{"shape":"String"},
2188        "TagKeys":{"shape":"KeyList"}
2189      }
2190    },
2191    "ReplicationGroup":{
2192      "type":"structure",
2193      "members":{
2194        "ReplicationGroupId":{"shape":"String"},
2195        "Description":{"shape":"String"},
2196        "Status":{"shape":"String"},
2197        "PendingModifiedValues":{"shape":"ReplicationGroupPendingModifiedValues"},
2198        "MemberClusters":{"shape":"ClusterIdList"},
2199        "NodeGroups":{"shape":"NodeGroupList"},
2200        "SnapshottingClusterId":{"shape":"String"},
2201        "AutomaticFailover":{"shape":"AutomaticFailoverStatus"},
2202        "ConfigurationEndpoint":{"shape":"Endpoint"},
2203        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
2204        "SnapshotWindow":{"shape":"String"},
2205        "ClusterEnabled":{"shape":"BooleanOptional"},
2206        "CacheNodeType":{"shape":"String"},
2207        "AuthTokenEnabled":{"shape":"BooleanOptional"},
2208        "TransitEncryptionEnabled":{"shape":"BooleanOptional"},
2209        "AtRestEncryptionEnabled":{"shape":"BooleanOptional"}
2210      },
2211      "wrapper":true
2212    },
2213    "ReplicationGroupAlreadyExistsFault":{
2214      "type":"structure",
2215      "members":{
2216      },
2217      "error":{
2218        "code":"ReplicationGroupAlreadyExists",
2219        "httpStatusCode":400,
2220        "senderFault":true
2221      },
2222      "exception":true
2223    },
2224    "ReplicationGroupList":{
2225      "type":"list",
2226      "member":{
2227        "shape":"ReplicationGroup",
2228        "locationName":"ReplicationGroup"
2229      }
2230    },
2231    "ReplicationGroupMessage":{
2232      "type":"structure",
2233      "members":{
2234        "Marker":{"shape":"String"},
2235        "ReplicationGroups":{"shape":"ReplicationGroupList"}
2236      }
2237    },
2238    "ReplicationGroupNotFoundFault":{
2239      "type":"structure",
2240      "members":{
2241      },
2242      "error":{
2243        "code":"ReplicationGroupNotFoundFault",
2244        "httpStatusCode":404,
2245        "senderFault":true
2246      },
2247      "exception":true
2248    },
2249    "ReplicationGroupPendingModifiedValues":{
2250      "type":"structure",
2251      "members":{
2252        "PrimaryClusterId":{"shape":"String"},
2253        "AutomaticFailoverStatus":{"shape":"PendingAutomaticFailoverStatus"},
2254        "Resharding":{"shape":"ReshardingStatus"}
2255      }
2256    },
2257    "ReservedCacheNode":{
2258      "type":"structure",
2259      "members":{
2260        "ReservedCacheNodeId":{"shape":"String"},
2261        "ReservedCacheNodesOfferingId":{"shape":"String"},
2262        "CacheNodeType":{"shape":"String"},
2263        "StartTime":{"shape":"TStamp"},
2264        "Duration":{"shape":"Integer"},
2265        "FixedPrice":{"shape":"Double"},
2266        "UsagePrice":{"shape":"Double"},
2267        "CacheNodeCount":{"shape":"Integer"},
2268        "ProductDescription":{"shape":"String"},
2269        "OfferingType":{"shape":"String"},
2270        "State":{"shape":"String"},
2271        "RecurringCharges":{"shape":"RecurringChargeList"}
2272      },
2273      "wrapper":true
2274    },
2275    "ReservedCacheNodeAlreadyExistsFault":{
2276      "type":"structure",
2277      "members":{
2278      },
2279      "error":{
2280        "code":"ReservedCacheNodeAlreadyExists",
2281        "httpStatusCode":404,
2282        "senderFault":true
2283      },
2284      "exception":true
2285    },
2286    "ReservedCacheNodeList":{
2287      "type":"list",
2288      "member":{
2289        "shape":"ReservedCacheNode",
2290        "locationName":"ReservedCacheNode"
2291      }
2292    },
2293    "ReservedCacheNodeMessage":{
2294      "type":"structure",
2295      "members":{
2296        "Marker":{"shape":"String"},
2297        "ReservedCacheNodes":{"shape":"ReservedCacheNodeList"}
2298      }
2299    },
2300    "ReservedCacheNodeNotFoundFault":{
2301      "type":"structure",
2302      "members":{
2303      },
2304      "error":{
2305        "code":"ReservedCacheNodeNotFound",
2306        "httpStatusCode":404,
2307        "senderFault":true
2308      },
2309      "exception":true
2310    },
2311    "ReservedCacheNodeQuotaExceededFault":{
2312      "type":"structure",
2313      "members":{
2314      },
2315      "error":{
2316        "code":"ReservedCacheNodeQuotaExceeded",
2317        "httpStatusCode":400,
2318        "senderFault":true
2319      },
2320      "exception":true
2321    },
2322    "ReservedCacheNodesOffering":{
2323      "type":"structure",
2324      "members":{
2325        "ReservedCacheNodesOfferingId":{"shape":"String"},
2326        "CacheNodeType":{"shape":"String"},
2327        "Duration":{"shape":"Integer"},
2328        "FixedPrice":{"shape":"Double"},
2329        "UsagePrice":{"shape":"Double"},
2330        "ProductDescription":{"shape":"String"},
2331        "OfferingType":{"shape":"String"},
2332        "RecurringCharges":{"shape":"RecurringChargeList"}
2333      },
2334      "wrapper":true
2335    },
2336    "ReservedCacheNodesOfferingList":{
2337      "type":"list",
2338      "member":{
2339        "shape":"ReservedCacheNodesOffering",
2340        "locationName":"ReservedCacheNodesOffering"
2341      }
2342    },
2343    "ReservedCacheNodesOfferingMessage":{
2344      "type":"structure",
2345      "members":{
2346        "Marker":{"shape":"String"},
2347        "ReservedCacheNodesOfferings":{"shape":"ReservedCacheNodesOfferingList"}
2348      }
2349    },
2350    "ReservedCacheNodesOfferingNotFoundFault":{
2351      "type":"structure",
2352      "members":{
2353      },
2354      "error":{
2355        "code":"ReservedCacheNodesOfferingNotFound",
2356        "httpStatusCode":404,
2357        "senderFault":true
2358      },
2359      "exception":true
2360    },
2361    "ResetCacheParameterGroupMessage":{
2362      "type":"structure",
2363      "required":["CacheParameterGroupName"],
2364      "members":{
2365        "CacheParameterGroupName":{"shape":"String"},
2366        "ResetAllParameters":{"shape":"Boolean"},
2367        "ParameterNameValues":{"shape":"ParameterNameValueList"}
2368      }
2369    },
2370    "ReshardingConfiguration":{
2371      "type":"structure",
2372      "members":{
2373        "PreferredAvailabilityZones":{"shape":"AvailabilityZonesList"}
2374      }
2375    },
2376    "ReshardingConfigurationList":{
2377      "type":"list",
2378      "member":{
2379        "shape":"ReshardingConfiguration",
2380        "locationName":"ReshardingConfiguration"
2381      }
2382    },
2383    "ReshardingStatus":{
2384      "type":"structure",
2385      "members":{
2386        "SlotMigration":{"shape":"SlotMigration"}
2387      }
2388    },
2389    "RevokeCacheSecurityGroupIngressMessage":{
2390      "type":"structure",
2391      "required":[
2392        "CacheSecurityGroupName",
2393        "EC2SecurityGroupName",
2394        "EC2SecurityGroupOwnerId"
2395      ],
2396      "members":{
2397        "CacheSecurityGroupName":{"shape":"String"},
2398        "EC2SecurityGroupName":{"shape":"String"},
2399        "EC2SecurityGroupOwnerId":{"shape":"String"}
2400      }
2401    },
2402    "RevokeCacheSecurityGroupIngressResult":{
2403      "type":"structure",
2404      "members":{
2405        "CacheSecurityGroup":{"shape":"CacheSecurityGroup"}
2406      }
2407    },
2408    "SecurityGroupIdsList":{
2409      "type":"list",
2410      "member":{
2411        "shape":"String",
2412        "locationName":"SecurityGroupId"
2413      }
2414    },
2415    "SecurityGroupMembership":{
2416      "type":"structure",
2417      "members":{
2418        "SecurityGroupId":{"shape":"String"},
2419        "Status":{"shape":"String"}
2420      }
2421    },
2422    "SecurityGroupMembershipList":{
2423      "type":"list",
2424      "member":{"shape":"SecurityGroupMembership"}
2425    },
2426    "SlotMigration":{
2427      "type":"structure",
2428      "members":{
2429        "ProgressPercentage":{"shape":"Double"}
2430      }
2431    },
2432    "Snapshot":{
2433      "type":"structure",
2434      "members":{
2435        "SnapshotName":{"shape":"String"},
2436        "ReplicationGroupId":{"shape":"String"},
2437        "ReplicationGroupDescription":{"shape":"String"},
2438        "CacheClusterId":{"shape":"String"},
2439        "SnapshotStatus":{"shape":"String"},
2440        "SnapshotSource":{"shape":"String"},
2441        "CacheNodeType":{"shape":"String"},
2442        "Engine":{"shape":"String"},
2443        "EngineVersion":{"shape":"String"},
2444        "NumCacheNodes":{"shape":"IntegerOptional"},
2445        "PreferredAvailabilityZone":{"shape":"String"},
2446        "CacheClusterCreateTime":{"shape":"TStamp"},
2447        "PreferredMaintenanceWindow":{"shape":"String"},
2448        "TopicArn":{"shape":"String"},
2449        "Port":{"shape":"IntegerOptional"},
2450        "CacheParameterGroupName":{"shape":"String"},
2451        "CacheSubnetGroupName":{"shape":"String"},
2452        "VpcId":{"shape":"String"},
2453        "AutoMinorVersionUpgrade":{"shape":"Boolean"},
2454        "SnapshotRetentionLimit":{"shape":"IntegerOptional"},
2455        "SnapshotWindow":{"shape":"String"},
2456        "NumNodeGroups":{"shape":"IntegerOptional"},
2457        "AutomaticFailover":{"shape":"AutomaticFailoverStatus"},
2458        "NodeSnapshots":{"shape":"NodeSnapshotList"}
2459      },
2460      "wrapper":true
2461    },
2462    "SnapshotAlreadyExistsFault":{
2463      "type":"structure",
2464      "members":{
2465      },
2466      "error":{
2467        "code":"SnapshotAlreadyExistsFault",
2468        "httpStatusCode":400,
2469        "senderFault":true
2470      },
2471      "exception":true
2472    },
2473    "SnapshotArnsList":{
2474      "type":"list",
2475      "member":{
2476        "shape":"String",
2477        "locationName":"SnapshotArn"
2478      }
2479    },
2480    "SnapshotFeatureNotSupportedFault":{
2481      "type":"structure",
2482      "members":{
2483      },
2484      "error":{
2485        "code":"SnapshotFeatureNotSupportedFault",
2486        "httpStatusCode":400,
2487        "senderFault":true
2488      },
2489      "exception":true
2490    },
2491    "SnapshotList":{
2492      "type":"list",
2493      "member":{
2494        "shape":"Snapshot",
2495        "locationName":"Snapshot"
2496      }
2497    },
2498    "SnapshotNotFoundFault":{
2499      "type":"structure",
2500      "members":{
2501      },
2502      "error":{
2503        "code":"SnapshotNotFoundFault",
2504        "httpStatusCode":404,
2505        "senderFault":true
2506      },
2507      "exception":true
2508    },
2509    "SnapshotQuotaExceededFault":{
2510      "type":"structure",
2511      "members":{
2512      },
2513      "error":{
2514        "code":"SnapshotQuotaExceededFault",
2515        "httpStatusCode":400,
2516        "senderFault":true
2517      },
2518      "exception":true
2519    },
2520    "SourceType":{
2521      "type":"string",
2522      "enum":[
2523        "cache-cluster",
2524        "cache-parameter-group",
2525        "cache-security-group",
2526        "cache-subnet-group",
2527        "replication-group"
2528      ]
2529    },
2530    "String":{"type":"string"},
2531    "Subnet":{
2532      "type":"structure",
2533      "members":{
2534        "SubnetIdentifier":{"shape":"String"},
2535        "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}
2536      }
2537    },
2538    "SubnetIdentifierList":{
2539      "type":"list",
2540      "member":{
2541        "shape":"String",
2542        "locationName":"SubnetIdentifier"
2543      }
2544    },
2545    "SubnetInUse":{
2546      "type":"structure",
2547      "members":{
2548      },
2549      "error":{
2550        "code":"SubnetInUse",
2551        "httpStatusCode":400,
2552        "senderFault":true
2553      },
2554      "exception":true
2555    },
2556    "SubnetList":{
2557      "type":"list",
2558      "member":{
2559        "shape":"Subnet",
2560        "locationName":"Subnet"
2561      }
2562    },
2563    "TStamp":{"type":"timestamp"},
2564    "Tag":{
2565      "type":"structure",
2566      "members":{
2567        "Key":{"shape":"String"},
2568        "Value":{"shape":"String"}
2569      }
2570    },
2571    "TagList":{
2572      "type":"list",
2573      "member":{
2574        "shape":"Tag",
2575        "locationName":"Tag"
2576      }
2577    },
2578    "TagListMessage":{
2579      "type":"structure",
2580      "members":{
2581        "TagList":{"shape":"TagList"}
2582      }
2583    },
2584    "TagNotFoundFault":{
2585      "type":"structure",
2586      "members":{
2587      },
2588      "error":{
2589        "code":"TagNotFound",
2590        "httpStatusCode":404,
2591        "senderFault":true
2592      },
2593      "exception":true
2594    },
2595    "TagQuotaPerResourceExceeded":{
2596      "type":"structure",
2597      "members":{
2598      },
2599      "error":{
2600        "code":"TagQuotaPerResourceExceeded",
2601        "httpStatusCode":400,
2602        "senderFault":true
2603      },
2604      "exception":true
2605    },
2606    "TestFailoverMessage":{
2607      "type":"structure",
2608      "required":[
2609        "ReplicationGroupId",
2610        "NodeGroupId"
2611      ],
2612      "members":{
2613        "ReplicationGroupId":{"shape":"String"},
2614        "NodeGroupId":{"shape":"String"}
2615      }
2616    },
2617    "TestFailoverNotAvailableFault":{
2618      "type":"structure",
2619      "members":{
2620      },
2621      "error":{
2622        "code":"TestFailoverNotAvailableFault",
2623        "httpStatusCode":400,
2624        "senderFault":true
2625      },
2626      "exception":true
2627    },
2628    "TestFailoverResult":{
2629      "type":"structure",
2630      "members":{
2631        "ReplicationGroup":{"shape":"ReplicationGroup"}
2632      }
2633    }
2634  }
2635}
2636