• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2019-06-28",
5    "endpointPrefix":"savingsplans",
6    "globalEndpoint":"savingsplans.amazonaws.com",
7    "jsonVersion":"1.0",
8    "protocol":"rest-json",
9    "serviceAbbreviation":"AWSSavingsPlans",
10    "serviceFullName":"AWS Savings Plans",
11    "serviceId":"savingsplans",
12    "signatureVersion":"v4",
13    "uid":"savingsplans-2019-06-28"
14  },
15  "operations":{
16    "CreateSavingsPlan":{
17      "name":"CreateSavingsPlan",
18      "http":{
19        "method":"POST",
20        "requestUri":"/CreateSavingsPlan"
21      },
22      "input":{"shape":"CreateSavingsPlanRequest"},
23      "output":{"shape":"CreateSavingsPlanResponse"},
24      "errors":[
25        {"shape":"ResourceNotFoundException"},
26        {"shape":"ValidationException"},
27        {"shape":"InternalServerException"},
28        {"shape":"ServiceQuotaExceededException"}
29      ],
30      "documentation":"<p>Creates a Savings Plan.</p>"
31    },
32    "DeleteQueuedSavingsPlan":{
33      "name":"DeleteQueuedSavingsPlan",
34      "http":{
35        "method":"POST",
36        "requestUri":"/DeleteQueuedSavingsPlan"
37      },
38      "input":{"shape":"DeleteQueuedSavingsPlanRequest"},
39      "output":{"shape":"DeleteQueuedSavingsPlanResponse"},
40      "errors":[
41        {"shape":"ValidationException"},
42        {"shape":"ResourceNotFoundException"},
43        {"shape":"InternalServerException"},
44        {"shape":"ServiceQuotaExceededException"}
45      ],
46      "documentation":"<p>Deletes the queued purchase for the specified Savings Plan.</p>"
47    },
48    "DescribeSavingsPlanRates":{
49      "name":"DescribeSavingsPlanRates",
50      "http":{
51        "method":"POST",
52        "requestUri":"/DescribeSavingsPlanRates"
53      },
54      "input":{"shape":"DescribeSavingsPlanRatesRequest"},
55      "output":{"shape":"DescribeSavingsPlanRatesResponse"},
56      "errors":[
57        {"shape":"ResourceNotFoundException"},
58        {"shape":"ValidationException"}
59      ],
60      "documentation":"<p>Describes the specified Savings Plans rates.</p>"
61    },
62    "DescribeSavingsPlans":{
63      "name":"DescribeSavingsPlans",
64      "http":{
65        "method":"POST",
66        "requestUri":"/DescribeSavingsPlans"
67      },
68      "input":{"shape":"DescribeSavingsPlansRequest"},
69      "output":{"shape":"DescribeSavingsPlansResponse"},
70      "errors":[
71        {"shape":"InternalServerException"},
72        {"shape":"ValidationException"}
73      ],
74      "documentation":"<p>Describes the specified Savings Plans.</p>"
75    },
76    "DescribeSavingsPlansOfferingRates":{
77      "name":"DescribeSavingsPlansOfferingRates",
78      "http":{
79        "method":"POST",
80        "requestUri":"/DescribeSavingsPlansOfferingRates"
81      },
82      "input":{"shape":"DescribeSavingsPlansOfferingRatesRequest"},
83      "output":{"shape":"DescribeSavingsPlansOfferingRatesResponse"},
84      "errors":[
85        {"shape":"ValidationException"},
86        {"shape":"InternalServerException"}
87      ],
88      "documentation":"<p>Describes the specified Savings Plans offering rates.</p>"
89    },
90    "DescribeSavingsPlansOfferings":{
91      "name":"DescribeSavingsPlansOfferings",
92      "http":{
93        "method":"POST",
94        "requestUri":"/DescribeSavingsPlansOfferings"
95      },
96      "input":{"shape":"DescribeSavingsPlansOfferingsRequest"},
97      "output":{"shape":"DescribeSavingsPlansOfferingsResponse"},
98      "errors":[
99        {"shape":"ValidationException"},
100        {"shape":"InternalServerException"}
101      ],
102      "documentation":"<p>Describes the specified Savings Plans offerings.</p>"
103    },
104    "ListTagsForResource":{
105      "name":"ListTagsForResource",
106      "http":{
107        "method":"POST",
108        "requestUri":"/ListTagsForResource"
109      },
110      "input":{"shape":"ListTagsForResourceRequest"},
111      "output":{"shape":"ListTagsForResourceResponse"},
112      "errors":[
113        {"shape":"ResourceNotFoundException"},
114        {"shape":"ValidationException"},
115        {"shape":"InternalServerException"}
116      ],
117      "documentation":"<p>Lists the tags for the specified resource.</p>"
118    },
119    "TagResource":{
120      "name":"TagResource",
121      "http":{
122        "method":"POST",
123        "requestUri":"/TagResource"
124      },
125      "input":{"shape":"TagResourceRequest"},
126      "output":{"shape":"TagResourceResponse"},
127      "errors":[
128        {"shape":"ResourceNotFoundException"},
129        {"shape":"ServiceQuotaExceededException"},
130        {"shape":"ValidationException"},
131        {"shape":"InternalServerException"}
132      ],
133      "documentation":"<p>Adds the specified tags to the specified resource.</p>"
134    },
135    "UntagResource":{
136      "name":"UntagResource",
137      "http":{
138        "method":"POST",
139        "requestUri":"/UntagResource"
140      },
141      "input":{"shape":"UntagResourceRequest"},
142      "output":{"shape":"UntagResourceResponse"},
143      "errors":[
144        {"shape":"ResourceNotFoundException"},
145        {"shape":"ValidationException"},
146        {"shape":"InternalServerException"}
147      ],
148      "documentation":"<p>Removes the specified tags from the specified resource.</p>"
149    }
150  },
151  "shapes":{
152    "Amount":{"type":"string"},
153    "ClientToken":{"type":"string"},
154    "CreateSavingsPlanRequest":{
155      "type":"structure",
156      "required":[
157        "savingsPlanOfferingId",
158        "commitment"
159      ],
160      "members":{
161        "savingsPlanOfferingId":{
162          "shape":"SavingsPlanOfferingId",
163          "documentation":"<p>The ID of the offering.</p>"
164        },
165        "commitment":{
166          "shape":"Amount",
167          "documentation":"<p>The hourly commitment, in USD. This is a value between 0.001 and 1 million. You cannot specify more than five digits after the decimal point.</p>"
168        },
169        "upfrontPaymentAmount":{
170          "shape":"Amount",
171          "documentation":"<p>The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. This parameter is supported only if the payment option is <code>Partial Upfront</code>.</p>"
172        },
173        "purchaseTime":{
174          "shape":"DateTime",
175          "documentation":"<p>The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ).</p>"
176        },
177        "clientToken":{
178          "shape":"ClientToken",
179          "documentation":"<p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
180          "idempotencyToken":true
181        },
182        "tags":{
183          "shape":"TagMap",
184          "documentation":"<p>One or more tags.</p>"
185        }
186      }
187    },
188    "CreateSavingsPlanResponse":{
189      "type":"structure",
190      "members":{
191        "savingsPlanId":{
192          "shape":"SavingsPlanId",
193          "documentation":"<p>The ID of the Savings Plan.</p>"
194        }
195      }
196    },
197    "CurrencyCode":{
198      "type":"string",
199      "enum":[
200        "CNY",
201        "USD"
202      ]
203    },
204    "CurrencyList":{
205      "type":"list",
206      "member":{"shape":"CurrencyCode"}
207    },
208    "DateTime":{"type":"timestamp"},
209    "DeleteQueuedSavingsPlanRequest":{
210      "type":"structure",
211      "required":["savingsPlanId"],
212      "members":{
213        "savingsPlanId":{
214          "shape":"SavingsPlanId",
215          "documentation":"<p>The ID of the Savings Plan.</p>"
216        }
217      }
218    },
219    "DeleteQueuedSavingsPlanResponse":{
220      "type":"structure",
221      "members":{
222      }
223    },
224    "DescribeSavingsPlanRatesRequest":{
225      "type":"structure",
226      "required":["savingsPlanId"],
227      "members":{
228        "savingsPlanId":{
229          "shape":"SavingsPlanId",
230          "documentation":"<p>The ID of the Savings Plan.</p>"
231        },
232        "filters":{
233          "shape":"SavingsPlanRateFilterList",
234          "documentation":"<p>The filters.</p>"
235        },
236        "nextToken":{
237          "shape":"PaginationToken",
238          "documentation":"<p>The token for the next page of results.</p>"
239        },
240        "maxResults":{
241          "shape":"MaxResults",
242          "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>"
243        }
244      }
245    },
246    "DescribeSavingsPlanRatesResponse":{
247      "type":"structure",
248      "members":{
249        "savingsPlanId":{
250          "shape":"SavingsPlanId",
251          "documentation":"<p>The ID of the Savings Plan.</p>"
252        },
253        "searchResults":{
254          "shape":"SavingsPlanRateList",
255          "documentation":"<p>Information about the Savings Plans rates.</p>"
256        },
257        "nextToken":{
258          "shape":"PaginationToken",
259          "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>"
260        }
261      }
262    },
263    "DescribeSavingsPlansOfferingRatesRequest":{
264      "type":"structure",
265      "members":{
266        "savingsPlanOfferingIds":{
267          "shape":"UUIDs",
268          "documentation":"<p>The IDs of the offerings.</p>"
269        },
270        "savingsPlanPaymentOptions":{
271          "shape":"SavingsPlanPaymentOptionList",
272          "documentation":"<p>The payment options.</p>"
273        },
274        "savingsPlanTypes":{
275          "shape":"SavingsPlanTypeList",
276          "documentation":"<p>The plan types.</p>"
277        },
278        "products":{
279          "shape":"SavingsPlanProductTypeList",
280          "documentation":"<p>The AWS products.</p>"
281        },
282        "serviceCodes":{
283          "shape":"SavingsPlanRateServiceCodeList",
284          "documentation":"<p>The services.</p>"
285        },
286        "usageTypes":{
287          "shape":"SavingsPlanRateUsageTypeList",
288          "documentation":"<p>The usage details of the line item in the billing report.</p>"
289        },
290        "operations":{
291          "shape":"SavingsPlanRateOperationList",
292          "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>"
293        },
294        "filters":{
295          "shape":"SavingsPlanOfferingRateFiltersList",
296          "documentation":"<p>The filters.</p>"
297        },
298        "nextToken":{
299          "shape":"PaginationToken",
300          "documentation":"<p>The token for the next page of results.</p>"
301        },
302        "maxResults":{
303          "shape":"PageSize",
304          "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>"
305        }
306      }
307    },
308    "DescribeSavingsPlansOfferingRatesResponse":{
309      "type":"structure",
310      "members":{
311        "searchResults":{
312          "shape":"SavingsPlanOfferingRatesList",
313          "documentation":"<p>Information about the Savings Plans offering rates.</p>"
314        },
315        "nextToken":{
316          "shape":"PaginationToken",
317          "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>"
318        }
319      }
320    },
321    "DescribeSavingsPlansOfferingsRequest":{
322      "type":"structure",
323      "members":{
324        "offeringIds":{
325          "shape":"UUIDs",
326          "documentation":"<p>The IDs of the offerings.</p>"
327        },
328        "paymentOptions":{
329          "shape":"SavingsPlanPaymentOptionList",
330          "documentation":"<p>The payment options.</p>"
331        },
332        "productType":{
333          "shape":"SavingsPlanProductType",
334          "documentation":"<p>The product type.</p>"
335        },
336        "planTypes":{
337          "shape":"SavingsPlanTypeList",
338          "documentation":"<p>The plan type.</p>"
339        },
340        "durations":{
341          "shape":"DurationsList",
342          "documentation":"<p>The durations, in seconds.</p>"
343        },
344        "currencies":{
345          "shape":"CurrencyList",
346          "documentation":"<p>The currencies.</p>"
347        },
348        "descriptions":{
349          "shape":"SavingsPlanDescriptionsList",
350          "documentation":"<p>The descriptions.</p>"
351        },
352        "serviceCodes":{
353          "shape":"SavingsPlanServiceCodeList",
354          "documentation":"<p>The services.</p>"
355        },
356        "usageTypes":{
357          "shape":"SavingsPlanUsageTypeList",
358          "documentation":"<p>The usage details of the line item in the billing report.</p>"
359        },
360        "operations":{
361          "shape":"SavingsPlanOperationList",
362          "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>"
363        },
364        "filters":{
365          "shape":"SavingsPlanOfferingFiltersList",
366          "documentation":"<p>The filters.</p>"
367        },
368        "nextToken":{
369          "shape":"PaginationToken",
370          "documentation":"<p>The token for the next page of results.</p>"
371        },
372        "maxResults":{
373          "shape":"PageSize",
374          "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>"
375        }
376      }
377    },
378    "DescribeSavingsPlansOfferingsResponse":{
379      "type":"structure",
380      "members":{
381        "searchResults":{
382          "shape":"SavingsPlanOfferingsList",
383          "documentation":"<p>Information about the Savings Plans offerings.</p>"
384        },
385        "nextToken":{
386          "shape":"PaginationToken",
387          "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>"
388        }
389      }
390    },
391    "DescribeSavingsPlansRequest":{
392      "type":"structure",
393      "members":{
394        "savingsPlanArns":{
395          "shape":"SavingsPlanArnList",
396          "documentation":"<p>The Amazon Resource Names (ARN) of the Savings Plans.</p>"
397        },
398        "savingsPlanIds":{
399          "shape":"SavingsPlanIdList",
400          "documentation":"<p>The IDs of the Savings Plans.</p>"
401        },
402        "nextToken":{
403          "shape":"PaginationToken",
404          "documentation":"<p>The token for the next page of results.</p>"
405        },
406        "maxResults":{
407          "shape":"MaxResults",
408          "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>"
409        },
410        "states":{
411          "shape":"SavingsPlanStateList",
412          "documentation":"<p>The states.</p>"
413        },
414        "filters":{
415          "shape":"SavingsPlanFilterList",
416          "documentation":"<p>The filters.</p>"
417        }
418      }
419    },
420    "DescribeSavingsPlansResponse":{
421      "type":"structure",
422      "members":{
423        "savingsPlans":{
424          "shape":"SavingsPlanList",
425          "documentation":"<p>Information about the Savings Plans.</p>"
426        },
427        "nextToken":{
428          "shape":"PaginationToken",
429          "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>"
430        }
431      }
432    },
433    "DurationsList":{
434      "type":"list",
435      "member":{"shape":"SavingsPlansDuration"}
436    },
437    "EC2InstanceFamily":{"type":"string"},
438    "FilterValuesList":{
439      "type":"list",
440      "member":{"shape":"JsonSafeFilterValueString"}
441    },
442    "InternalServerException":{
443      "type":"structure",
444      "required":["message"],
445      "members":{
446        "message":{"shape":"String"}
447      },
448      "documentation":"<p>An unexpected error occurred.</p>",
449      "error":{"httpStatusCode":500},
450      "exception":true
451    },
452    "JsonSafeFilterValueString":{
453      "type":"string",
454      "pattern":"^[a-zA-Z0-9_ \\/.\\:\\-\\(\\)]+$"
455    },
456    "ListOfStrings":{
457      "type":"list",
458      "member":{"shape":"String"}
459    },
460    "ListTagsForResourceRequest":{
461      "type":"structure",
462      "required":["resourceArn"],
463      "members":{
464        "resourceArn":{
465          "shape":"SavingsPlanArn",
466          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>"
467        }
468      }
469    },
470    "ListTagsForResourceResponse":{
471      "type":"structure",
472      "members":{
473        "tags":{
474          "shape":"TagMap",
475          "documentation":"<p>Information about the tags.</p>"
476        }
477      }
478    },
479    "MaxResults":{
480      "type":"integer",
481      "max":1000,
482      "min":1
483    },
484    "PageSize":{
485      "type":"integer",
486      "max":1000,
487      "min":0
488    },
489    "PaginationToken":{
490      "type":"string",
491      "max":1024,
492      "pattern":"^[A-Za-z0-9/=\\+]+$"
493    },
494    "ParentSavingsPlanOffering":{
495      "type":"structure",
496      "members":{
497        "offeringId":{
498          "shape":"UUID",
499          "documentation":"<p>The ID of the offering.</p>"
500        },
501        "paymentOption":{
502          "shape":"SavingsPlanPaymentOption",
503          "documentation":"<p>The payment option.</p>"
504        },
505        "planType":{
506          "shape":"SavingsPlanType",
507          "documentation":"<p>The plan type.</p>"
508        },
509        "durationSeconds":{
510          "shape":"SavingsPlansDuration",
511          "documentation":"<p>The duration, in seconds.</p>"
512        },
513        "currency":{
514          "shape":"CurrencyCode",
515          "documentation":"<p>The currency.</p>"
516        },
517        "planDescription":{
518          "shape":"SavingsPlanDescription",
519          "documentation":"<p>The description.</p>"
520        }
521      },
522      "documentation":"<p>Information about a Savings Plan offering.</p>"
523    },
524    "Region":{"type":"string"},
525    "ResourceNotFoundException":{
526      "type":"structure",
527      "required":["message"],
528      "members":{
529        "message":{"shape":"String"}
530      },
531      "documentation":"<p>The specified resource was not found.</p>",
532      "error":{"httpStatusCode":404},
533      "exception":true
534    },
535    "SavingsPlan":{
536      "type":"structure",
537      "members":{
538        "offeringId":{
539          "shape":"SavingsPlanOfferingId",
540          "documentation":"<p>The ID of the offering.</p>"
541        },
542        "savingsPlanId":{
543          "shape":"SavingsPlanId",
544          "documentation":"<p>The ID of the Savings Plan.</p>"
545        },
546        "savingsPlanArn":{
547          "shape":"SavingsPlanArn",
548          "documentation":"<p>The Amazon Resource Name (ARN) of the Savings Plan.</p>"
549        },
550        "description":{
551          "shape":"String",
552          "documentation":"<p>The description.</p>"
553        },
554        "start":{
555          "shape":"String",
556          "documentation":"<p>The start time.</p>"
557        },
558        "end":{
559          "shape":"String",
560          "documentation":"<p>The end time.</p>"
561        },
562        "state":{
563          "shape":"SavingsPlanState",
564          "documentation":"<p>The state.</p>"
565        },
566        "region":{
567          "shape":"Region",
568          "documentation":"<p>The AWS Region.</p>"
569        },
570        "ec2InstanceFamily":{
571          "shape":"EC2InstanceFamily",
572          "documentation":"<p>The EC2 instance family.</p>"
573        },
574        "savingsPlanType":{
575          "shape":"SavingsPlanType",
576          "documentation":"<p>The plan type.</p>"
577        },
578        "paymentOption":{
579          "shape":"SavingsPlanPaymentOption",
580          "documentation":"<p>The payment option.</p>"
581        },
582        "productTypes":{
583          "shape":"SavingsPlanProductTypeList",
584          "documentation":"<p>The product types.</p>"
585        },
586        "currency":{
587          "shape":"CurrencyCode",
588          "documentation":"<p>The currency.</p>"
589        },
590        "commitment":{
591          "shape":"Amount",
592          "documentation":"<p>The hourly commitment, in USD.</p>"
593        },
594        "upfrontPaymentAmount":{
595          "shape":"Amount",
596          "documentation":"<p>The up-front payment amount.</p>"
597        },
598        "recurringPaymentAmount":{
599          "shape":"Amount",
600          "documentation":"<p>The recurring payment amount.</p>"
601        },
602        "termDurationInSeconds":{
603          "shape":"TermDurationInSeconds",
604          "documentation":"<p>The duration of the term, in seconds.</p>"
605        },
606        "tags":{
607          "shape":"TagMap",
608          "documentation":"<p>One or more tags.</p>"
609        }
610      },
611      "documentation":"<p>Information about a Savings Plan.</p>"
612    },
613    "SavingsPlanArn":{
614      "type":"string",
615      "pattern":"arn:aws:[a-z]+:([a-z]{2}-[a-z]+-\\d{1}|):(\\d{12}):savingsplan\\/([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$"
616    },
617    "SavingsPlanArnList":{
618      "type":"list",
619      "member":{"shape":"SavingsPlanArn"},
620      "max":100
621    },
622    "SavingsPlanDescription":{
623      "type":"string",
624      "pattern":"^[a-zA-Z0-9_\\- ]+$"
625    },
626    "SavingsPlanDescriptionsList":{
627      "type":"list",
628      "member":{"shape":"SavingsPlanDescription"}
629    },
630    "SavingsPlanFilter":{
631      "type":"structure",
632      "members":{
633        "name":{
634          "shape":"SavingsPlansFilterName",
635          "documentation":"<p>The filter name.</p>"
636        },
637        "values":{
638          "shape":"ListOfStrings",
639          "documentation":"<p>The filter value.</p>"
640        }
641      },
642      "documentation":"<p>Information about a filter.</p>"
643    },
644    "SavingsPlanFilterList":{
645      "type":"list",
646      "member":{"shape":"SavingsPlanFilter"}
647    },
648    "SavingsPlanId":{"type":"string"},
649    "SavingsPlanIdList":{
650      "type":"list",
651      "member":{"shape":"SavingsPlanId"}
652    },
653    "SavingsPlanList":{
654      "type":"list",
655      "member":{"shape":"SavingsPlan"}
656    },
657    "SavingsPlanOffering":{
658      "type":"structure",
659      "members":{
660        "offeringId":{
661          "shape":"UUID",
662          "documentation":"<p>The ID of the offering.</p>"
663        },
664        "productTypes":{
665          "shape":"SavingsPlanProductTypeList",
666          "documentation":"<p>The product type.</p>"
667        },
668        "planType":{
669          "shape":"SavingsPlanType",
670          "documentation":"<p>The plan type.</p>"
671        },
672        "description":{
673          "shape":"SavingsPlanDescription",
674          "documentation":"<p>The description.</p>"
675        },
676        "paymentOption":{
677          "shape":"SavingsPlanPaymentOption",
678          "documentation":"<p>The payment option.</p>"
679        },
680        "durationSeconds":{
681          "shape":"SavingsPlansDuration",
682          "documentation":"<p>The duration, in seconds.</p>"
683        },
684        "currency":{
685          "shape":"CurrencyCode",
686          "documentation":"<p>The currency.</p>"
687        },
688        "serviceCode":{
689          "shape":"SavingsPlanServiceCode",
690          "documentation":"<p>The service.</p>"
691        },
692        "usageType":{
693          "shape":"SavingsPlanUsageType",
694          "documentation":"<p>The usage details of the line item in the billing report.</p>"
695        },
696        "operation":{
697          "shape":"SavingsPlanOperation",
698          "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>"
699        },
700        "properties":{
701          "shape":"SavingsPlanOfferingPropertyList",
702          "documentation":"<p>The properties.</p>"
703        }
704      },
705      "documentation":"<p>Information about a Savings Plan offering.</p>"
706    },
707    "SavingsPlanOfferingFilterAttribute":{
708      "type":"string",
709      "enum":[
710        "region",
711        "instanceFamily"
712      ]
713    },
714    "SavingsPlanOfferingFilterElement":{
715      "type":"structure",
716      "members":{
717        "name":{
718          "shape":"SavingsPlanOfferingFilterAttribute",
719          "documentation":"<p>The filter name.</p>"
720        },
721        "values":{
722          "shape":"FilterValuesList",
723          "documentation":"<p>The filter values.</p>"
724        }
725      },
726      "documentation":"<p>Information about a filter.</p>"
727    },
728    "SavingsPlanOfferingFiltersList":{
729      "type":"list",
730      "member":{"shape":"SavingsPlanOfferingFilterElement"}
731    },
732    "SavingsPlanOfferingId":{"type":"string"},
733    "SavingsPlanOfferingProperty":{
734      "type":"structure",
735      "members":{
736        "name":{
737          "shape":"SavingsPlanOfferingPropertyKey",
738          "documentation":"<p>The property name.</p>"
739        },
740        "value":{
741          "shape":"JsonSafeFilterValueString",
742          "documentation":"<p>The property value.</p>"
743        }
744      },
745      "documentation":"<p>Information about a property.</p>"
746    },
747    "SavingsPlanOfferingPropertyKey":{
748      "type":"string",
749      "enum":[
750        "region",
751        "instanceFamily"
752      ]
753    },
754    "SavingsPlanOfferingPropertyList":{
755      "type":"list",
756      "member":{"shape":"SavingsPlanOfferingProperty"}
757    },
758    "SavingsPlanOfferingRate":{
759      "type":"structure",
760      "members":{
761        "savingsPlanOffering":{
762          "shape":"ParentSavingsPlanOffering",
763          "documentation":"<p>The Savings Plan offering.</p>"
764        },
765        "rate":{
766          "shape":"SavingsPlanRatePricePerUnit",
767          "documentation":"<p>The Savings Plan rate.</p>"
768        },
769        "unit":{
770          "shape":"SavingsPlanRateUnit",
771          "documentation":"<p>The unit.</p>"
772        },
773        "productType":{
774          "shape":"SavingsPlanProductType",
775          "documentation":"<p>The product type.</p>"
776        },
777        "serviceCode":{
778          "shape":"SavingsPlanRateServiceCode",
779          "documentation":"<p>The service.</p>"
780        },
781        "usageType":{
782          "shape":"SavingsPlanRateUsageType",
783          "documentation":"<p>The usage details of the line item in the billing report.</p>"
784        },
785        "operation":{
786          "shape":"SavingsPlanRateOperation",
787          "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>"
788        },
789        "properties":{
790          "shape":"SavingsPlanOfferingRatePropertyList",
791          "documentation":"<p>The properties.</p>"
792        }
793      },
794      "documentation":"<p>Information about a Savings Plan offering rate.</p>"
795    },
796    "SavingsPlanOfferingRateFilterElement":{
797      "type":"structure",
798      "members":{
799        "name":{
800          "shape":"SavingsPlanRateFilterAttribute",
801          "documentation":"<p>The filter name.</p>"
802        },
803        "values":{
804          "shape":"FilterValuesList",
805          "documentation":"<p>The filter values.</p>"
806        }
807      },
808      "documentation":"<p>Information about a filter.</p>"
809    },
810    "SavingsPlanOfferingRateFiltersList":{
811      "type":"list",
812      "member":{"shape":"SavingsPlanOfferingRateFilterElement"}
813    },
814    "SavingsPlanOfferingRateProperty":{
815      "type":"structure",
816      "members":{
817        "name":{
818          "shape":"JsonSafeFilterValueString",
819          "documentation":"<p>The property name.</p>"
820        },
821        "value":{
822          "shape":"JsonSafeFilterValueString",
823          "documentation":"<p>The property value.</p>"
824        }
825      },
826      "documentation":"<p>Information about a property.</p>"
827    },
828    "SavingsPlanOfferingRatePropertyList":{
829      "type":"list",
830      "member":{"shape":"SavingsPlanOfferingRateProperty"}
831    },
832    "SavingsPlanOfferingRatesList":{
833      "type":"list",
834      "member":{"shape":"SavingsPlanOfferingRate"}
835    },
836    "SavingsPlanOfferingsList":{
837      "type":"list",
838      "member":{"shape":"SavingsPlanOffering"}
839    },
840    "SavingsPlanOperation":{
841      "type":"string",
842      "max":255,
843      "pattern":"^[a-zA-Z0-9_ \\/.:-]*$"
844    },
845    "SavingsPlanOperationList":{
846      "type":"list",
847      "member":{"shape":"SavingsPlanOperation"}
848    },
849    "SavingsPlanPaymentOption":{
850      "type":"string",
851      "enum":[
852        "All Upfront",
853        "Partial Upfront",
854        "No Upfront"
855      ]
856    },
857    "SavingsPlanPaymentOptionList":{
858      "type":"list",
859      "member":{"shape":"SavingsPlanPaymentOption"}
860    },
861    "SavingsPlanProductType":{
862      "type":"string",
863      "enum":[
864        "EC2",
865        "Fargate",
866        "Lambda",
867        "SageMaker"
868      ]
869    },
870    "SavingsPlanProductTypeList":{
871      "type":"list",
872      "member":{"shape":"SavingsPlanProductType"}
873    },
874    "SavingsPlanRate":{
875      "type":"structure",
876      "members":{
877        "rate":{
878          "shape":"Amount",
879          "documentation":"<p>The rate.</p>"
880        },
881        "currency":{
882          "shape":"CurrencyCode",
883          "documentation":"<p>The currency.</p>"
884        },
885        "unit":{
886          "shape":"SavingsPlanRateUnit",
887          "documentation":"<p>The unit.</p>"
888        },
889        "productType":{
890          "shape":"SavingsPlanProductType",
891          "documentation":"<p>The product type.</p>"
892        },
893        "serviceCode":{
894          "shape":"SavingsPlanRateServiceCode",
895          "documentation":"<p>The service.</p>"
896        },
897        "usageType":{
898          "shape":"SavingsPlanRateUsageType",
899          "documentation":"<p>The usage details of the line item in the billing report.</p>"
900        },
901        "operation":{
902          "shape":"SavingsPlanRateOperation",
903          "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>"
904        },
905        "properties":{
906          "shape":"SavingsPlanRatePropertyList",
907          "documentation":"<p>The properties.</p>"
908        }
909      },
910      "documentation":"<p>Information about a Savings Plan rate.</p>"
911    },
912    "SavingsPlanRateFilter":{
913      "type":"structure",
914      "members":{
915        "name":{
916          "shape":"SavingsPlanRateFilterName",
917          "documentation":"<p>The filter name.</p>"
918        },
919        "values":{
920          "shape":"ListOfStrings",
921          "documentation":"<p>The filter values.</p>"
922        }
923      },
924      "documentation":"<p>Information about a filter.</p>"
925    },
926    "SavingsPlanRateFilterAttribute":{
927      "type":"string",
928      "enum":[
929        "region",
930        "instanceFamily",
931        "instanceType",
932        "productDescription",
933        "tenancy",
934        "productId"
935      ]
936    },
937    "SavingsPlanRateFilterList":{
938      "type":"list",
939      "member":{"shape":"SavingsPlanRateFilter"}
940    },
941    "SavingsPlanRateFilterName":{
942      "type":"string",
943      "enum":[
944        "region",
945        "instanceType",
946        "productDescription",
947        "tenancy",
948        "productType",
949        "serviceCode",
950        "usageType",
951        "operation"
952      ]
953    },
954    "SavingsPlanRateList":{
955      "type":"list",
956      "member":{"shape":"SavingsPlanRate"}
957    },
958    "SavingsPlanRateOperation":{
959      "type":"string",
960      "max":255,
961      "pattern":"^[a-zA-Z0-9_ \\/.:-]*$"
962    },
963    "SavingsPlanRateOperationList":{
964      "type":"list",
965      "member":{"shape":"SavingsPlanRateOperation"}
966    },
967    "SavingsPlanRatePricePerUnit":{"type":"string"},
968    "SavingsPlanRateProperty":{
969      "type":"structure",
970      "members":{
971        "name":{
972          "shape":"SavingsPlanRatePropertyKey",
973          "documentation":"<p>The property name.</p>"
974        },
975        "value":{
976          "shape":"JsonSafeFilterValueString",
977          "documentation":"<p>The property value.</p>"
978        }
979      },
980      "documentation":"<p>Information about a property.</p>"
981    },
982    "SavingsPlanRatePropertyKey":{
983      "type":"string",
984      "enum":[
985        "region",
986        "instanceType",
987        "instanceFamily",
988        "productDescription",
989        "tenancy"
990      ]
991    },
992    "SavingsPlanRatePropertyList":{
993      "type":"list",
994      "member":{"shape":"SavingsPlanRateProperty"}
995    },
996    "SavingsPlanRateServiceCode":{
997      "type":"string",
998      "enum":[
999        "AmazonEC2",
1000        "AmazonECS",
1001        "AmazonEKS",
1002        "AWSLambda",
1003        "AmazonSageMaker"
1004      ]
1005    },
1006    "SavingsPlanRateServiceCodeList":{
1007      "type":"list",
1008      "member":{"shape":"SavingsPlanRateServiceCode"}
1009    },
1010    "SavingsPlanRateUnit":{
1011      "type":"string",
1012      "enum":[
1013        "Hrs",
1014        "Lambda-GB-Second",
1015        "Request"
1016      ]
1017    },
1018    "SavingsPlanRateUsageType":{
1019      "type":"string",
1020      "max":255,
1021      "pattern":"^[a-zA-Z0-9_ \\/.:-]+$"
1022    },
1023    "SavingsPlanRateUsageTypeList":{
1024      "type":"list",
1025      "member":{"shape":"SavingsPlanRateUsageType"}
1026    },
1027    "SavingsPlanServiceCode":{
1028      "type":"string",
1029      "max":255,
1030      "pattern":"^[a-zA-Z]+$"
1031    },
1032    "SavingsPlanServiceCodeList":{
1033      "type":"list",
1034      "member":{"shape":"SavingsPlanServiceCode"}
1035    },
1036    "SavingsPlanState":{
1037      "type":"string",
1038      "enum":[
1039        "payment-pending",
1040        "payment-failed",
1041        "active",
1042        "retired",
1043        "queued",
1044        "queued-deleted"
1045      ]
1046    },
1047    "SavingsPlanStateList":{
1048      "type":"list",
1049      "member":{"shape":"SavingsPlanState"}
1050    },
1051    "SavingsPlanType":{
1052      "type":"string",
1053      "enum":[
1054        "Compute",
1055        "EC2Instance",
1056        "SageMaker"
1057      ]
1058    },
1059    "SavingsPlanTypeList":{
1060      "type":"list",
1061      "member":{"shape":"SavingsPlanType"}
1062    },
1063    "SavingsPlanUsageType":{
1064      "type":"string",
1065      "max":255,
1066      "pattern":"^[a-zA-Z0-9_ \\/.:-]+$"
1067    },
1068    "SavingsPlanUsageTypeList":{
1069      "type":"list",
1070      "member":{"shape":"SavingsPlanUsageType"}
1071    },
1072    "SavingsPlansDuration":{
1073      "type":"long",
1074      "min":0
1075    },
1076    "SavingsPlansFilterName":{
1077      "type":"string",
1078      "enum":[
1079        "region",
1080        "ec2-instance-family",
1081        "commitment",
1082        "upfront",
1083        "term",
1084        "savings-plan-type",
1085        "payment-option",
1086        "start",
1087        "end"
1088      ]
1089    },
1090    "ServiceQuotaExceededException":{
1091      "type":"structure",
1092      "required":["message"],
1093      "members":{
1094        "message":{"shape":"String"}
1095      },
1096      "documentation":"<p>A service quota has been exceeded.</p>",
1097      "error":{"httpStatusCode":402},
1098      "exception":true
1099    },
1100    "String":{"type":"string"},
1101    "TagKey":{"type":"string"},
1102    "TagKeyList":{
1103      "type":"list",
1104      "member":{"shape":"TagKey"}
1105    },
1106    "TagMap":{
1107      "type":"map",
1108      "key":{"shape":"TagKey"},
1109      "value":{"shape":"TagValue"}
1110    },
1111    "TagResourceRequest":{
1112      "type":"structure",
1113      "required":[
1114        "resourceArn",
1115        "tags"
1116      ],
1117      "members":{
1118        "resourceArn":{
1119          "shape":"SavingsPlanArn",
1120          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>"
1121        },
1122        "tags":{
1123          "shape":"TagMap",
1124          "documentation":"<p>One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.</p>"
1125        }
1126      }
1127    },
1128    "TagResourceResponse":{
1129      "type":"structure",
1130      "members":{
1131      }
1132    },
1133    "TagValue":{"type":"string"},
1134    "TermDurationInSeconds":{"type":"long"},
1135    "UUID":{
1136      "type":"string",
1137      "pattern":"[a-f0-9]+(-[a-f0-9]+)*"
1138    },
1139    "UUIDs":{
1140      "type":"list",
1141      "member":{"shape":"UUID"}
1142    },
1143    "UntagResourceRequest":{
1144      "type":"structure",
1145      "required":[
1146        "resourceArn",
1147        "tagKeys"
1148      ],
1149      "members":{
1150        "resourceArn":{
1151          "shape":"SavingsPlanArn",
1152          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>"
1153        },
1154        "tagKeys":{
1155          "shape":"TagKeyList",
1156          "documentation":"<p>The tag keys.</p>"
1157        }
1158      }
1159    },
1160    "UntagResourceResponse":{
1161      "type":"structure",
1162      "members":{
1163      }
1164    },
1165    "ValidationException":{
1166      "type":"structure",
1167      "required":["message"],
1168      "members":{
1169        "message":{"shape":"String"}
1170      },
1171      "documentation":"<p>One of the input parameters is not valid.</p>",
1172      "error":{"httpStatusCode":400},
1173      "exception":true
1174    }
1175  },
1176  "documentation":"<p>Savings Plans are a pricing model that offer significant savings on AWS usage (for example, on Amazon EC2 instances). You commit to a consistent amount of usage, in USD per hour, for a term of 1 or 3 years, and receive a lower price for that usage. For more information, see the <a href=\"https://docs.aws.amazon.com/savingsplans/latest/userguide/\">AWS Savings Plans User Guide</a>.</p>"
1177}
1178